二、漫长的理论学习时期
1.从电脑培训班开始
我毕业后的第一个工作单位是一个非常差的企业,我在那儿见识了几乎所有中国差的企
业的弊端:人浮于事,拉帮结派,暗箭伤人,损公肥私……。可以想见,在这样的企业工作,
人是多么的颓废。我在无聊之中过了大半年的时间。1994 年4 月的一天我去桂林新华书店
买书,看到桂林电子工业学院老师举办一个电脑培训班,教打字、排版、常用DOS 命令等
电脑使用基础,反正也没事,不如上个班学点东西吧。不曾想就是这样一个培训班,却根本
影响了我的人生之路。
我清楚地记得当我第一次上机时,连电脑开关在哪都找不到,老师拿着一张五寸软盘,
插入软驱,打开电源,在一阵“吱吱”的声音之后,屏幕上开始有英文字符出现,然后,教
师在键盘上敲入几个键,电脑沉默一会,突然在屏幕上跳出一个小人,出现一行字:快快乐
乐学电脑,还传出了音乐。我当时真是惊呆了,电脑怎么还会唱歌?现在想起来,那个软件
其实是台湾松岗系列教学软件,而我一个大学本科生,在毕业之后居然对电脑无知到这个地
步,我真不知道是该哭还是该笑……!
俗语说:“一见钟情”。我是相信这种事的,因为就是这第一次上机,让我产生了搜索这
一神秘世界的强烈兴趣,从此就再难与电脑分开了。
当时,有两位电子学院的老师:尹老师和陈老师。他们给我们讲DOS,讲汉字输入,
讲他们如何修改天汇汉字系统使它能在一张软盘上运行,讲打字排版……,一个月之后,我
不满足,又学了一个月。
在上培训班的时间里,我向老师要来了桂林电子工业学院计算机应用专业本科四年的培
养方案,回到家中,列出了所有本科课程,再根据书上的先修课程介绍,绘制了一张巨大的
课程树,从树根开始,决定一本本地啃,从头开始学计算机技术。计算机科学的学习有较强
的系列性,想一步到位很可能会学不懂,但循序渐进又无法跟上技术发展的速度,这是一个
非常突出的问题。我现在想起来,觉得好的学习方式是:学理论打基础,在实践中逐步理解
理论,多思多悟,就会发现层出不穷的新技术中有许多一直不变的东西存在。把握这种东西,
就可以以不变应万变。这种“不变”的东西是什么?就是软件开发的基本原理与理论,基本
思想与方法!在我对面向对象理论进行了较深入的学习与把握之后,我学.net 只用了三个月
的时间就可以独立设计一个完整的全面向对象软件架构,并且用VB.net 与C#混合语言把它
给做出来了。对于J2EE,我同样有这种自信,也用三个月的时间,一定可以开发与设计基
于J2EE平台的软件,因为它们背后的计算机技术基础是一致的,完全可以触类旁通。
尹老师和陈老师可能不知道,他们开的一个也许是为了经济效益的培训班,最后居然培
育出了一个计算机硕士!所以,作为一名教师,其责任真的是非常重大的,可能会影响学生
的一辈子,我感激他们!
2.漫长而艰辛的学习之路
我当时每月只有一百多元的工资收入,把大半收入都用到买书上去了。电子工业学院门
旁的那个科技书店,以及桂林科技书店,成为了我最常去“站读”的地方。我买了数据结构、
操作系统、微机原理、IBMPC汇编程序设计,C 程序设计……这些教材,就按照预定的计划
5
开始学了。
我当时也说不清楚为什么要学这些东西,决不象现在学生学什么东西都有很强的功利
性:学英语为了出国,学电脑为了好找工作。当时根本就没有想过今后如何如何,就是对计
算机技术本身的兴趣推动我去学习的。
当时计算机书还不象现在这样扑天盖地,我几乎看完了我能弄到的每一本计算机书,看
了一些书,就特别想有地方上机,能练一练。但我一个月一百多元收入,一台电脑怎么也得
几千元,要五六年不吃不喝才攒够钱,父母都是普通百姓,家境仅能温饱,拥有一台电脑真
成了我最大的美梦。
为了有机会上机,我这个脸皮极薄的人也会什么都顾不上了,带着一盒保存着各种软件
的软盘,厚着脸皮到处找可能的地方上机。在这个时候,电子工业学院又一次帮了我,他们
的机房管理得并不严,我就冒充是他们的学生去买机票上机。后来去得多了,那儿的老师都
熟悉我这张脸了,但搞笑的是,居然没一人知道我是哪个班的!
当时电子学院用的局域网操作系统是Novell,我在那儿学会了使用许多最基础的软件,
现在仍然如数家珍:CPAV,Turbo Pascal 5.5,UCDOS,TWAY(天慧汉字系统),Masm,
TurboC2.0,还有鼎鼎大名的Norton 公司的磁盘医生NDD,PCTOOLS,Borland 公司的最
牛的常驻内存的软件SideKick,……
在电子学院机房,我还玩了经典游戏:决战中国海,冒险岛,战斧,三国……。
学校网络里软件很多,但其中所染的病毒也五花八门。我记忆深刻的是第一次遇见Dir II
病毒时,那种感觉决不是害怕,而是欣喜,呵呵,我见到病毒什么样的啦!由于DOS 内核
是开放的,所以那时开发一个病毒程序相对容易,大家又都喜欢用软盘拷来拷去,结果毒源
泛滥,病毒的猖獗使得杀毒软件有了巨大的市场,现在大名鼎鼎的江民KV系列,就是在那
时开始占据中国防毒市场,同时还有公安部的Kill等竞争对手,瑞星,金山等都是后来者。
那时,我白天在公司上班,就盼望着晚上的上机,每次上机我都有详细的计划,因为机
时宝贵,所以份外珍惜。
为了上机时能多敲些程序,我一咬牙,向妈妈要了两百元,买了一台电脑学习机,回家
苦练英文指法与五笔输入,每天对着家里那台14寸的电视机屏幕,敲击至少键盘2小时以
上。练得手腕酸疼,但终于达到了运指如飞盲打的程度。学五笔,背字根“目具上止卜虎
皮,……”,足足花了一星期才背下来,并把每个字根与手指对应起来,后来看报纸都不自
觉地将汉字给拆得七零八落,再也看不到是一个完整的汉字啦,当时好象练到了每分钟可打
60 多个字,后来我居然靠着这弹指神功当了一阵打字员混饭吃!呵呵,练好了指法,一上
机,确实效率倍增,两小时能敲入并运行调试的程序比以前花三小时敲的还多。
94,95 年是我条件最差,但学习劲头最足的两年时期,外在环境的恶劣,却反而造就
了我高昂的学习兴趣,那种痴迷,我想热恋也不过如此了,可能因为我太喜欢计算机了,所
以爱情与我无缘,这也是无可奈何的事。 :-(
我特别想说说我学习计算机技术书籍的感觉。如果你真的喜欢一门学科,那在啃一本本
专业书籍时,就决不会觉得它厚,而只嫌它不够厚。对比我在本科学《电磁学》、《自控原理》
之类枯燥无味的课程的感觉,那种课程脱离实际,从纸上到纸上,学生根本无法真正掌握。
而学计算机课程《C 程序设计》、《数据结构》、《操作系统》等课程的感觉真是天壤之别,原
6
来本科学的东西是越学越糊涂,而我在学习计算机科学的过程中自己就感到慢慢地将所有的
知识串成了一条线,脑中有一棵知识树在成长,这不是形容词,是真的感受。我学DOS 命
令,学了很久不明其道理,是在一天早上醒来时灵感一来,突然理解了文件与树的概念,于
是,就真正把握了DOS 命令的内涵,开始对Copy,format,Move……这些英文单词游刃
有余了。有段时间,我甚至能感觉得到我的知识在与日俱增!如果那时能有相对稳定的客观
条件:比如有一台随时可用的计算机,那我一定学得更快更好。不过话又说回来,条件好的
时候,人又容易为安逸所累,进步反而慢。还是那句老话:业精于勤荒于嬉。现在的许多学
生就是物质条件太好了,反而不懂得珍惜。
后来我看了金庸先生的《射雕英雄传》,郭靖成了我最喜欢的人物,不是因为他有黄蓉
的爱,而是他那种坚忍不拔的毅力,以平凡之资终登绝顶!金庸先生真是妙笔!此小说我不
知看了多少遍。
最值得怀念的就是我学编程的岁月,我学C 语言用的是谭浩强的《C 程序设计》,当时
谭老师在电视上同时讲C程序设计,我每天必看,把书上的每道例题与习题全部做了一遍,
并写出了每次上机的安排。我每次都先在纸上把程序写出来,然后上机时争分夺秒地在计算
机中调试运行,并根据运行结果思索为什么会运行不正常,在哪儿出错了,如何更正,上机
完后还有总结。就是这样,我把谭浩强的《C 程序设计》一书中的所有例题和习题全部敲到
计算机中运行了一遍,打下了C 语言扎实的基础。谭老师的书和课,的确影响了中国多少
名程序员!
我学了C 语言之后,就开始想做点东西了。我用了一个月的时间,用C 编写了一个中
文下拉菜单的程序,从UCDOS中的字库中提取汉字点阵,然后在图形模式下“画”出汉字
来,使程序能脱离汉字系统的支持直接显示汉字。整个程序应该有一两千行代码吧,全部是
自己寻找资料,一行行敲进去的。后来,我又编了读取WPS文件的程序(当时DOS 下打字
排版是求伯君的WPS一统天下,Word当时在哪里我不知道呢!《电脑报》介绍过的求伯君,
鲍岳桥等作为第一代中国杰出程序员代表,是我当时崇拜的偶像),我还编写了一个绘制简
单图形的小程序,从编程调试的过程中,我得到了程序员基本功的最初训练。我当初没人教,
遇见各种困难只能自己解决,为找出一个BUG,晚上睡觉做梦都在编程,而现在的一些大
学生,程序通不过,马上问老师,甚至有学生把程序发到我的邮箱,叫我帮他调程序!有的
计算机专业学生,学了四年,四年敲过的代码总数恐怕不超过2千行!
的确,我当时的水平很低,现在的本科生比我当时强太多了,但至少有一点他们中的许
多人不如我,他们不如我勤奋,也不具备我的毅力,我觉得这是现在这批八十年代出生的大
学生最缺的东西。
我用一年半的时间基本自学完了计算机专业的主干课程(除了《编译原理》,我实在看
不懂),1995 年我参加了初级程序员考试,结果上下午成绩加起来有90 多分。但96,97
我两次参加程序员级考试,虽然我已有不少编程实践,但仍然通不过,现在看起来,这反映
出一个事实:我理论基础实在太差,天资也并不高。直到现在,我仍然痛感我的计算机基础
理论不好,使我难以成为一名计算机科学家,而只能成为一名不错的软件工程师。
从95年开始,我的生活开始加速下降,我所在的公司由于被一群我现在称之为驻虫与
流氓的人给弄得不成样子,每月连100 多元的工资都无法保证,我只得离开了公司,把档
7
案往人才交流中心一放,就开始了我四年的社会漂浮生活……。
在这四年中,我干了不下四五种工作:当过推销员,当过打字员,当过培训老师,修过
电脑,从事售后服务,甚至摆过地摊……,一切的一切,很简单,就为了能有口饭吃。生活
是严厉的,不讲情面的,我唯一的爱好就是闲下来就拿起我的计算机书来看。当时我大哥说
过:你学这些东西有什么用?能靠它当饭吃?不要惊奇这种观点,在我们那信息闭塞的地方,
当时有谁能想到计算机技术会有如此大的改变社会的能力?我之所以不懈学习,纯粹是为了
解脱精神上的困惑,在技术的海洋中忘却生活的烦恼。我后来有一句名言:何以解忧,唯有
电脑。别人当作一句笑话,但却是我当时的真实写照。
万事都有两面,事情坏到极处,就会向好转化。又是一个很偶然的事,改变了我的人生
轨迹。
1996 年,我的一个高中同学杨考上了湖南大学计算机系研究生,请客吃酸菜鱼火锅。
在大家喝酒时,杨提了一个问题:请大家说出一个自己最想达到的目标。我的桂中同学大多
数都是上的全国重点大学,此时毕业三年了,大家都对社会对生活有了自己的认识,于是就
有了各种不同的答案,我当时的回答是:“我希望能有一天开发出一个好的软件,让许许多
多的人都能用上它。”,这个目标我到现在都没达到。但当时大家是给我热烈地鼓励。杨饭后
跟我说,你既然那么喜欢计算机,为什么不考研呢?对啊,我为什么不去试试呢?当天晚上
我躺在床上,没怎么想就确定了要考研的想法。当时却怎么也没想到,考研之路成了另一条
折磨人的不归路。对我一生的影响深远……
这就是我早期的学习生涯,深深地体现出中国的时代特色。这段时间我的生活是困苦的,
心情是苦闷的,但学习热情却是无以伦比的。现在我一个人拥有两台奔四电脑,随时可上互
联网获取丰富的资源,反而在技术上难有寸进了。越来越觉得古语说得好:
艰难困苦,玉汝于成!
这是生活的真理!
呵呵,大家愿意看,我就愿意写。呵呵,我发觉写文章有时也象编程,一写顺了就哗啦
啦地出来了,弹指神功又叫我敲了近6000字,把中篇给写完了。 这种文章带有浓厚的个人色彩,不掩饰不夸张,我活在世上三十多年,为人光明磊落,
有何事不敢对人言?是好是坏任人评说,我就是我,从不以外人的评价,来决定我自身的价
值。

[转帖]一个老程序员的心理话(三)相关推荐

  1. 一个老程序员的心理话,句句戳心(转)

    一个老程序员的心理话,句句戳心 码易-猿猿-yuan 2015-11-04 12:22:45 中国的程序员是世界上最好的程序员.他们不计报酬,没日没夜地工作. 没有女朋友,没有节假日,可能几年后他们一 ...

  2. 【转】一个老程序员的心理话

    思考再三,还是决定把这篇文章给贴出来,话不多说,直接看文章吧. 风雨十年:一个老程序员的心里话! 曲折的实践之路 1.希特勒地堡与cih病毒 99年4月,我来到北京参加研究生复试.复试完了之后就不回去 ...

  3. 一个老程序员的心里话(转载)

    1.希特勒地堡与cih病毒 99年4月,我来到北京参加研究生复试.复试完了之后就不回去了,我拿着一张光盘,里面刻着我用vb和authorware3.5编的一个cool 3d的教学软件,到处参加招聘会, ...

  4. 风雨十年:一个老程序员的心里话!

    风雨十年:一个老程序员的心里话!   曲折的实践之路   1.希特勒地堡与cih病毒   99年4月,我来到北京参加研究生复试.复试完了之后就不回去了,我拿着一张光盘,里面刻着我用vb和authorw ...

  5. 一个老程序员的心里话

    一个老程序员的心里话 (本来不想写的,实在不想看到某些人误人子弟,混淆视听,耽误了中国IT的未来,所以一吐为快) 一些人总是发出一些错误的声音,形成了劣胜优汰可怕的现象.他们在误导着中国,把我们的后继 ...

  6. 一个老程序员的心里话(大家一定读一读)

    一个老程序员的心里话(大家一定读一读) 本来不想写的,实在不想看到某些人误人子弟,混淆视听,耽误了中国IT的未来,所以一 吐为快) 一些人总是发出一些错误的声音,形成了劣胜优汰可怕的现象.他们在误导着 ...

  7. (精华转看)一个老程序员的心里话

    一个老程序员的心里话  (本来不想写的,实在不想看到某些人误人子弟,混淆视听,耽误了中国IT的未来,所以一吐为快) 一些人总是发出一些错误的声音,形成了劣胜优汰可怕的现象.他们在误导着中国,把我们的后 ...

  8. 一个老程序员的30年生涯回顾(译文)

    前几天,我读到一篇文章[1],一个60多岁老程序员回顾自己的人生. 读完以后,我很受触动,觉得对于软件行业的很多看法,我也有同感.下面就是这篇文章的翻译. 一个老程序员的30年生涯回顾(译文) 原文网 ...

  9. 一个老程序员的发展方向和个人规划

    在IT业界,新人不断涌入,技术不断的更新.每天都要学习新的知识,每天都要看最新报道.我喜欢学习,对知识也有着渴望,但是我毕竟是一个平凡的人,有心情不好的时候,有不能坚持的时候,但是我觉得重要的是,在这 ...

最新文章

  1. 使用google云(GCP)二次利用安装kali Linux(kali browser)
  2. python变量进阶(可变不可变,局部变量和全局变量)
  3. 2019 ACM-icpc西安邀请赛总结(无题解)
  4. SpringBoot中访问静态资源
  5. 图解CSS的padding,margin,border属性
  6. SQL基础选段(2)
  7. MySQL学习(1)
  8. 如何探测局域网中某台主机是否开机_「渲染」3Dmax 分布式渲染,局域网渲染,联机渲染教程...
  9. UVA12897 - Decoding Baby Boos
  10. 腾讯IM : 如何替换String 表情库
  11. 关于成本核算方法、步骤、成本分析的简单回复
  12. Multisim14简介与安装
  13. Aop切面自定义注解的使用
  14. 搜狗输入法5.0_注意!月活超5亿的搜狗输入法向用户电脑植入病毒
  15. electron关闭硬件加速
  16. docker服务假死解决方案
  17. P5.js码绘---阿珊自画像
  18. win11系统用户名称为中文导致文件夹出现繁体字文件夹、系统路径配置错误修改教程(博主亲测,基于win11,系统文件保留)
  19. 使用Html/Css简单创建一个菜单
  20. 解决win10内存占用逐渐变大(亲测有效)

热门文章

  1. JAVA继承面积计算体积_java初学基础 使用继承 计算圆形周长、面积和圆柱体积...
  2. “零售之王”银行数字化转型四大法则
  3. 用MATLAB做SVM预测值一直变,Matlab的SVM预测结果很低,帮我看看原因吧? 数据代码都有。...
  4. 编译可在Android上运行的依赖库(二):gettext库
  5. python中小学生编程学习-小学生python编程在线教育-小码精灵编程线上教育机构...
  6. 动态创建弹框el-dialog
  7. wcs开发_WCS 5.2的评论—用于Webcast和Webcam开发人员的WebRTC服务器
  8. 半方差(semi-variogram)分析的原理和应用
  9. 拖拽图片在Label上显示
  10. 关于Microsoft Edge 浏览器无法使用selenium调用问题