编程十年 (10):我不是比尔•盖茨,我只是厌倦了

从此以后,我将自己牢牢地拴在了微软的开发平台上,终日沉迷于.NET。与此同时,我还学习了SQL Server数据库。另外,还补习了HTML和少量的JavaScript知识--这些虽然都不是微软技术,但在学习ASP.NET时必不可少。虽然我在接触编程时走上了歧途,对网络世界没有正确认识,可学习.NET必然逃不开ASP.NET,于是我终于深刻理解了什么是Web,以及B/S和C/S架构。

尽管我不爱上课,尽管老师同学都鼓吹Java,但我还是坚持使用.NET完成了几乎所有大的课堂作业和课设。虽然最后成绩不是很理想,但我感觉还是学到了很多东西,而这些也都是我今后工作中很受用的,我感到很知足。

不过当时的后果是可怕的,我差了两个学分,即将背上第二个试读,根据工大的政策,二次试读是要开除学籍的。不过学校在假期里开设了一种特殊的课程,这种课所学的东西并不在统一的课程安排之中,但是可以挣到有效的学分;讲课的人也不是正规的老师,而是勤工俭学的学生,一般是经过学校考核审查过的特困生。上这种课按学分收费,大概一分200块钱的样子;而负责讲课的学生则可以通过自己的劳动得到收入,当然,他们拿到的只是很少的一部分提成,大头儿都被学校抽走了。

我打算选一门与编程关系不是很大的、但又与计算机沾边的课程,而且学分最好恰恰是两分,我可不想浪费钱。看了看课表,还真有这么一门称心如意的课程--Photoshop。就这样,我不得不提前一周结束自己的假期来到学校,为了能留在大学里做最后一搏。其实通过补考也能拿到学分,但是那有一定几率,万一不过的话,就铁定滚蛋了;而这种课是按照学分使了钱的,可以保证必过。

戏剧性的是,第一天上课的时候,负责讲课的同学看到我问,你不是老刘么?我说是啊,你认识我?他说是啊,我们同一个系同一个年级的,我跟你们乐队那个鼓手一个班,从刚上大学时就老看你们演出。其实我们的乐队已经解散了很久了,但没想到还真有粉丝,还记得我。不过此时的我已经对音乐没有什么激情了,也没太多盘道,直入主题腆着脸问人家:哥们儿,那你看这个课……

哥们儿很痛快,说得嘞,你要愿意来就来,不愿意来就拉倒了,我把点名表都给你勾上就行了,回头考试就是交一个PS做的文件,我传给你,你用邮件发给我,这是要存档的,不能直接帮你交。我说行,够仗义,回头一块喝酒。不过这都是场面话,此后我们再也没见过面。不过我谢你,真心实意的感谢,如果你能看到这些的话。

虽然这一次侥幸过关,还遇到了这么一个痛快仗义的粉丝,但我一点愉悦和虚荣都没有。暴增的只有对大学学习生活的憎恶,同时,一个邪恶而刺激的想法慢慢在我脑中形成--离开它,越远越好。

此后的一个学期中,我又接触到了计算机中的另一个热门领域--计算机图形学和图像处理。不过,仅仅是接触而已,我并没有走进去。两方面原因,一是我的计算机性能尤其是显卡性能实在有限,根本无法应付这方面的学习,而我却实在没有财力升级机器了;二是与该领域有关的课程,对我简直是无厘头,直接导致我无法接受该学科,进而引爆了我对大学教育的厌恶,并且使我的邪恶想法变成现实。

首先是选修了计算机图形学的课程,并且坚持上课,认真完成作业,自认为考试必过。期末的时候照例有课程设计,因为性能的缘故,我暂时放弃了.NET,改用回C语言,并且翻出了我尘封已久的窗口库。其实程序很简单,按照老师的要求输入一组参数,在屏幕上绘制一个多边形,并进行填充。当然不能用C语言库里自带的绘图函数,无论是绘制直线还是填充图形,都必须通过自己写代码绘制像素完成。

很快我就写好了程序,并且用几组自己设计的参数进行了测试,自认为万无一失。隔壁宿舍一个哥们也选了这门课,在交课设之前的几天里一直苦苦寻觅别人做好的样本,不知道他如何辗转得知我也选了这门课,并且课设已经做好,于是从我这里拿走了所有的代码。他临走时我不放心地嘱咐道,把变量名都改一改,最好程序结构也变一变。

悠闲地过了几天之后,我自信满满地去老师办公室答辩,恰好他也在。老师先看了他的程序--其实也就是我的程序,然后给了一组数据。不幸发生了,老师的这组数据真是诡异,其实就是在屏幕上绘制一个等腰三角形,但在填充时,当自上至下一行行填充完毕,到右下角一个像素后,会发生"泄漏",我的程序会越过三角形的边线,继续填充外面的整个屏幕。老师很满意地笑了,很显然,他是对自己的测试数据很满意。然后问我的同学,这是你自己做的吗?同学是个老实巴交的人,红着脸摇摇头说不是。老师又问,那你把这个程序看懂了吗?同学点头。老师说,嗯,看在你很诚实的份上,给你个61吧;这组数据是很容易出问题的,书上给的示例程序有漏洞,你回去最好再好好研究研究书上的公式和这个程序,对你会很有帮助的。

我在边上暗暗松了一口气,心说还好,老师还是很仁义的。于是我接着演示。程序刚一打开老师就微微皱了一下眉,也是,刚看见一个一模一样的,肯定郁闷,心里还得说呢,你们这帮孩子,都一样的东西倒是分开来答辩啊。不幸再一次降临,老师给出了和刚才一样的数据,看来这组数据真是屡试不爽啊。结果不言而喻,一样的问题。老师抬起头问我,这是你自己做的吗?我毫不犹豫甚至略带自豪地说,当然是了。可话一出口,我心头立刻一紧,涌上一种不详的预感。老师说那好,你就在这儿给我调试一下这个程序,不一定弄好,找出问题所在也可以。

我大囧,这时其他等着答辩的同学也纷纷过来围观,大家不约而同地对我的程序界面表示惊奇,有的甚至发出声音地问,咦,这是什么系统?可没有人能对程序中的问题给点线索。为了能出点彩儿,我利用自己的窗口库写了一个很华丽的界面--当然,是相对于其他也使用Turbo C完成的程序而言。但我的窗口库本来就不严谨,不得不和绘图代码纠结在一起,书中的复杂公式再加上一大堆临界条件的判断,简直是一团乱麻,而Turbo C查看代码又很不方便,别说找出问题所在,就是找出核心代码都很麻烦。这时我更加深刻地体会到面向过程编程的劣势和为什么一款优秀的IDE是必不可少的了。此外,这种图形程序也很难调试,在一行一行跟踪代码的时候,根本无法得知屏幕上发生了什么意外。

就在我汗如雨下囧囧有神之时,老师轻蔑地说道,算了,甭调了,料你也调不出来;抄的就是抄的,实话实说又怎样,老师体谅你们,不会太计较的;可你实在是不诚实,没法给你及格分了;你跟刚才那个同学抄的是一个人的吧?

我顿时觉得天旋地转,抄的……抄的一个人的……不诚实……好吧,我只有接受这个现实,默默无语地在其他同学或嘲笑或不可思议的目光中离去。

索性连这门课的考试也不要参加了。我还有另外一门更值得期待的课程--图像处理,这门课也是我下了大工夫的,而且我认为这门课相对还要容易一些,图形学涉及了太多的数学原理,而图像处理则基本上都是固定的数学公式,直接套

声明: 未经本站许可,谢绝转载!

0 个主题帖 其中:热心观众:0 个, 管理员:0 个

抱歉,评论被关闭