编程十年 (6):虚荣的C

编程十年 (6):虚荣的C

高二的暑假里,我带着自己写的一些程序跑到发小儿家里显摆。他家里也买了电脑,其实他家的经济状况还不如我家,但因为比我晚买了半年,所以价钱便宜了将近一千块钱!性能也提升了不少,我的机器是赛扬366的CPU,14寸球面显示器;而他买的电脑配的是PII450 CPU,显示器也是17寸纯平的。那是新世纪的开始,正是计算机飞速普及和疯狂贬值的年代。

正是在他家里,我才第一次知道,虽然VB程序编译出来也是exe文件,但在没有安装VB的机器上也是不能运行的(后来知道,缺少的其实只是msvbvm.dll这个运行库)。还好QBasic是DOS自带的,而Windows 98又自带了一套DOS系统。无奈之下,只能给他秀一下QB写的一些东西。

谁知道这孙子明知道编程是个挺牛逼的活儿,还故作蛋定,一脸找抽地告诉我,你这个不牛逼,人家牛逼的人都用C语言。其实他甚至不知道编程语言是什么玩意儿,但不知道从哪听来的“C语言”,却正戳中我的软肋。那时的我并不知道编程的精髓在于算法、结构、模式乃至编程思想,而编程语言只是表达这些内涵和将其转变为产品的工具而已。我只知道,在学校里,会一门Basic语言就挺牛逼的,可以让虚荣心和成就感极度膨胀;而在学校外面,还有一种未知的、更牛逼的名叫“C语言”的语言,使我的虚荣心受到强烈打击。

为了“更牛逼”,我决定开始学习C语言。

和学Basic的时候一样,我认为首先要做的是买一本书看。在书店反复斟酌(当然,斟酌的不是书的质量,而是口袋里的银子)之后,我买了一本计算机二级考试的C语言教材。

人类在接触任何新事物的时候,总是会充满恐惧,有抵触心理。我也一样。其实我本打算利用暑假把整本书看完的,毕竟这是一本很薄的书。但是才开个头儿就看不下去了,因为VB的语法已经在我脑海里深深扎根,所以我很难接受C语言的一些写法。凭什么非得#include<stdio.h>才能调用我最熟悉的print(注:此处没笔误)啊?好好的PRINT干嘛非要写成printf啊?变量名凭什么区分大小写啊?程序凭什么不从第一行开始执行,非要写个main函数啊……

于是很快我就丢掉了书,回到了Basic的怀抱,整日与电脑为伍。直到快开学了,补作业。

再开学就高三了,传说中的毕业班。我爸看到我假期里在电脑前废寝忘食的操(注:读一声)行,不由得非常之紧张;虽然他不知道编程和玩游戏的区别,但他很清楚在这上面搞的玩意儿高考是用不到的。所以,一开学就给我定了个规矩,今后只能周末用电脑,平时必须学习课堂知识;为了让我认真履行这个规矩,他还把主机箱拆下来放到他的床底下……

虽然在学习编程时,手边有一台计算机是很方便的,但有的时候,适当地离开计算机,看看书、在草稿纸上写写程序反而更有助于提高。

于是,为了我的虚荣心,我又一次开始了编程语言的学习历程,依然是看纸质书(并且只有一本),在纸上用笔写代码,只不过这时开始用水笔了,不再用铅笔了。至于学习时间,我选择了晚自习时间——为此,可是放弃了每天2个小时的娱乐时间啊……

不过,这简直是有百利而无一害,既避免了堕落,还学习了编程;更重要的是,让我能够攒下一些零用钱,有了腐败(上班后学到的一个词,指出去大吃大喝)的资本。那个时候已经学会了喝酒,而且自打高二下半学期以来,我学会了故作深沉、忧郁和无病呻吟。所以比起玩游戏,我更喜欢和哥们儿一起坐在马路边,吃一把羊肉串,喝几瓶啤酒。

奇怪的是,虽然我没比以前在学习上下更多功夫,学习成绩——或者说成绩排名——却慢慢提高了起来。由于不再逃课去网吧,而且每个晚自习都趴在桌子上写写画画的,老师自然以为是我突然觉悟了,竟然在期末考完试给我评了个“优秀进步生”,还在高三下学期的开学典礼上由校长给颁奖——奖品是废纸(奖状)一张加一摞横格本-_-|||

有些本来学习就不错的一些同学,也对我的变化感到了好奇。有一天晚自习的时候,班上第一名的MM突然蹿到我桌子前面问:“你复习什么呢?”我本来应该是被吓一跳的,可因为过于投入,变成了一脸茫然,然后脱口而出“C语言”。学习那么好的MM自然是没有听过这个词的,于是也一脸茫然。于是我们就相视而茫然。若干秒之后,她尴尬地举起物理练习册,说“问你个题”。

哦,对了,当时我是物理课代表,所以她问我物理问题也是很正常的情况。其实我喜欢物理,从高一起就开始争取物理课代表了,为的是抄作业方便。不过当时物理课代表被一个学习比我好的MM抢走了。后来我当课代表,是因为该MM当了班长;该MM当班长,是因为当时班长忙于谈恋爱,辞职了。

所以说,我的物理课代表只是徒有虚名,就像天上的浮云一样;而以眼前这道题的难度,身为学习第一的她,完全可以自己搞定。所以我的鉴定结果是,此乃刺探军情之伎俩而已。

有点跑题了,地球是圆的,跑着跑着就回来了,所以在此之前,我要继续跑。

其实,后来我也曾思考过,为什么那段时间学习成绩能上来一些呢?这也是高中生活带给我的唯一启发(其他学到的知识都还给老师了)。原因就是——大量重复。其实高中的新知识,高一一年就已经学得差不多了。到了高二,主要的任务就是应付会考(说白了就是副科的高考),先把副科都干掉;另外就是文理分班。等到了高三,基本上就是重复之前的知识。

这是一个很大的陷阱。学习好的同学会嫌烦,反正都会了,何必重复?学习不好的同学会侥幸,还会重复的、还会重复的、会重复的、重复的、复的、的……于是,会有一批人自甘堕落。而我——用我妈的话说——是一个奴性很强的人,非得鞭子抽着才干正事。而高中,或者说目前中国的整个教育,正是一个举着鞭子填鸭的过程。对于我来说,学的东西是不是重复无所谓,可千万不能让那根鞭子砸下来抽到我。

于是,顺水行舟,不退即进。不是爷进步了,是你们Y的退步啦。

不过,大量重复还是给我留下了深刻的印象。正是这种重复性训练,使我对书本知识掌握得越来越劳,颇有“顺手拈来”的感觉。这一点教育着我,在后来的工作历程中,我并不排斥“重复劳动”,当别人正在抱怨“每天都做一样的事”时,我只是思考“这次又做一次这个事,比上次有进步没有?”、“下次还能做得更好点不?”

跑题结束。

就是这样,为了我的虚荣心,我把一整个学年的晚自习卖给了C语言。

其实,当时我每周末还是可以用一用电脑的,但整个高三一年,我却没有编译过一个C程序。由于我用的书是计算机二级考试教材,上面有介绍上机考试的内容,书里面给了一些上机考试的截图,现在看很明显是Turbo C的界面;但当时我并没有见过Turbo C,只是觉得这个界面看上去很像QBasic啊。于是我天真地在QBasic里一行行键入我写的代码,结果自然是无法运行。

后来我在重装操作系统时,因为最初表哥给我的Visual Basic安装盘已经坏菜了,所以我不得不去电脑市场再买一张,这个时候我见到了Visual Studio,它的封面上写着Visual Basic、Visual C++和Visual FoxPro。由于没有卖单独的Visual Basic安装盘的,我犹豫了一下,还是买下了这张Visual Studio。

不过我一直也没想到,这里面的所谓Visual C++,正是微软公司出的C++开发环境,而C++在一定程度上和C是兼容的,至少兼容我写那些破程序是没问题的。于是,我与C++失之交臂。而再次相遇时,她已略显人老珠黄,而年轻的C#则如出水芙蓉般博得了我的爱恋。

那个时候根本没有编译器、IDE的概念,不知道不同的语言是要不同的编译器来编译的,也不知道QBasic也好,Turbo C也好,还是后来的Visual Studio,都是IDE环境。不过幸好,程序的无法运行并没有打击到我,反正高三也没什么事,继续学呗。就这样,我坚持了下来。

posted @ 2011-04-24 21:30 Anders Liu 阅读(4556) 评论(39) 编辑 收藏

 回复 引用 查看   
#1楼 2011-04-24 21:42 Alan@Net      
nb人物
 回复 引用 查看   
#2楼 2011-04-24 21:42 Alan@Net      
我大一才学会用电脑的飘过
 回复 引用 查看   
#3楼 2011-04-24 21:45 邀月      
我第一次接触编程语言,是在大一时,由于兴趣,组织几个同学办了张卡,轮流上机,一百五十元,够我三月的生活费了。1993年接触dos和turbo c 2.0,那时很喜欢玩波斯王子,拷在5寸软盘的那种。
后来使用过vfp 2.5,vb6,最后稳定到c#。真是恍若隔世~

 回复 引用 查看   
#4楼 2011-04-24 22:20 摇滚诗人      
嘿,bo子,在这里看见你了,好啊:)
我工作时还是没有.Net,投入了C/C++的怀抱,现在在重头接触Objective-C和C#呢~~

 回复 引用 查看   
#5楼 2011-04-24 22:36 demon$      
六年级学的Qb,初一学的C,初三学的C++,高一的时候发现自己学的只是皮毛!于是乎,花了三年去精通!哥现在高四,悲剧
 回复 引用 查看   
#6楼 2011-04-24 22:52 AningEmpire      
呵呵,五楼好悲剧~
 回复 引用 查看   
#7楼 2011-04-24 22:57 小胆粗心      
如果楼主是我高中同学的话,就是我羡慕的对象。
 回复 引用 查看   
#8楼 2011-04-24 23:01 demon$      
@AningEmpire
蛋定啊!

 回复 引用 查看   
#9楼[楼主] 2011-04-24 23:02 Anders Liu      
@摇滚诗人
哈哈,关注你N久了,今天才看见我?

 回复 引用 查看   
#10楼 2011-04-24 23:24 小泽      
引用Alan@Net:我大一才学会用电脑的飘过


 回复 引用 查看   
#11楼 2011-04-24 23:31 EasyShop      
楼主当程序员太屈才了.
 回复 引用 查看   
#12楼[楼主] 2011-04-25 00:44 Anders Liu      
引用EasyShop:楼主当程序员太屈才了.

千万别这么说,自己有多少水儿自己知道的……

 回复 引用 查看   
#13楼 2011-04-25 08:23 徐少侠      
俺差不多
开始学的时候也就只知道有个Basic的。
后来学过一阵子C,NND!link一次要几分钟啊!
在后来就直接跑C#去了。
呵呵

 回复 引用 查看   
#14楼 2011-04-25 10:29 headio      
我用了很多语言,在公司我的职位是C++工程师。但现在我在做PHP开发,另外,我还兼做html+CSS+js布局前台。。。弄过QT手机程序。就是网页界面做起来不太顺手,其它的语言都差不多。
 回复 引用 查看   
#15楼 2011-04-25 10:42 young5335      
大一第一次见电脑的飘过
 回复 引用 查看   
#16楼 2011-04-25 10:52 like%'远远'%      
楼主文采不错...顶个
 回复 引用 查看   
#17楼 2011-04-25 11:30 rock.dean      
95年也就是小学六年级参加市里的拔尖考试在茅侧里捡了一本《电子之母》,后来没事就研究上面的几种进制的转换等,说真的那会只是觉得上面的数字运算很奇妙,并不知道它运用的含义,那会我连电脑或计算机这两个名词都没听说过,98年第一次接触电脑,机房里全清一色的386,哥以为上电脑课跟搞原子弹开发一样神秘,结果发现《计算机理论》这一课哥三年前就会了,直接跳课,学过basci,pasical,foxpro,trubo c,毕业之后搞了一年电脑维修,接着又搞了三年设计(ps/fk/flash/flash actionscript 2.0),现在用c#/ajax搞开发,同病相怜
 回复 引用 查看   
#18楼 2011-04-25 11:36 Leo      
10多年了啊!
 回复 引用 查看   
#19楼 2011-04-25 11:51 草珊瑚      
引用EasyShop:楼主当程序员太屈才了.

他的意识是说,楼主应该当程序员历史编写器

 回复 引用 查看   
#20楼[楼主] 2011-04-25 12:56 Anders Liu      
引用草珊瑚:
引用EasyShop:楼主当程序员太屈才了.

他的意识是说,楼主应该当程序员历史编写器

我懂了。这个主意不错,回头研究研究编程这个故事的发展历程,写个《编程简史》什么的~

 回复 引用 查看   
#21楼 2011-04-25 13:03 小墨的童鞋      
我的机器是赛扬366的CPU,14寸球面显示器
不是说我的第一台电脑吧。。。
很怀念我的赛扬366,可以轻松超频到533。。。

估计你的机器硬盘10G,(昆腾 火球)
内存64M(现代)

 回复 引用 查看   
#22楼 2011-04-25 14:38 红色壁虎      
呵呵 初三第一次接触电脑,高中三年全部畅游在电脑的现实世界里(游戏),高三时,因为对游戏的好奇,报考了计算机,然后混了4年,最后 却选择了学校不教的C# 混口饭吃,一直到现在。
 回复 引用 查看   
#23楼 2011-04-25 16:36 双击      
哈哈,我初三接触的电脑,高一学习Qbasic
当时还代表学校参加 青少年计算机奥林匹克比赛,好像是叫这个名字
当时觉得老牛逼了,
现在想想,其实都是一点点皮毛

 回复 引用 查看   
#24楼 2011-04-25 16:48 四喜      
Niubility!!!You mu you!!!
 回复 引用 查看   
#25楼 2011-04-25 17:11 冰品羽扇      
赛扬366的CPU,一看楼主就是90后哇,Qbasic太先进了,我们那时CBasic和GwBasic都没有,用打孔机慢慢编程,用螺丝刀在纸上钻出Printf这些字符后,然后放到硬盘里去读写,当时我机器内存还只有1kb,真TMD的值得怀念啊。
 回复 引用 查看   
#26楼[楼主] 2011-04-25 17:43 Anders Liu      
引用冰品羽扇:赛扬366的CPU,一看楼主就是90后哇,Qbasic太先进了,我们那时CBasic和GwBasic都没有,用打孔机慢慢编程,用螺丝刀在纸上钻出Printf这些字符后,然后放到硬盘里去读写,当时我机器内存还只有1kb,真TMD的值得怀念啊。

你确定有了硬盘还需要在纸上钻孔?

 回复 引用 查看   
#27楼 2011-04-26 14:17 gws      
高一VB,大一C,现在C#,打工!
 回复 引用 查看   
#28楼 2011-04-26 14:25 take it and go      
一看到mm就觉得有意思了
 回复 引用 查看   
#29楼 2011-04-27 13:55 陈梓瀚(vczh)      
突然想起我认识你的时候你好像在上大学我在读高中了……
 回复 引用 查看   
#30楼[楼主] 2011-04-27 14:29 Anders Liu      
引用陈梓瀚(vczh):突然想起我认识你的时候你好像在上大学我在读高中了……

嗯,快退了都。真快……

 回复 引用 查看   
#31楼 2011-04-27 14:30 snowflyinginmyarms      
@Anders Liu
EasyShop是想说楼主的语言表达给力吧
个人觉得计算机语言也是一种语言,楼主对计算机语言有着如此的狂热度,对文字语言有这样的操控力也在情理之中

 回复 引用 查看   
#32楼[楼主] 2011-04-27 14:43 Anders Liu      
引用snowflyinginmyarms:
@Anders Liu
EasyShop是想说楼主的语言表达给力吧
个人觉得计算机语言也是一种语言,楼主对计算机语言有着如此的狂热度,对文字语言有这样的操控力也在情理之中

其实前两天也和同事聊来着,后来发现自然语言和计算机语言还真不能相提并论。后者更注重逻辑,有着严格的语法。所以搞得我有的时候都不会说人话了……

 回复 引用 查看   
#33楼 2011-04-27 15:04 snowflyinginmyarms      
@Anders Liu
要拿平时说话来跟编程比的话当然不能相提并论,口语可以完全忽略语法,只要能让对方听懂说话的人想要表达的意思就行
要是拿学术论文来说的话就不一样了,虽然论文不像程序要编译,编译不通过程序不运行或运行出错,论文的逻辑跟语法不通过也会让读者产生歧义、误解

 回复 引用 查看   
#34楼[楼主] 2011-04-27 15:25 Anders Liu      
@snowflyinginmyarms
嗯,如此说来也是……

 回复 引用 查看   
#35楼 2011-04-28 16:48 模模      
火车不是人推得,NB不是人吹的
 回复 引用 查看   
#36楼 2011-04-29 09:20 kingmoon      
说实话,在你身上也看到了我当年的影子,写的不错,感触很深...继续看哈哈
 回复 引用 查看   
#37楼 2011-04-29 11:16 Gary Zhang      
都在回忆哈哈。我也晒晒。。。
Qbasic -> Virtual Basic -> C -> Asp -> C#

 回复 引用 查看   
#38楼 2011-04-29 15:43 bolide74      
Qbasic -> C -> ASP -> JavaScript -> C# -> Java
 回复 引用 查看   
#39楼 2011-04-29 22:12 放羊老头      
哈哈,我也是从BASIC开始接触编程的,刚接触到JAVA和C的时候,发现一个要IMPORT一个要#INCLUDE,貌似也是和楼主同样的心情啊!
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 2026471 XnJH7a6LLfw=