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

本文地址:http://www.cnblogs.com/AndersLiu/archive/2011/04/28/programming10years-10.html

作者:Anders Liu

从此以后,我将自己牢牢地拴在了微软的开发平台上,终日沉迷于.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是必不可少的了。此外,这种图形程序也很难调试,在一行一行跟踪代码的时候,根本无法得知屏幕上发生了什么意外。

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

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

索性连这门课的考试也不要参加了。我还有另外一门更值得期待的课程——图像处理,这门课也是我下了大工夫的,而且我认为这门课相对还要容易一些,图形学涉及了太多的数学原理,而图像处理则基本上都是固定的数学公式,直接套用即可。到了考试那一天,我还是很欢快地只带了一支水笔就杀向了考场。

在发试卷之前,老师挨个检查我们的学生证并进行登记。查到我这里时,老师那双无神的大眼在纸上扫描了不知道多少次之后,问我,你选这门课了么?名单上没有你啊?“咔嚓!”我坚信我当时听见了闪电的声音,你信么?幸好当时“被雷到”还不是很流行,否则我一定是外焦里嫩那种的。我悻悻地走出考场,灰暗的林荫路上似乎只剩下我一个人,我差点就跪在地上以45度角仰面朝天高呼“苍天啊大地啊”了。

俗话说祸不单行。但俗话没说祸只双至。我还选修了一门课叫“虚拟现实技术”,主要学习的是VRML语言,这应该可以算一种3D脚本吧,通过代码定义一些3D实物和摄像机的位置,然后它的运行时环境可以自己render出3D场景,可以响应鼠标键盘操作,还能跟JavaScript交互。这门课没有考试,只有课设,要求做一个实际的3D场景出来,选题不限。

很多人选择做一个工大校园,为什么呢?因为“坊间”流传着这样一个现成的VRML脚本,就是我们每天生活和蹂躏着的校园。而我的选题是天安门广场,因为在做这个课设的时候,我还没有接受到计算机图形学课设的教训,固执地认为我应该凭自己的实力完成这个作业。为此,我还特地邀请舍友和我一起去天安门广场走了一圈,甚至还通过数地砖大概估算了一下天安门广场的实际尺寸和比例。

制作的过程辛苦而有趣,所有的参数、坐标都要不停地调整,但我还是能够保持愉悦,乐呵呵地对着桌子上的五分钱钢镚儿细心地描绘一个矢量的国徽。写出来的脚本也很有意思,你可以在广场上四处游荡,走到人民英雄纪念碑下面,还可以通过空格键跳上台阶,跟CS似的。在答辩的前一天,我还傻逼呵呵地用《大腕》台词自言自语:你说这得得多少分?我看怎么也得70分吧?70分那是成本,80分起,你还甭嫌多,还不打折;你得研究老师的心理,抄的都能给及格,这自己做的他就不在乎再多给20分;所以我们做课设的口号就是:不求做得好,但求自己做。

结果依然无厘头,几乎所有同学交上去的课设都大同小异,都是工大校园,有的是学校外面的马路上放了几辆汽车,还能走来走去;有的是学校门口门柱上的时钟变成了可以根据系统时间运转的;更有龌龊的在女生宿舍的窗子上放上了半裸的美女贴图。所谓法不责众,虽然明眼人一看就知道这些都是抄的,但总不能都不及格或者都只是将将及格啊,于是这些“作品”普遍得了高分,最少的也有86。而我的天安门广场由于难度系数不高,只得到了象征性的65分。

是时候说拜拜了。

在我到教务处办理退学手续的时候,负责此事的老太太倒很是开明。一脸慈祥地对我说,嗬,有前途,中国的比尔•盖茨啊。我心说,什么年代了,你们Y的就知道一比尔•盖茨啊;再说了,中国出得了比尔•盖茨么?不过为了回报老太太的和蔼,我尽量淡定地说,我不是比尔•盖茨,我只是厌倦了大学的教育而已。

  • 回到《老刘连载:编程十年》
  • 上一篇《情系.NET》
  • 下一篇《与文字的不解之缘》

转载于:https://www.cnblogs.com/AndersLiu/archive/2011/04/28/programming10years-10.html

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

  1. 程序员编程必备的6大装备,比尔盖茨居然也用三个屏幕编程!

    一套好的装备可以显著地提高程序员的身心健康和工作效率. 0.好的座椅 很多程序员调侃需要一本<颈椎康复指南>. 如果程序员颈椎出现问题,一般是座椅不符合人体工学的,好一点的座椅一般是不会这 ...

  2. 乔布斯、比尔·盖茨、周冬雨、李晨...说:每个人都应该学编程。

    20年前,英语进入中小学课堂,成为人人必学的语言.这一次,轮到了编程语言. 为什么要学编程?不仅仅因为编程已经进入江苏.重庆等小学课堂,进入美国.英国所有小学课堂,因为未来的世界,是程序和机器的世界, ...

  3. 比尔盖茨经典语录、人生感悟

    比尔盖茨经典语录.人生感悟 1.断言梦想 微软比尔·盖茨经典语录 2.比尔·盖茨连续13年居全球富豪榜第一 3.盖茨获哈佛大学荣誉学位 30年前中途退学 4.微软员工博客文章:谁将取代比尔·盖茨呢? ...

  4. 编程到底该用 Tab 还是 Space?比尔·盖茨也来挑事儿

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 编程时,用Tab还是Space?这个有关程序员的信仰之争,由来已久.2月27日,在接受美国科 ...

  5. 程序员的十层楼,比尔盖茨仅第四层,你能到第几层?

    自西方文艺复兴以来,中国在自然科学方面落后西方很多,软件领域也不例外.当然现在中国的许多程序员们对此可能有许多不同的意见,有些人认为中国的程序员水平远落后于西方,有些则认为中国的程序员个人能力并不比西 ...

  6. 程序员的10大境界,计算科学的10层楼,比尔盖茨看了会自卑,牛顿看了会落泪!

    程序员10大境界 作者简介:周伟明先生毕业于上海交通大学,1994年开始 从事专业软件开发,曾工作于美国加州硅谷的DASCOM Inc公司(现为IBM的全资子公司)和华为技术有限公司等企业.在网络安全 ...

  7. 【历史上的今天】11 月 18 日:DNS 发明者出生;按键式问世;比尔·盖茨开始编程

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2021 年 11 月 18 日,在 1928 年,华特·迪士尼(Walt Disney)和他终身的助手阿维尔克合 ...

  8. 比尔·盖茨:2019 年这 10 大技术必成潮流!

    [程序人生 编者按]自 2001 年起,<麻省理工学院技术评论>每年都会发布"全球十大突破性技术",关注技术的商业应用潜力以及对人类社会和生活的重大影响,实用型量子计算 ...

  9. 北大青鸟:比尔盖茨:我在微软的10大失误

    北大青鸟:比尔盖茨:我在微软的10大失误 来源:[url]http://www.accp-teem.com.cn/ArticleView/2007-7-11/Article_View_1172.Htm ...

最新文章

  1. 容器编排技术 -- 使用Minikube在Kubernetes中运行应用
  2. 用CNN做NLP文本分类竞赛
  3. 大数据学习笔记09:MapReduce概述
  4. Android利用Filter过滤数据
  5. python提供了两种基本的数值类型_Python的三种基本数据类型
  6. Domino下启用SMTP验证及创建允许匿名验证
  7. C语言实现抽签小功能
  8. android蓝牙取sbc音频数据
  9. win10 C盘磁盘清理
  10. OkHttp自定义拦截器实现内外服务器多地址配置且请求失败自动切换地址
  11. vue视频通话(Agora声网)
  12. 沉迷学习,日渐消瘦——来篇支付宝支付(Python)
  13. 昨晚,谷歌发布了一个可怕的人工智能!
  14. PHP环境配置和验证
  15. 鲸发卡11.02免授权版本
  16. Vue3 究竟好在哪里?(和 React Hook 的详细对比)
  17. 微信小程序-注册成为小程序开发者
  18. BetaFlight模块设计之二十九:滤波模块分析
  19. ubuntu下安装极品五笔
  20. 某财税集团:使用进步的技术,对业务降本提效

热门文章

  1. 华为od机试: 叠积木
  2. 配置XP 远程桌面连接
  3. 数组转JSON json对象 json字符串
  4. Win10 Build 9860升级到版本Build 9860
  5. Stable Diffusion搭建全过程记录,生成自己的专属艺术照
  6. 数学符号arg的含义
  7. 《影响力》读书笔记,第三章 承诺和一致
  8. 【原创】让你的系统轻松预览AI,PSD,EPS,CDR缩略图!
  9. 一个完整系统的测试过程
  10. Keil MDK使用第5篇---解决st-link 不能用状态