记得第一次听说电脑,大约是在高一的时候,当时学校新进了一批586,当时觉得好的不得了,还专门请了老师来给我们上课。第一次就是讲什么计算机的历史,大概是因为有领导在场,老师讲的很呆板。第二节课,没有了领导的旁听,老师开始大刀阔斧的神侃,谈到黑客的历史,程序语言的演化。当时觉得天底下最厉害的就要数黑客了,于是我一直就把黑客当作心目中的偶像。可惜的是,我们就上了这两节课,以后学校已抓学习的名义把计算机课给取消了,但是黑客这一个特殊的人群却在我的心底生根了,这也促使我以后走上了程序设计的道路。
98年考上了南大的天文学系,其实,我报考的是计算机系,几分之差,结果鬼使神差的把我调到了天文系。本来我对天文就有一种抵触心理(并不是说天文不好,天文里面也有很多很厉害的牛人,并且天文系的老师都博学而且谦逊、和蔼),我开始把精力转到其他的方面,当时基础学院里开的程序设计课是fortran,我于是开始努力学习fortran,以期能够成为心目中的高手,可是学了一段时间发现编程并不是想我想象的那样有趣,其中的过程很是枯燥,所以就没有兴趣钻研下去,时至今日,我的fortran水平一直很低,可以说连皮毛都没摸到:)
由于学习编程要上机实习,当时还用的是dos,也很是没意思,总是早早的就逃了回来,幸运的是(幸运?),半学期刚过计算中心就装上了win95,当时,根本就不知道怎么操作,反正觉得挺花,那时候眼中的高手就是那些能够在win95下面copy,delete文件的家伙。偶然的一个机会,我接触了很早的一个游戏:红警。幸运的是当时并没有陷进去,原因简单的可笑:我并不会玩,甚至不知道怎么退出游戏!
到了大二,开始学习C语言,不幸的是又一次失去了宝贵的机会,天真的以为天下的语言都是一样的,的确C语言的一些东西fortran差不多,所以看了几天书就算了。然后自己买了一台电脑,于是真正的噩梦开始了:天天打游戏,甚至连课都不上了。什么专业课,什么选修课,统统都跑到脑后了,连自己的梦想都被灰尘封了起来。
到了大三,一个很好的开端,虽然算不上一个历史的转折,但是毕竟把我久埋在心底的梦想唤醒了,系里开了VC的课程。当时也不知道什么原理,就知道照着葫芦画瓢,书上让怎么做我就怎么做,幸运的是,居然还摸出了一点门道,学了3个月,我开始审视自己的学习方法,开始尝试着用别人的代码,自己写点代码,于是垒积木的过程开始了。虽然有了一点点的成就感,但是我内心有一种恐惧,我不知道什么时候我写的程序会崩溃,我完全控制不了,因为我不了解编译器为我做了什么手脚,也不知道,自己的消息会不会按照原定的路线执行。尽管如此,我还是从自己的积木中获得了一点点的快感。
如果你当时问我什么是VC++?我会告诉你,VC++就是2张盘,上面写着VC++的东东,充其量我会说是Developer Studio。现在你再问我,我绝对不会天真得这么告诉你。
后来考取了华工的水电学院,机缘巧合,在2002年10月份上网聊天遇上了一位大虾,也算人生的转折点,我才开始喜欢上了C++,C++以其强大的编译机制、灵活的编程手法、高速的运行效率把我吸引了,这次是彻底的被C++俘获了。
在C++的学习过程中,有3本书对我的印象巨大,可以说这3本书给了我3次震撼。第一本:对象模型,从里面我学到了编译器的底层原理;第二本:GP&STL,给出了STL设计的基本理念,真可谓一语惊醒梦中人;第三本:设计新思维,也许称得上“其技淫巧”,但是里面的设计思想的确令我感到了震撼,真的可以说开拓了C++设计的新境界。
“C++是我的信仰。”我一直这么对别人说。但我也很清楚,C++之所以有今天的地位,并不是纯粹自然形成的,有许多复杂的历史原因,当然也有时势造英雄的理由在内,所谓“居高声自远,非是籍秋风”是也。历史的舞台从来不是为某人专设,即使真有所谓万古长青的怪胎,恐怕也正应了那句老话:“众人都死了,只剩咱们两个老妖精,有什么意思!”我们现在使用的语言,不论Fortran,C还是C++,甚至如日中天的Java和C#,终究都会有功成身退的一天。这并不是我们的损失,相反,薪尽火传,一种语言中好的、合理的因素,就会被替代者继承和发扬,自然界的新陈代谢本该如此。
天空没有飞翔的痕迹,而飞鸟已经飞过。一种语言只要曾经在历史上留下浓墨重彩的一笔,完成它“为先贤继圣学,为万世开太平”的历史使命,这就够了!不知道我有生之年会不会看到C++的消亡,如果真有这么一天,我会拍手欢呼,因为这说明已经有了另外一种更新更好的语言来代替它(或许是几种)。不过照我猜想,像C++这种轰动武林惊万教的语言,其灭亡恐怕也不会是悄无声息,而多半属于“始皇既没,余威震于殊俗”那种情况。