李东:我的编程起步

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

感谢重庆大学计算机系的郭平老师

      第一次接触电脑应该是95年上初一的时候。我老家是闽东的一个偏远小县城,当时县一中的电脑室里有二三十台电脑,凸球面的14寸显示器,都安装着DOS。这些机器在冬天启动时,甚至需要预热上几分钟,但就是这样的条件,随着老师敲动着键盘,白色的字符在黑底的屏幕上跳跃,仍然可以让我们这群小孩感到新奇和兴奋。当时上课所教的大多是DOS下的一些简单的命令,如列目录/新建目录,拷贝文件/删除文件等。除了DOS命令,还有WPS的文本编辑和五笔打字,需要背诵五笔字根和应对半角全角的转换等。其实想来那个时候更加吸引我们的是电脑里的顶球游戏和老鼠偷吃米游戏。

      当时只有老师那台机器安装着Windows 95,我仍然清晰地记得开机自检时Windows标志性的logo和Win95下的纸牌游戏,但是那时我们并没有机会亲自使用Windows。当时还成立了计算机兴趣小组,我曾是其中的一员,小组主要学习PASICAL和BASIC语言,目标是考取省级计算机等级证书,可惜那时的我对计算机的兴趣更多地停留在游戏上,再加上一点半生不熟的五笔打字,后来没有坚持住,中途便退出了兴趣小组,PASICAL和BASIC也仍然是一片空白,现在想来仍觉得十分惋惜。随着计算机课程的结束,从初二至高三,我就鲜有接触电脑了。

      再次与计算机结缘是高考的志愿填报,高中我喜爱生物,曾参加奥赛,取得了一点小小的成绩,报考志愿时,所有志愿的第一专业全都填上了生物工程。后来二伯父告诫说“生物工程毕业了就业不太容易!”(纯粹个人看法)。当时志愿表已上交至教育局,家人商量后遂连夜从教育局重新领表,改报了计算机科学。其实入学后,我仍心有不甘,选了不少生物的选修课,买大部头的原版外文教材,还试图寻找转专业的机会,但后来慢慢离自己最初的理想越来越远了。当初那些和我一起学习生物的伙伴们,现在有两个在美国攻读博士学位,还有几个也像我一样选择了生物工程之外的专业。时至今日,我认为生物工程与计算机科学之间的抉择是我人生路上一个分叉路口,并没有对错之分。我仍然对生物工程怀着一种特殊的感情,同时拥有了新的梦想,我热爱我现在的专业,正努力前行。

      上了大学,陆续学了C,VB,C++,Java等编程语言和计算机相关课程,学习这些编程语言的时候也没有什么特别的地方,无非就是听课,看书,上机练习。上机时,最初是老老实实地照着书敲代码,然后开始尝试做一些修改,犯错误,修正,再犯错误,再修正……如此反复,慢慢地就熟练了起来,能脱离课本写一些代码,记得本科时写的最长的代码就是编译原理的课程设计,用C++写一个语法分析器;还有本科毕设时实现的一个简单的Web日志挖掘系统,大概有几千行代码。

本科期间并未参加实际的项目开发,直至大四暑假,我认识了杨晖学长,并加入了数字立方工作室。数字立方是由比我高一届的学长们所成立的一个学生工作室,有数十名志同道合的成员。学长们希望能够把工作室建立成为一个良好的发展和交流的平台,其主要形式是通过对外承接项目,通过项目协作的方式来进行运作。我参加的第一个项目是基于.Net平台的Windows应用程序开发。之前所学的各种编程语言和计算机相关基础知识,使得我能够较快地学习C#语言和.NET平台的相关知识。项目采用工作室所写的一个代码生成器XCode,用于从设计好的数据库自动封装成数据访问层的代码,支持对数据表基本的查询、添加、删除和修改等操作,这样对于我这样刚入门的菜鸟,就不必过分关注于数据层访问代码的细节,可以集中精力于逻辑层和表现层的实现。关于逻辑层和表现层,我一开始也是照着学长们写好的例子依葫芦画瓢地写。总之,一切从简单入手,可能一开始并不太清楚为什么要这么做,为什么能这么做,但回过头来,再去细细琢磨,便能更多地了解葫芦内部的结构和细节,以此举一反三。第一个项目几乎占用了我整个大四暑假的时间,研究生入学之后,我更多地转向了ASP.NET的Web开发,慢慢有了更多的项目经验。

      我的研究生导师郭平是一位副教授,治学严谨同时也平易近人,“郭家军”则是我们对自己自豪的称号,我们这支郭家军在郭老师的带领之下,总是充满着欢乐和友爱。研二上学期末,我荣幸地获得了前往MSRA实习的机会,但当时导师的项目也刚刚要上马,郭老师仍欣然批准了我的实习申请。应该说我对郭老师的感激,不只是平时他对我们这帮郭家军弟子们的指导,更多的是他对我追逐理想的理解和支持。

      2007年1月份,我便开始了在MSRA创新工程中心组为期一年的实习。MSRA的实习经历是目前为止我学习生涯中最大的收获之一。在MSRA我仍然主要从事我所喜爱的ASP.NET Web开发。我参与了完整的项目开发生命周期,学习和实践了MSF(Microsoft Solution Framework)敏捷方法论中许多有效的编程实践方法,这些都是我在学校所没有接触过的。之前在学校所参与的项目和工作停留在一个比较肤浅的阶段,往往会陷入为了做项目而做项目的被动局面,存在着较多重复性的工作,很多知识仍然是一知半解。在MSRA的实习教会了我如何更加深入地考虑问题,例如在以往的项目中,往往是以实现基本功能为目标,而现在我知道,除了实现基本功能之外,还有很多方面需要考虑,例如性能问题,安全性问题,用户体验等等。我正是在MSRA实习中去实践这些问题,锻炼了自己分析问题和解决问题的能力。我即将前往上海Windows Live China入职,这也与我在MSRA的学习和成长是不可分开的。

 

      以上便是目前我普通且简单的编程之路,我知道我才刚上路!

 

 

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

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

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

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

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

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

李东:我的编程起步

陈远:兴趣是永远的老师

张晓:我与程序

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