陈远:兴趣是永远的老师

CSDN教师节感恩专题活动网址:http://subject.csdn.net/teachers%27/

  

 

感谢福建省漳平一中的李超老师

       之所以走上程序员这条道路,是因为我对在计算机上编写很酷的程序非常感兴趣!

       小时候生活在农村,只是从电视上知道有“电脑”这种高科技的玩意儿。后来考上了城里的初中,一些同班同学经常去电脑游戏厅(那时候还没有“网吧”的概念),所以我常常从他们口中听到诸如《红警》、《大富翁》、《仙剑》、《命令与征服》之类的名词。有几次我跑去看同学们玩游戏,看到他们用DOS版的FPE调游戏里的钱,只是改几个红红绿绿的数字就可以有用不完的钱,让我觉得非常神秘,也非常羡慕他们。但是父母常常告诫我玩游戏是坏孩子干的事情,所以我也没有机会亲手试一试。那时电脑在我心目中是同游戏和五笔打字画等号的。

       第一次认识李超老师是在初二的时候,学校有选拔每个班级数学比较好的同学去参加电脑兴趣小组,目的是参加编程竞赛,也就是NOI,我也有幸混迹其中。每次上课的时候,大家都稀稀拉拉地坐在一个很大的阶梯教室里,老师坐在讲台后面拿着本书给我们讲Pascal语言。老师讲得很快,一次课就可以把一章多内容讲完,然而对我来说基本上都是鸡同鸭讲,大部分时间我都在心鹜八极、神游万仞,只依稀记得“形参”、“实参”几个名词,较之电脑游戏无趣多了,所以几次课后我就识趣地退出了。不过有些同学坚持了下来,后来我常在班级里看到他们眉飞色舞地讨论什么“八个皇后”、“汉诺依塔”,感到十分艳羡。

       很快我就初中毕业了,为了打发百无聊赖的暑假,老爸让我去李超老师开的超想电脑公司学电脑。老爸的初衷只是让我不要把时间都浪费在玩耍上,不过他肯定没有料到,我的人生轨迹就因为这短短的一个月时间而改变了。参加这个电脑培训班的基本上都是当时留在电脑兴趣小组里的同学,很快我们就打成一片。以其说是培训,实际上老师也没教什么具体的知识,常常是老师把大家召集在一台电脑前,劈里啪啦一阵解说,然后又劈里啪啦演示一番,剩下就都是让大家放羊式地自由玩电脑了。

       不过第一次课让我始终记忆犹新,在DOS环境下,李超老师替我们每个人建了个目录,告诉我们怎么进入Turbo Pascal编程环境,然后飞快地在键盘上敲入了一个hello world程序,编译运行之,接着告诉我们:“Pascal程序缩进得好的话,看上去就像一首诗一样。”我始终认为,这句话对于我来说就犹如打开宝藏大门的密语一般,从此,我无可抑制地对编程产生了浓厚的兴趣,我兴奋地发现,原来计算机上还有比电脑游戏更有趣的事情:那就是编程。在那个暑假里,我每天早出晚归地泡在机房里,开机后第一个命令是cd cyy(有个同学名字拼音也是cy,于是我的个人目录就多了个y),第二个命令是turbo,然后就出现了经典的蓝色背景白色菜单的Turbo Pascal 7.0编辑界面。在那个暑假里,我把书本上的源码全都照搬到电脑里运行,然后通过调试反过来去理解书本上晦涩的理论概念,遇到棘手或不理解的问题,身边刚好有许多比我经验老到的同学可以请教,因此在这个暑假里我的动手能力进步得飞快,不过也为后来理论知识不扎实埋下了伏笔。

 

Turbo Pascal 7.0的经典界面,里面的源码是我当年写的程序

       高一时,经不起我一再恳求,父母终于拨款替我买了一台厦华三宝的品牌机,赛扬366的cpu(我至今仍然后悔为什么不选更容易超频的赛扬300)、4.3G硬盘、32MB内存、Windows 98系统,我终于拥有了自己的电脑,当时还闹过一个笑话,因为我在培训班里面一直都用的DOS,不知道Windows 98得从开始菜单里关机,每次都是直接按电源关机,我就这么一直干了好几个月才从《电脑报》上无意中发现了自己的无知。

       之前在培训班里时,大家用的都是486的无盘工作站,没什么游戏可以玩的,于是有个同学用Turbo Pascal的BGI绘图函数做了个扫雷游戏,用UCDOS里的扩展ASCII字符¤表示爆炸的地雷,√表示正确的标记,△表示有雷标记,大家玩得不亦乐乎;还有个同学画了个几乎与Turbo Pascal 7.0界面一模一样的编辑环境,除了不能执行任何菜单命令,模仿得惟妙惟肖,一度还把老师捉弄了一把。他们写的程序让我十分仰慕,也让我对编程绘制图形很感兴趣,在买了电脑后,我立刻自学了BGI绘图函数库,画了个时钟界面,指针可以随着时间不断转动。这个程序有幸留存至今,在写这篇文章的时候重新翻了出来,居然还可以运行的……

 

我的第一个DOS图形程序

       还有件有趣的事情是,因为对编写Windows下的窗体程序非常感兴趣,于是我一直苦于寻找一个类似Visual Basic那样Windows下的Pascal开发工具(我不喜欢Basic完全是因为书上都说这种解释型语言是低效率的代名词,因此我也误以为这是一种很没用的语言),当时我虽然已经学会拨号驱56k的小猫上网,但是根本不知何谓Google、Baidu,大部分消息都源自订阅了整年的《电脑报》。后来铁下心肠,买了张D版的VB 6.0光碟,准备开始捏着鼻子自学Basic了,却意外地在这张碟上发现了个名叫Delphi 4.0的安装程序,冥冥之中,我好奇地装上它,从而误打误撞地发现了一片新大陆。我也不知道谁居然把这个当年如日中天号称VB Killer的IDE和VB放在同一张光碟上,然后让我有机会用它在高二的时候写出了自己的第一个Windows窗体程序:虽然还是一个时钟程序,而且从2000年开始它就一直处于Ver 1.00 alpha阶段,但是它在今天依然运行得很好……后来我还专门买了一本很经典的《Delphi 5从入门到精通》(英文版叫《Mastering Delphi 5》,Marco Cartu著),照着上面的源码写过一些小玩意儿,比如mp3播放器什么的,大部分都因为那块4.3g硬盘的损坏而永远丢失了。虽然我一直都没有理解Delphi面向对象那部分的概念,而且写的代码充斥着几百行的函数、拼音函数名和a、b、c这样无意义的参数,但它的确给我留下了很多美好的回忆。前一段突然看到新闻说Delphi已经被低价出售了,不由得唏嘘不已……

我的第一个Windows窗体程序

       高一暑假,又和一帮同学去福州大学参加了一个暑假的NOI集训营,期间经历了许多相当搞笑的故事,不过那时我对数据结构和算法始终不怎么开窍,参加了几次竞赛最后都是无果而终。到了高中后期,因为功课越来越紧,升学压力越来越大,除了偶尔用电脑玩玩游戏,我就很少碰它了,只记得第一个玩通关的游戏是《VR特警2》。
        高考那几天被传染了流感,高烧不止,估分时又太过保守比实际分数低了30多分,于是就这么入读了西北工业大学的民航工程系。这里死气沉沉的氛围与我想象中的大学生活大相径庭,加之不喜欢这个专业,头两年我过得非常闷闷不乐,虽然拿了奖学金,但依然对自己的未来感到迷茫和不知所措,难道考了那么多年试,到了大学里面,拿高分还是唯一的目的吗?于是我把大把大把的时间泡在图书馆里,翻看一些计算机相关的杂志和书籍,渐渐对做网页产生了兴趣,就这么边学边做,也用Dreamweaver、Fireworks给学院鼓捣出了几个简陋的网站,从中学会写一些SQL查询,以为做网页也就这么一回事了。

给学院做的网站

       大二下学期一次偶然的机会,因为答出了“ASP中6大对象是什么?”这个问题,我得以加入学校里的【学生之友】网站做兼职程序员,在技术部里认识了铁匠这个ASP高手,从他身上,我才发现要把网页做好也是件不简单的事情,而且自己写代码能做出比使用所见即所得的工具更复杂的效果。凭着兴趣,我又一头扎了进去,自学了HTML、CSS、Javascript还有VBScript,后来又转向了ASP.NET平台,用更高级的C#来做网站。我们曾经写过一个无刷新的值班系统,过了几年发现有人管类似的技术叫AJAX。期间还接了一些单子,赚了几笔零花钱,不过更满足的是那种自己做的网站被成百上千人看的成就感。

       大三的时候,听过学校机器人足球队的一场报告会后,我又对机器人足球来了兴趣,通过笔试面试最终成为仿真5vs5组里唯一非计算机系的队员,并参加了2005年江苏常州的全国大赛,可惜小组一出线就被淘汰了。大四时又获得了前往MSRA实习的机会,在实习中重操旧业,继续做网站。后来本着对计算机越来越浓厚的兴趣,我决定follow my heart,保研时毅然选择了计算机学院,总算是能够接受一下科班的教育了。再后来,我又在MSRA的实习过程中做了好几个网站,现在我常跟别人调侃自己是“专业做网站的”。

       回顾我短暂的编程之旅,是各种各样的兴趣让我去不停尝试新的挑战,自学新的知识,驱动着我不断努力前进,让我没有在人生道路上迷失方向。在这一路上,我得到了许多老师的帮助和指导,但一路伴随走来不离不弃的是各种各样的兴趣。我自认是个情绪化比较严重的人,正因为如此,我愿意为自己的兴趣投入全身心的精力,去了解、探索和学习,为每一个新发现欢呼雀跃,为每一次成长而欢欣鼓舞。我想,对于每个想学编程但得其门不入的朋友,不妨找找自己的兴趣所在,那样会让自己的学习更富有乐趣和成就感。

       现在,我又开始对所谓的“云计算”感兴趣了,微软的Live Mesh、Google的App Engine,还有Amazon的S3、EC2、SimpleDB都是我想研究的对象,那么你呢?你想好自己对什么感兴趣了吗?

 

 

献给老师,我的编程之路系列文章

邹欣:回忆编程路上的启蒙老师

刘铁锋:物理老师的程序入门课

莫瑜:编程,从简单的开始动手

胡睿:感谢清华大学计算机系的朱仲涛老师

梁举:恩师的鼓励,从数学到计算机

李东:我的编程起步

陈远:兴趣是永远的老师

张晓:我与程序

posted @ 2008-09-09 16:53  博文视点  阅读(920)  评论(0编辑  收藏  举报