抛物线
高一时,学校有教授PASCAL(我是科代表),但那时我对计算机一地所知,更别谈程序设计了。刚开始学PASCAL的感觉是莫名其妙。变量、整型、递归这些概念我都是初次接触,满脑子的糊涂。但既然是科代表,那成绩绝不能落于人后。所以,我花了大量的时间和精力来钻研PASCAL。记得那时学编程很累、很苦,但总算打下了程序设计的基础。
学校停止开设PASCAL后,我产生了强烈的失落感,开始痴迷于网络聊天室,刚开始的新鲜感逐渐消退后,我对制作网页产生了兴趣,学起了HTML。当时在上学,又不想向家里要钱买书,所以常去都乐书店和购书中心抄书。不久,我就不再满足于只能写出静态的页面了,开始了对JAVASCRIPT的学习。学习HTML的过程是轻松、美好的。
学过JAVASCRIPT后,我不甘心仅止于客户端的动态效果,想学习真正意义上的WEB交互式。那时为了买本CGI方面的书,几乎跑遍了成都市大大小小的书店,终于在东华电脑城里的一家小书店里发现了一本《CGI 24学时教程》(很簿、黄色封面)。结果回家一看,Oh, my god. 简直就是天书嘛(不懂Perl的缘故)。那时市面上关于Perl的收也是屈指可数的几本,我买的是电子工业出版社出版的那种子,书名我忘了,80多块钱一本,很厚。当时,我念高二,节约了近一个月才抱回了那本书。从那时开始,差不多一年半的时间里,我都在学习Perl。在网上也结识了一群学Perl、用Perl的朋友。其中,“会游泳的鱼”至今难忘。他是Perl中文信息网的版主,在一家公司用Perl开发软件,Perl中文信息网就是架设在他所供职的公司的服务器上,因此经常无法顺利登陆。通过网站和网上的朋友,令我获益良多。现在,我依然怀念那段时光,和朋友们一起学习Perl,竞争着谁写的代码运行速度最快、安全系数最高、一起讨论问题,攻克难关。每次在书店看到Perl的新书都会伫立许久,翻阅老半天,让自己重温一下那时的美好时光。目前,Larry Wall也是我最尊崇的程序员之一。不过学久了,对CGI和Perl渐渐有了微词,CGI的弊端和Perl的速度令我不满。虽然mod_perl可以克服CGI的缺点,为了配置它,我还专门学习了LINUX,但最后还是没有成功;说到Perl的速度,我做过测试,在同样的时间段内,C++能计算到75!左右(我用字符串变量存放结果),而Perl才35!到40!。于是,我渐渐放弃了Perl和CGI。归根结底,是我的水平不够,无福消受mod_perl;是我的功力太浅,写不出能在速度上和C++一较高低程序;或者更是我认识不足,妄想一个脚本解释型程序的运行速度能快过编译型程序。
接下来,ASP成了我的首先。从此,我便和Microsoft结下了不解之缘。对ASP的学习和使用,一直到.NET的诞生为止。在这并不算短的时间里,我还学习了COM,它几乎令我发狂,怪不得有文章讲,即便Dox Box这样的宗师级人物,也是经过了禅宗式的顿悟后才深刻理解、掌握和运用COM的。
最后,我个人认为,对技术的选择,最重要的不是看它“强大”与否,而应该是“择己爱者而从之”。就像对C++,虽明知其非常了不起、功能强大、发展势头良好,但我还是兴趣缺缺。在对技术的选择上,我走过了不少弯路,学过的不少技术,现在都已不再使用,但这期间,我积累了经验,得到了教训,语言本身很容易学习,对设计思想的理解和运用则需要时间。而且我现在觉得“万般皆下品,唯有离散高”,再加上对语言来讲是“一法通则万法通”,只要想成为一个优秀的程序员,只要你写程序,没有一定的数学功底,实在不行。
目前,我依然围绕WEB交互式这个中心,在学习Microsoft的.NET,希望同样对此有兴趣的朋友能和我交流。