十年编程 凌晨
现在是凌晨,想想起来,我写程序,已经有十年了。
如果不是最近合同到期了,还真的从来没想过要总结提炼一下。还记得,在上个项目结的时候,我还对三个○六届的同事说:“要总结,一定要总结!不然你这个项目就白做了!”,每做个项目,每完成个模块,每写完一个类,我都会总结,有什么可以提高的,有什么不足的。可是,我何曾对自己的编程生涯做过总结呢?趁着这几天思考的比较多,就写在这里,既是给自己的总结,也希望,能给同样爱好的人有点帮助。
第一行程序
大概是小时候妈妈经常教育我“穷人的孩子早当家”之类,所以我从小的时候就不要家里给买东西,买也不要(虽然真的买了就真的很激动很高兴)。结果在学校经常有时候会不好意思和别人站在一起,因为穿的太古怪了——我家当然不至于连衣服也买不起。但是惟独一件东西例外。
我上初中二年级的时候(96年),正是谭浩强的BASIC和电脑第一次普及的时候,也是小霸王学习机做广告的年代,什么“你拍一我拍一,小霸王出了学习机”,或者486什么来着。同时,各种各样的学习机也像雨后春笋一样,或者说程序里的bug一样冒了出来。有一天爸妈去逛街,我不在(现在也想不起来为什么他们没带上我),他们看到有卖学习机的,就想起来,学习机,那买一个来促进学习如何呢?那时候我成绩还不拔尖,父母看到了学习机自然就联想起来可以帮助学习,看来起个好名字真重要啊。然后立即又想起来,挺贵的,那他应该又不会要了吧?
揣着这种思想(个人臆断),他们回来了就给我说起来了这件事。我记得很清楚的是,我当时听了很高兴,连连说要买一台,而且是连续几天的想买,大概是没事儿了就问两句,买不买,买了没之类的。爸妈看着我有再不买就开始往地上打滚的趋势,只好在周末开始带上我看各种的学习机,大概,他们也要计算一下经济吧!那时候学习机还挺贵的,最好的自然是小霸王486,价钱就是486块(还好8086退出市场了);还有裕兴,那个更贵,现在想起来还有觉得裕兴就是电脑的感觉,因为它似乎支持软盘呢;其他的便宜的也要一百以上的——就这也很贵,96年的内地小城市(鹤壁,听说过没?),应该有我爸妈一个月工资了吧,咳,真难为他们了。那边是孩子急着想要,这边是家里一个月的支出,最后咬咬牙,买了个两百三的,大忽悠老板说是有二十五种功能,能背单词背唐诗欣赏音乐练习打字驱除蚊虫辟邪招福打酱油……我妈还在问,是不是标准键盘,要不,那练了打字不就白练了么?我早就急的不耐烦了。最终当然是我欢天喜地的回去了。
回去了,立即叫我爸把我家的电视(十四寸黑白,直接导致后来我的电脑也是十四寸,还好是彩显,不过是台式!)搬到院子里,接上学习机,哈哈!急不可耐的把“二十五种功能”试用了一遍,果然呢,可以欣赏音乐,可以让电脑背唐诗,可以让电脑背单词,哇!太了不起了!就是游戏功能弱了点,只有一个打字游戏,其他就什么也没有了。不过没关系,很快我身边就聚集起来了几个小朋友,大家很好奇的研究这“二十五种功能”。同样很快的,他们就不来了,因为隔壁娟娟家买了的是小霸王486呢!当时我很高兴,因为可以专心研究这“二十五种功能”了,特别是其中的背单词和打字游戏。其实那些功能,不过有名无实,唐诗可以背,但是只能背静夜思一首;音乐可以欣赏,不过只有那么五六首,配个蜂鸣器发音;背单词的那个,才有几十个单词……用C语言,普通水平,最多一个月就可以把那二十五种功能写出来——当然是在PC上,在学习机上的,是单片机编程,要复杂一些。回到正题,我爸妈觉得背英语单词的功能太弱了,于是又狠了狠心,跑去花八十块给我买了个“词霸卡”,这个可不是金山词霸那个,是小霸王出的。学习机就是个键盘,上面有个插槽,各种卡插进去,就有不同的功能,那些卡应该是软件固化以后了的,我觉得,是把CPU、内存都集成了进去的。如果插“二十五种功能”卡,那就有了“二十五种功能”;如果插“词霸卡”,就可以背单词,如果插游戏卡……,反正兼容性挺好的。玩的最多的,是背单词和打字,很快背单词就不用了,因为有了词霸卡;但是打字是练了很久,经常有人羡慕我打字时候速度快,甚至有人说动作潇洒,哈哈!不过那时候太小,手指不够长,结果形成的习惯就是我现在打字还是左手比右手熟练,而一些键,比如数字键、符号键盲打就很不准确。
词霸卡,真的不是吹的,挺好用的,从初中英语到高中英语单词全都有,还可以把你的名字记在龙虎榜里(当然去了电池就不能记了,看来它用的是RAM存储器)。用那个东西学英语,唯一的作用就是能提高兴趣,但是这兴趣是不是对英语的,就不好说了。至少到高中我就不再用它了,说实话,用词霸卡的效果,未必就比扯着嗓子背好。也许是这个原因导致到现在我还坚持认为,电脑不可能帮学生学习,至少对学生应付考试是没一点用处的,包括编程课,甚至是汇编语言这样的,不用电脑照样能考高分——但是电脑可以帮助不是以考试为目的的学习。词霸卡我用了很长时间,因为惦记着那八十块钱呢!
因为那个年代正是电脑普及的时候,我爸爸单位就组织大家学习计算机语言,用的教材,当然是谭老师的BASIC了!我也跟着去看,当然不是看电脑,是看发的那个教材,上面讲计算机的起源,用BASIC语言的编程,如何使用命令行与BASIC系统交互……还有那些代码,看得我心里庠庠的,虽然不太懂,但是总觉得不想放下那本书。那本书是黄的皮子,有方格的,有一个角给圈起来了,现在还记得清清楚楚。电脑是不用想了,其实那时候我觉得学习机就是电脑,不同的是换个卡就可以了么——于是跑去娟娟家,借到了她的小霸王486卡,现在还记得,当时说的是“让我长期借来用用”。拿回去,轻车熟路的插上去,启动小霸王卡里的命令行BASIC,试着敲入了我的第一行程序……
它从一个单片机键盘里输入,输出在一台破旧的十四寸黑白电视屏幕上,电源切断以后它就永远消失。而我能感觉到的只是,我在写程序。
从此,开始了,而且不会结束。
那是九六年,十年后的今天,活跃在计算机软件编程行业的小伙子们,大概有很多是和我类似的经历吧,从学习机、命令行交互的BASIC(我初次接触的,大概是GW-BASIC)语言开始走向计算机编程的道路。那个时候,Borland和MS的C++大战才结束,淡淡的硝烟弥漫着散去后,Borland C++虽然依旧能勉力维持,Visual C++却已经大获全胜;Java和Delphi已经呱呱坠地,宣告新时代的到来;BASIC早已经从命令行-集成界面(QBASIC)-可视化(Visual BASIC),发展得百花齐放;Windows 95才让微软确定了巨头的地位,Linux已经崭露头角,开始对抗隐然成形的微软;网景公司却在一个意外的角落里,给了这个新巨人个教训;OOP、OOD的各种概念,正在蓬勃生长,泛型、设计模式、针对契约编程、防御式编程早已经成为惯用的技术,敏捷开发大概还没有提出来。互联网,也在快速崛起——计算机行业一如既往的拼命扩张着,各种各样的新东西被翻上去,再打下来——而我们,却在一个闭塞的小城市里,写下第一行PRINT语句,激动的等待着输出的结果:
会是我期望的吗?
[原文在百度空间已经关闭]
标签集合/Tag clouds
C++
Symbain
轻松汇编
算法
论文学习
资治通鉴
Delphi
编程之美
Poco
MFC
Linux
IFC
知乎
汇编
数据分析
交叉编译
poco
j2me
android
XML
Java
DTD
飞信
零宽断言
诺基亚
联系人
编程
真值表
池西木
正则表达式
多线程
命令行
优化
stream
configure
cmake
VIM
UiAutomator
TDD
Symbian
Sqlite
SourceInsight
Python
MPAndroidChart
Kotlin
Flutter
Dokka
Chatgpt