不过,四年的系统学习,对我后来的程序员生涯还是大有裨益。大学毕业后我到了广东的一家银行,从事计算机管理和开发工作,也就是在那里,我开始接触到了因特网。那时,我才感受到了Internet的巨大优势--它通过一条电话线把全世界都连接了起来。我的专职工作是开发和完善银行的储蓄等业务系统,但我的兴趣在Internet上,业余时间还帮索易开发一些较小的程序。在1998年"世界杯"期间,索易希望我能去他们那儿工作,第二天我就答应了, 因为我太离不开Internet了。这一走,我虽然付出了许多,但我坚信Internet才是中国计算机业发展的希望。一个真正的程序员,只有投身到Internet中,才能得到真正的发展。中国的软件开发人员很多,水平很高的也很多,但中国的软件行业长期处于一种低迷状态,我想原因可能是个人单兵作战,缺乏信息沟通。索易最吸引我的地方在于它是一个真正的Internet开发商
软件作品
记:索易的邮件列表系统,我个人认为很出色。你开发得很辛苦吧? 罗:我刚到索易接手系统管理和开发时,系统主要的问题是数据处理性能低下,邮件发送的可靠性得不到保证。后来我们成功地将系统从NT移植到了Unix平台上,并根据Unix的特点对系统进行了一些优化,使得系统效率和邮件的发送速度得到了很大的提高。索易每天都会收到上千封的读者的来信,如果按照常规方式手工处理的话,工作量大得惊人。于是我们开发出了邮件处理系统,邮件从服务器收取、解码、匹配、过滤到最终生成规范的文本实现了自动化处理。以前需要五六个小时完成的工作,现在只要一个小时就可以了。我们还开发了将指定格式的文本文件,转化为邮件软件可阅读的格式软件。这个软件可以完成索易html刊物制作,并对各种邮件软件、浏览器充分兼容,有一定的技术领先性。说到辛苦, 开发一个系统真的太累了。我离开公司的时间一般都在晚上12点以后,对我来说,早已没有周末和节日的概念。我觉得我并不聪明,如果我所做的工作真的能说是"成就"的话,那这些全是靠加班加出来的。我想,这也许是一个值得推广的经验吧。 记:看来要成为一个编程高手还是要"编程有路勤为径"。
网络问题
记:Internet真是一个划时代的产物。 罗:是的。记得我上大学时,似乎没有Internet这种说法。同学之间为了拷贝一个程序就得用一大堆软盘。在报上看到的国外软件,幸运的话,N个月后才会看到。而在Internet的世界中,只要鼠标轻轻一点,即使远在大洋彼岸,马上便可以下载到了自己的硬盘上,这在没有Internet的时代,完全不可想象的。 记:有人认为Internet的发明,可以比拟为蒸汽机的发明。蒸汽机导致了工业革命,而中国正是在工业革命后被世界抛在了后面,那么你认为现在中国Internet的发展如何呢? 罗:中国没有加入由蒸汽机为先导的工业革命,但这次我们至少在前进行列当中。需要指出的是我们现在的网络还存在非常多的问题。比如说电子商务,仅从程序员的角度来说,要编制网上的收款程序并非难事,但是,由于我国金融电子化的发展水平,银行无法实现实时联机支付和账务划拨,这一切还无法马上实现。 目前制约网络发展的问题我觉得有四个方面:带宽、费用、中文资源和电子商务。从用户的角度来说,有两个:一是 网络带宽的限制。中国人编的网络程序,其抗断线的能力、对续传的支持、对慢速网络的适应都是世界一流的,原因无它。上网费用高昂,不仅是对一般的拨号用户,就是对像我们这样的使用专线的人来说也是难以接受的。有时,我有了一些自己认为非常得意的好想法,也觉得可以实现它,但一想到构思中的软件投入使用后所带来的天文数字般的流量,也只能作罢。当然,一切都都会变的,我们也会逐渐和世界接轨,作为一个职业的网虫,我希望这一切能来得更快一些。 记:Internet的技术发展也是日新月异的,作为一个处于最前线的Internet编程人员,你认为Internet的软件技术会怎样发展? 罗:现在Internet网络的开发,似乎还处于一种单兵作战的阶段,最多只能处于一种小作坊似的生产阶段,可能跟十多年前PC机推出时一样,人人都在编制软件,当时的结果是带来了PC软件业的极度繁荣。随后比尔·盖茨出现了,他的"帝国"使软件开发由个人艺术变为一种类似于自动化的流水线生产。 我很害怕Internet上的开发也会走上同一条道路。
网络程序员
记:作为第三代程序员,你认为你们这个群体有哪些特点? 罗:我觉得第三代程序员是以网络作为目标的,换言之,我觉得第三代程序员应该叫网络程序员。我们主要面对的环境和开发的对象与以前的程序员不同。现在我们具备了以前程序员无法具备的优势。我们每天面对的是一个充满了大量信息的超级数据网络,我们有了前所未有的协同工作能力,同时,我们中的大部分人也吸取了前人的经验和教训,也继承下来了兢兢业业的工作精神。我想,这就是第三代程序员的优势,同时也是特点吧。
记:我们的一些读者很想成为第三代程序员,你能给他们一些建议吗? 罗:作为一个初学者,首先要掌握的是一些基本的编程思想。以前经常有人问我,想学编程,哪种语言更好点之类的问题。其实学习语言只是实现一个设计思想的手段,而不是最终的目的。学习编程最重要的是学会一种考虑问题的方法,当你头脑中已经完整地有了一个问题的解决办法,并且也可以将它细化到可以实现的程度时,你就可以用任何一种编程工具将其编写出来。我想,这就叫编程吧。真正的软件开发人员并不是想象中的每天都在计算机前狂敲键盘。要想成了一个好的程序员,在精神上要充分作好不怕累的思想准备,也得放弃掉很多本该属于自己的东西。我真的好累,虽然我累得开心,但累还是累,绝对不是轻松。此外,对编程爱好者而言,我认为要分清职业和业余两者之间的关系,如果只是业余的话,就千万不要太投入,因为生活中除了编程以外需要去关心的事还有很多。 |