我的计算机情缘

相识

       最早看到计算机是96年上高一的时候,老师教我们学DOS和UCDOS,还发了一本教材(上面有键盘布局图),那个时候电脑386,而且每次去机房都要脱鞋,那个味道真是别提了,当看到老师用键盘飞快的敲击命令,就佩服的不得了。不过使用电脑的第一次是尴尬的经历,我连字母在那里都找不到,被迫晚上关灯了,还在被窝里在手电筒的帮助下默记键盘布局图。当时的感觉就是在懂与不懂之间,但是很好奇,也有点淡淡的喜欢,也算是相识了吧。不过到高二的时候,学校就不开计算机课了,叫我们努力准备高考。

心动

       99年,我也上大学了,北方的一所普通本科,读的专业是机械设计制造及其自动化。大一的时候有门课是QBASIC,好像非计算机专业都有这个课,老师先讲DOS6.22,然后再讲QBASIC程序设计,有了以前相识的经验,我学的比较快,其它同学有问题,也总来问我,当时觉得自己很牛啊,因为读书的时候,要让别人佩服你其实不容易。当我虚荣心得到满足,就学的更带劲了,老往机房跑,实验自己的各个想法。用QBASIC在486(99MHz)上用SCREEN 13模式下画圆,画五星,当看到那些神奇的画面的时候,我觉得自己对她心动了,考试的时候,我用全年级的QBASIC第一高分(93)来向她表露我的心意,怎么当时我就没有画一朵玫瑰呢,好像很难。

追求

       大二的时候我开始自学C语言了,用的编译器是TC,特别要说一说TC在486上跑起来真是流畅啊,感觉非常好。一开始C语言还真是难啊,特别是指针和结构体,看不懂啊。唯一没有变的是我在机房的时间在持续增加,经常有些不重要的课不上了,跑去机房写程序。那个时候上机是5毛钱一个小时,机房的老师都认熟我了,他有事情出去了,还叫我帮他收钱。汗,难道就不怕我贪污。那个时候,真是刻苦啊,经常是到晚上10点多回去,一出计算机学院的大楼,就看到漫天大雪,但一点都不觉得冷。

       我有个同学是搞计算机等级考试报名的,我在他那里花了110大洋,报名参加3级B类考试。觉得考2级浪费钱,就直接考3级了。还好,考试的题比较简单,顺利考过了。

       大二的夏天,我就开始学了VB6.0, VF6.0, 呵呵,机器都变成586了。看到图形界面后,那感觉爽呆了。

相恋

       上大三了,秋天的时候宿舍买了台电脑,6个人合买的,花了4800大洋,不过才8M显存,450M Hz, 64M RAM, 不要小看她哦,都装过Win98,Win2000,WinMe,RedHat,我们就轮流陪她,一个星期,我才轮到一次。

又一个冬天来了,外面仍旧是白茫茫的一片,可我的心里是火热的。有人跟我说C++才是王道,我开始自学C++, 当又一个夏天到来了的时候,我买了本清华的都是一个一个的例子,看到书做。VC真是吓死人,一个问题,可能就导致几百个编译错误,把我吓坏了,后来习惯了,才不会那么大惊小怪了。第一个实用的程序就是用VC开发的,一个设计V型传动带的程序,输入参数,计算并打印设计报告,程序大概3千多行的样子,很多都是公式和数组,呵呵,这个程序唯一的作用就是给老师用,改作业的时候,心里有个底。

热恋

       大四开始,开始做课程设计,我的课题是《多点测温系统》,分两部分,一个是单片机硬件,一个是上位机软件。软件功能就是通过串口与下位机通讯,采集各个传感器的数据,然后保存,显示,分析,打印。为此我还去租了一台好点的电脑来写程序,写了大概2个多月,每天都在写。这个工程都是用VC写得,就是从这个项目中,我才真正的明白了一点软件开发是怎么回事情,那个时候上的最多的网站是www.vckbase.com,看里面的文章,把例子一个一个的下载下来研究。当时到了废寝忘食的地步,那个感觉只有热恋中的人才能体会。现在我都还保存了那个软件的安装文件。其中涉及到技术包括:通过ADO操作ACCESS,串口通讯(MSCOMM控件),还有VC的文档视图结构,现在看来,那样的软件也只能算是一个作业。

分手

       大四毕业,我到了广东顺德到美的生活电器事业部做研发,开始做我的机电专业,感觉我要跟计算机分手了。后来因为其它原因,我离开美的,开始找新的工作。分手的日子是艰辛的。

重逢

       做机械的工作我不想去,很多公司都我拒绝了。有家公司用ASP做网站的我也不想去,后来去了鸿联95,但是去了几天以后发现那里并不适合我。最后去了一家做系统集成软件的公司。当时的工资是试用期2000,转正后2500,还好包吃住。

       当时非常开心,又可以写程序了,其实工资都少那个时候还真不是很计较,不像现在。刚去领导也没有安排什么工作,自己然后买了本书学COM编程,发现真是难懂,以后用的也少,就没有管它了。

激情时光

       我上班后的第一个任务是做一个短信项目,连接移动和联通的短信网关,然后把数据里面要发送的短信发送出去,因为用了华为和傲天的API,所以还算简单,没有多久就搞定了。

       2004年元旦的时候开发了一个使用GMS Modem发送短信插件,使用串口发送AT指令。

       然后做了一个即时通讯的软件,主要是在局域网内使用,聊天,发送文件,发短信。这是我自己写得软件,本该属于业余时间,可是多数还是在工作时间完成的。所有做过的项目中这个项目对我的锻炼最大的,写了很多的版本,自己都不是很满意,等有空,我继续写。最开始的几个版本就不说了。我说说主要的版本:

l         V0.5 时间:2004年2月 工具:VC6。网络部分用WSAAsyncSelect异步Socket,报文用的是XML,也能用,就是不太稳定,也不太好用,很多地方没有考虑周到。现在完全放弃这个版本了,只能把它放到博物馆了。

l         V0.6 时间:2004年7月 工具:VC6。很多类都是用Rose设计的。网络部分是自己封装的一个TCP Server,内部还是使用的是异步Socket,报文还是用的是XML, 比起前一个版本,有了很多改进的地方。后来发现XML传输数据其实不是一个好主意,平添了很多的复杂性,并不是先进的东西就是适合自己的东西。

l         V0.7 时间:2005年7月 工具:VC2003。这个是个新的尝试,去掉了异步Socket,改成了完成端口。同时服务器程序改成了基于控制台的程序,协议也修改为类似QQ的TCP协议,不再使用XML,一下子世界变得简单了。为了适应在Internet上使用,而我又没有P2P上调式的环境,文件传输就通过服务器中转。

l         V0.8 时间:2005年12月 工具:VC2003。在V0.7的基础上的网络部分使用ACE的reactor代替,稳定性随之大幅提高,成熟的库感觉就是比自己写得代码要稳定。为了支持离线文件传输,还写了一个基于ACE的FTP Server,然后结合到系统中来。最后不得不感慨FTP设计的简洁和合理。本打算把服务器搬到FreeBSD上的,看到数据库操作的那些代码,就打起了退堂鼓。

l         V1.0 时间:2006年9月 工具:VS2005。我大胆的把它命名为1.0,因为这个时候,我学会了C#,当然要用C#把我的心爱的IM软件改造一番。增加了很多的新特性,是以Google Talk为目标的。

生活

公司的项目也不是很多,几个主要的项目有:

l         2004年10月 视频控制服务器

跟硬盘录像机通讯,为别的软件使用它的功能提供标准的接口

l         2004年11月 综合显示系统。一开始用VC6.0写得,到2006年9月实施的时候,发现公司一开始的需求不准确,我在现场的时候,用了几天时间使用C#把那些程序重写了,都没有怎么测试就部署使用了,到现在客户竟然都还没有提意见,神奇。

l         2005年11月 做了一个OPC Server,几千个数据点,几十个设备,很复杂的要求,花了我很多时间,对稳定性的要求也高。一开始用C++写得,但是运行几天程序就莫名的不工作了,总也找不到原因。无法为了自己的名声着想,到2006年3月份时候,边测试设备,边开始新版本的编写,也就是那个时候C#用的多了起来。我把其中的一部分代码用C++/CLI 封装了,拿到C#中调用,后来程序都很好的工作了。特别的是因为那些设备都是用串口通讯的,所以我那个时候,我试用了很多串口通讯的方法,汗,最后发现还是.NET 2.0自带的串口控件最稳定,其它的或多或少的有些问题。因为里面的设备类型非常多,所以把设备驱动都做成了插件,为了能在数据库中保存插件中未知类,自己还写了个ORM,那个时候真是坏了。

l         期间还开发很多小插件,现在都不太记得了。

巨大的转变

2006年12月我离开了以前的公司,去了一家做嵌入式开发的公司,在Linux上开发楼宇控制器。想不到去了那里第一个任务就是在ARM Linux开发一个Web应用,那些网页都得用AJAX技术写,无刷新查看与之连接的设备的实时数据和系统状态。想不到去做嵌入式开发,却把JavaScript练得这么熟悉。

       效果都是使用CGI+XML实现的,呵呵,有空我把这个经验介绍给大家,很有趣,就是工作的方式没有以前用CGI直接输入HTML那么直观,不过效果很好。

       一开始我对使用C语言比较抵触,但后来发现除了C语言,我根本没有其它的选择。我现在每天都在FC6+eclipse+ctd下面工作,不过也习惯了,没有以前那么别扭了,不过还是怀念Visual Studio工具的强大,好用,智能,而eclipse好半天一个智能提示都出不来。
      
      最后我想了个办法,终于可以在嵌入式Linux上跑起了Mono,生活一下子幸福很多,又见.NET。

困惑的将来

最近写程序总是提不起精神,上班回来,就觉得很累,变得懒惰了,失去以前的激情和动力,是不是年级大了,精力不行了。如果真是那样,我将来到底该干什么呢?也许是该退休的时候了。

总结一下:

l         学计算机尽量越早越好,培养兴趣很重要。

l         要勤奋,尽量不要打游戏等娱乐活动,多看书,多思考,多实践。

l         方向很重要,时间很宝贵,把时间都用在正确的研究方向上。

l         培养严谨专业的工作作风,不然你写的软件没几个愿意用的,除非你是天才。

l         多交流,跟同学,同事,朋友,多上专业技术站点。
posted @ 2009-09-14 00:40  南桥一梦  阅读(3569)  评论(19编辑  收藏  举报