browser icon
You are using an insecure version of your web browser. Please update your browser!
Using an outdated browser makes your computer unsafe. For a safer, faster, more enjoyable user experience, please update your browser today or try a newer browser.

谢幕时分(3)

Posted by on 2005 年 05 月 15 日

你可以任意转载本文,但请在转载后的文章中注明作者和原始链接。
媒体约稿请联系 titilima_AT_163.com(把“_AT_”换成“@”)。

  倘说大二的时候我是“功成”,那么大三这一年,就可以算是“名就”了。我仍旧是在学习上很不得志,但这并不影响我在舞台上激情四射的表演。网上有人说我是“中北第一学生程序员”,其实我更清楚,“第一”轮不上我,因为真正的程序员高手应该是默默无闻的;而对于我这种上窜下跳的,倒是可以算是“第一爱出风头”的程序员。

  大三开学之后不久,宿舍的众弟兄便商议整个宽带用——其实这个计划在非典时期就已经在筹备中了,只不过那个时候的条件不允许而已。
  有了宽带以后,我开始发现我的生活越来越颓废。整天价早上起床把机器开开,然后把BT往上一挂去上课,最后等它下完了我看就是了。每天的生活千篇一律如是,我也就丝毫没有再编写代码的动力了。有人说程序员编写代码的动力要么是压力要么是灵感,我深以为然,因为当时的我就是什么都没有,所以一行代码都写不出来。
  不过就在这个时候,一个天大的运气降到了我的头上。2003年10月下旬的时候,kedy君给我打来一个电话,说是介绍一个项目给我做,问我是否有兴趣。其时我恰恰有些厌倦了那种颓废的生活,于是就想去试试,还可以借机学习正规的商业软件项目开发流程。
  就这样,我投奔到机械工程系一个老师的门下,开始了我的杏花村之行。整个的开发过程我已写成了日记,所以我也就不再赘述,只想再对这个项目本身做一个小小的总结。项目的整个开发过程与我想象的软件开发相去甚远,因为它说到底仍然是一个小作坊式的软件开发——三个人利用Delphi强大的数据库组件,不厌其烦地把一个个功能相近的窗体组合再组合,最后拼凑成了这一个所谓的“软件”。而真正的核心技术内容,只不过是100余行代码就可以完成的数据库操作罢了。我是前说过我写下了17000余行的代码,但其实说白了也就是把这100行的代码重复了170多遍而已。至于那些草草做好的需求分析和功能设计,更是为后来的维护埋下了深深的隐患。可以说,这次开发使我深深体会到了软件工程的重要性——这是个完美的反面例子。
  经过这次项目开发,我完全对校园的软件项目失望了。我以为作为非名校的学生有过一两次这样的经验足矣,这样可以体体面面地写进毕业简历中用以作为获得面试机会的筹码,再有更多的次数则只可能会浪费自己宝贵的时间,甚至还有可能会沾染上校园开发中那些不良的开发习惯。
  半个学期的开发工作结束了,现在再回忆起来唯一让我魂牵梦绕的,就只有杏花村的酒香了。

  2004年的寒假,我决定尝试着实现“QQ尾巴病毒”的核心技术,借以学习Windows的钩子技术。殊不料这个决定给我带来的麻烦远远超过了它成功后给我带来的成就感。
  单纯从技术的角度上讲,这个病毒并没有什么高深的东西在里面,所以没有花几天时间我就成功了。兴奋的我决定把这个病毒实现细节写成文章发表,也就是诸位后来看到的《“QQ尾巴病毒”核心技术的实现》一文。我所没有料到的是,这篇文章在网络的流传速度之快大大超出了我的想象,那个时候更是每天都会有人把我的QQ加为好友,与我讨论这个病毒的各个技术细节。现在看来,走非正规的渠道似乎比走正规渠道更容易出名——不单程序界如是,很多领域亦如是:不知这是否可以归到“兵法”的范畴。
  我开始恐惧。虽然说“技术无罪”,但是在现实中却远远没有这么简单。技术虽无罪,然而罪在人心;只有人心无罪,技术方才无罪;否则,“技术无罪”只不过是为人心的罪孽作了一个不高明的掩护罢了。到现在为止,这篇文章仍然在网上流传,仍然会有人对这些老掉牙的技术津津乐道;特别值得一提的是,到了2005年,仍然还有人在乐此不疲地制作着这种病毒,享受着技术给他们带来的罪恶的成就感。

  在草草结束了杏花村的项目之后,大三的下学期我又获得了一个我做梦都没有想到的机会。一天,luzhaojin兄在QQ上问我,是否愿意给他们系的几个研一学生讲一讲C++程序设计的相关内容。我当时有些不敢相信自己的眼睛,因为这对于我一个大三的学生来说,不啻于一个天大的殊荣。我忐忑着应了下来,心想这当是一次难得的锻炼机会。
  我开始上自习了,一本钱能老师的“红宝书”(《C++程序设计教程》)充当了我的备课参考书。我从来没有当过“老师”,但第一次当“老师”竟然就是给我的师兄师姐们当“老师”,这使我战战兢兢,唯恐出现任何错误。不过,任凭我多么认真地准备,还是在课堂上有些手足无措,经常出现半个小时就把我头一天准备的东西全部讲完了的情况,所以我的课竟然是以“答疑”居多的。还好,师兄师姐们对我非常支持,令我非常感激。几堂课之后,我也就不再拘束,课上谈吐愈加自如,只是课堂还是以答疑居多。
  算起来我一共讲了7个课时的课,获得了300元的报酬。luzhaojin兄把钱给我的时候,笑道:“这可是按副教授的标准给你的哦。”现在看来,也只有在中北我才能获得这样近乎神话的机会,倘使在清华北大,那是万万不可能的。

  期末考试又如约来临。这个学期开了一门课,名为“面向对象程序设计方法学”——其实就是C++。回想起来大一下学期的C语言,那个时候我对于C一无所知,却考了92.6的高分;那么这一次,我觉得我已略通C++之皮毛了(而且还给研究生讲过课),又该得多少分呢?
  考试时果然不出我之所料,试题异常简单,我只花了半个小时左右就答完交卷了。可后来卷子发下来,我却只得了86分,分数比我高的人不计其数。当然他们之中有很多人的水平的确在我之上,但是同样有些人连10行C++代码都没写过。
  我苦笑,大学的考试,不过如此。它只能检验你是否不合格,因为如不及格自然是不合格的;但是它无法检验你是否合格,更无法检验你是否优秀。考试的分数,更是一个天大的障眼法。有的学生拿着灿烂夺目的成绩单昂首毕业,待到开始工作后才发现自己一无所知——正是这个障眼法在给人满足感的同时,蒙蔽了人的双眼,坏了人的前程。

订阅本站

没有评论

(Required)
(Required, will not be published)