发信人: hunter__fox(雁回西楼)
整理人: foxzz(2003-06-22 13:37:42), 站内信件
|
在这里,回忆一下我堕落的全过程,从最开始的诱惑开始,到如今的现状.
我最终踏入电脑编程这一行,我自己都没有想到.
第一次接触电脑,是在一个朋友家里,那是一台386机子.当时看到屏幕上飞快的闪过一行行的英文字母,感觉这个东西很神奇.正好暑假没什么事做,就向他要了一本讲DOS命令的书拿回去翻.
顺便说一下,我当时并没有对电脑产生多大兴趣,只是没事干,找本书打发一下时间.
后来几天里,记住了一些DOS命令,但一些复杂点的问题,还是没明白,印象最深的就是CD和DIR命令,当时觉得这两个命令简直是太神奇了,喔,对了,还有一个TYPE命令.
一个星期后,朋友把书拿回去了.又过了几天,这几个命令的用法,我已经完全不记得了.
在第二次去他家里时,我跃跃欲试,可是一坐到机子上,就不知道该怎么办了,一个是找不到相应的字母,第二个原因是忘记命令了.当时这个朋友对我说了一句话,这句话对我以后在电脑知识的学习影响重大.
他对我说:电脑这东西,一定要在机子上动手才行.
当天,我对着书,试了试DIR命令和CD这两个命令,这也是我第一次真正接触电脑.
后来,我到深圳打工,心里就在想,我怎么能一辈子拿铁锤和镙丝刀做修理工呢?我要学点别的,要奋斗.
那时所想到的奋斗,说起来很可笑,只不过是想拿更多的工资,有更多的钱.
第一年,我存下了几千元钱,跑到广州(注意,是广州,而不是深圳)买了一台二手的IBM PS55回来.这是一种一体式机箱的电脑,在当时已经过时了,那时候电脑已经进入奔腾(俗称586)时代了.这种机子,显示器下面就是机箱,是做在一起的,乍一看,就只是一个显示器而已.主频90M.
当时安装了最新的操作系统Windows 95.我买时没有试机,搬回家里,一开机,被里面的图画吓坏了.不知道该如何用.于是在晚上10点钟打电话给一个有电脑的朋友,让他来看看.
他来了拿起鼠标,这里点点,那里点点,让我眼花瞭乱.他告诉我,机子没问题,可以用,我可以先学打字.临走,他告诉我,如果有什么不明白的地方,就按F1.
这是对我影响同样重大的一句话.
在这之后的一个月时间时,每天下班,我就会在电脑前.练1小时的打字,然后看Windows帮助.一个月后,打字能打80多个了,Windows帮助也看完了.
当时,觉得最神奇的莫过于Windows里的两个功能了.一个是文件查找功能,另一个就是Windows自带的游戏.
朋友告诉我,Windows里的功能,都是程序,是程序员编出来的.他给我找到了QBASIC程序,说,这就是编程的工具,用它,就能编程序了.说到这里,大家一定会笑了,用QBASIC编程序……
于是,我就又开始看QBASIC里的帮助了.
在用了三个月时间QBASIC之后,这才明白,原来,QBASIC并不能编成单独的可执行文件,我就放弃了QBASIC.
我在书店里看各种电脑杂志,其中讲,微软有专业的开发工具Visual Basic,有中文版的.文章说,它是怎么怎么简单,使用QBASIC的人可以轻松学会它.于是,我就开始到处寻找这个Visual Basic.
我用的第一个版本是VB5.0.我又花了不少时间去看它所带的帮助.
当我看完帮助,开始动手写自己的"程序"时,VB6.0又出现在我的视野中.
当然了,文章又开始说VB6是如何如何的好.于是,我又弄来VB6.
VB6没有自带的帮助.我最开始并不知道有MSDN这种东西,我还以为,专业的开发工具都是不需要帮助的,所有的程序员都需要牢记各种命令和函数.
我买来一本关于怎么用VB6的书,这也是我买的第一本电脑书籍.一年来,我只是靠电脑里的帮助文件在学习它.电脑与其它工具不同之处就在于:你使用它,它会教你怎么去使用它.
这本书,也算是对我有深刻影响的书之一.因为我在书里看到一句话:如果要得到更多的信息,可以看MSDN.
这也是对我产生重要影响的一句话.
于是,我开始满世界去寻找MSDN.
但在我的圈子里,没有人玩编程的,谁也不知道MSDN是什么.
一个偶然的机会里,我在坪山一个买盗版光盘的店里,发现了一本光盘上带有MSDN的字样.看完背面的说明后,我的心情几乎无法用言语来形容.
我知道,我已经深陷到编程的世界里无法自拔了.
我买了这张光盘,第二天,请假去深圳赛格买了外置的光驱(对于现在用电脑的人来说,外置光驱可能已经是很不可理解的东西了).
安装了MSDN后,我花了大约4个月,将里面的所有中文部分看了一遍.这期间,我也将Windows里的帮助文件和那些txt文档看了一遍.
在圈子里,我已经是小有名气的人了.每当有人的电脑出了问题,都会找我去看看,凭着看了那么多的帮助,绝大多数时候,我都不会让他们失望.每次帮别人解决了问题,别人眼中的那种感激和佩服的感情,让我有极大的成就感.
这种成就感就是我继续深入下去的动力.
我放弃了对各种乐器的爱好.将吉它,笛子,口琴,二胡等乐器都送了人(当然,不是一次送出的),我的全部业余时间,都放在了电脑编程上了.
朋友们笑我,说我把电脑当成女朋友了.事实上,在我买电脑后半年,女朋友因为我天天陪电脑而没时间陪他,就已经离开我了.(笑)
当时,我的代码没有什么风格,我也没有去想关于代码味道的问题,因为在我的圈子里,没有人会关心这个问题,只要我做的东西好玩,有意思,或者对他们有用,这就够了.
第一次注意到并意思到这个问题的重要性时,已经是在我开始编程一年后了.
一个朋友找到我,问我,能不能把我原来做的一个小程序加一个功能.我打开自己原来写的程序时,已经不能阅读了,我不知道哪里是做什么的,更无从改起.我开始一段一段的写说明,这用了我近一个星期的时间.然后,我用Word画出了整个程序的结构,这才确定该从哪里动手改.
这之后,我整整一个月什么也没有做.我在想一个问题:怎么样才能让我的程序代码在很久之后我还能很好的阅读呢?一小段代码,我可以明白是做什么的,但如果太长了,或者要从数千行代码里找出它,怎么才能方便呢?
我次买了一本翻译来的书:《VB高级编程》,这是我学电脑之后买的第二本书.
这本书解决了困绕我一个月的问题,方法就是文档和注释.最笨的办法往往就是最有效的办法.我决定老老实实写注释和文档,虽然我不知道文档该怎么写.
这本书也让我学到我许多,很多我之前从没有想到过的问题,通过它,我一一了解到了.
如果要问我,哪本书对我产生的作用最大,我想,那就是它了.
我学会了在比代码更高的层次去考虑问题,从数据的流向去发现解决问题的办法,学会了通过包装函数来使代码通用于多个编译平台,通过陷井机制来程序更稳定……
这本书,让我知道了,什么是真正意义上的编写程序.我感觉我原来两年时间,只不过是在地上爬而已,而现在,至少,我已经知道,该怎样站起来了.
我把我原来的代码全部编写了注释和文档,虽然它们能再次用上的或能性几乎为0.至少,这一过程让我学会了写注释和文档.
家乡里的朋友也知道我在编程序了.我做的第一个商业程序,就是家里的朋友帮我找的.为图书城编写管理软件.钱并不多,只有不到两万元.我犹豫了很久,才决定接下这个活,我辞去了深圳的工作,买了一台电脑,回到家里.
和另外一名编程的朋友一起,奋战了近半年时间,终于完成了这个系统.它功能很简单,对图书的入库管理,然后是上架的数量控制,然后是图书上架位置的查找,还有销售管理,最后是几个统计表.这就是一个简单的进销存系统.
我们两个人花去了半年时间,每天工作14小时,从穿阗裤头吹风扇一直干到穿着棉衣烤火炉.终于能够在过年前完成所有的调试和试运行,并拿到了钱.
事后一算,这样做,还没有我在深圳修机器挣的钱多.
这让我苦恼了一段时间.为什么会这样? 是因为卖得太便宜了,还是别的什么原因?
如果是因为卖得太便宜了,那么,我们只有一个办法,那就是做通用的软件,一个软件买给多个用户,这样就能收到更多的钱.
但最终,我还是否定了这一点.交不是价钱的问题.我做的软件越是通用,我在开发过程中所需要花时间了解的东西也就越抽象越复杂,通用性并不是将低成本的最终途径.
带着这个问题,我又来到深圳关外(关外,就是指边检站之外,在关外是不需要办理边境证的).我在一个电脑培训公司找到了工作,工作内容就是教学员学用Offic里的Excel和Word.我在Office里发现了Access.这之前我知道的Access仅限于在VB中使用它,并不知道,它是一个完整的东西,可以有自己的表单,报表还有一些程序.
当时,我第一个念头就是:如果用这个做那个图书城的进销存系统,可能只需要很短时间.
至此,我才开始接触了数据库系统.
我知道Visual Studio里有一个用于数据库开发的开发平台,那就是Visual FoxPro,但对于它是一个什么样的东西,我没有去了解.
于是,工作之余,我买了关于VFP的书看.然后,添置了我的第三台电脑(第一台PS55已经寿终正寝了,除了一块不到300M的硬盘之外,其它部分早不知去了哪里).
我安装了VFP6.0和VB6.0,当然,还有MSDN中文版.我发现,这个中文版的MSDN里,多出一些关于VFP的帮助----它们原来是英文内容,现在是中文的了.
一本书,加上这些帮助,我又开始了对VFP的学习.
我用了三个月去了解VFP命令和环境,然后开始重做那个进销存系统.
这一次,我只用了不到两个月时间,就完成了,而且,还加入了一些原来系统上没有的功能.
我自己算了一笔帐,用VFP我一个人需要两个月,用VB,两个人需要6个月,那么,使用VFP的效率就是使用VB的6倍.那么,这个软件的售价即使将到原来的一半,我的收入也接近5000元了.
利欲熏心的我,惊喜于自己的这一伟大发现.
在我使用VFP编写的数据平台顺利替换了原图书城的系统后(当然,这个软件是免费的,作为对原系统的免费升级),这个公司对新系统的评价给了我很大信心.
在这之后,我开始了真正的程序员生活.
我为各个小公司编写系统,从进销存,到MIS,到OA.有时一个人,有时四五个人.两年时间里,我完成了最初的梦想,存款是一个定心丸,我也不想更多的,每个月的利息已经够全家开销并有节余,我已经不再为钱而工作了.
但我还是离不开编程.我学编程的最初动机是为了钱,但当我不再需要更多的钱时,我却已经对编程上瘾了.
我不再为小公司写系统了,我需要了解更多的关于编程的东西.
为着为这原因,我离开了深圳.我觉得,在深圳,你可以挣到很多钱,但是,你在工作中学到的东西实在不多.我去了西安,在一个由大学和总公司合办的软件公司里找到了工作.
工资在软件行业里来说,应该算是很低的了,基本上,每个月我都会用完所有的钱,好的时候会多出2、300.但我学到了很多.
我看了关于系统设计的一些书,学了离散数学和模糊数据,因为公司的总经理是大学里的教授,员工里也有相当一部分是软件学院和大学里的学生,我被许可每星期到学校里旁听两节大课(当然,是不影响工作进度的前提下).
我有时也代替公司里的学生去听课,他们在公司玩游戏,而我去他们的课堂上做笔记.
毕竟,我只是初中毕业,虽然也自学了高中的数学,但对于编程序来说,这还是远远不够的,很多东西,需要理论做为后盾的.
在这里,我渐渐明白一个道理:知识是无穷的,我没法去了解到电脑的方方面面,我只能精通有限的部分.
我放弃了对加密的研究,放弃了对网络理论的深入,我决定将目标集中在数据和流程上.
从功能实现的流程,到系统开发的流程,我完成了从程序员到开发组长的升级.但我并不喜欢这一改变.它让我不得不花更多时间去处理成员间的协调,以及考虑整个系统的结构等问题.最初编程的成就感已经是久违了.
在数据方面的研究,却使了得到很大的快乐.前辈们的智慧是令人赞赏的.从数据库到数据结理论,再到专家系统,再到决策系统,每一步,都可以算是开启了新天地.我看到的世界越来越宽广.我想,仅是数据这一方面,已经不是我所能全面了解的了.
因为总公司资金出现了问题,最终,这个公司被撤了,我回到家里.
家里有很多小型的企业,有公家的,有私营的.这个市场看似很大,但是否能够用利盈,我还不能确定.它们需要的是,实用,够用,好用的东西,而不是那种大而全的.有的公司可能只需要一个简单的帐目管理,有的可能不需要OA,而有的,也许只是想通过电脑来联系业务而已.
小而功能单一的程序已经能够满足需要了----即使需要更多的功能,也只需要再安装一个相应的程序而已.
在家这段时间,除了忙叔叔的厂里的的些事之外,我也顺便写了几个这样的程序,但困挠我的问题是,如何做到能将它们随意组合,就像搭积木那样,随意的组合都是可行的,这是一个问题.
看来,在编程这个领域,我需要走的路,还有很远.
---- 作者:hunter__fox【雁回西楼】
来源:网易虚拟社区广州站 VFP版 |
|