July 23rd, 2008不读不是好程序员
在大学的时候开始学编程,做程序员这行当也不过三年,但是多少还是有一些对这个行当的感想。我想,如果说我比和我同时起步的同行们在这一行当做得要好一些的话,那就是因为我读过的计算机的资料在数量和质量上要比别人多一些。要想做程序员这一行当,一定要多读资料。
日常的软件开发任务,很少是重复的,因为需求和软件技术都是在不断的变化。这个行业不能像传统行业那样,一旦找到了解决问题的好办法,就可以如何炮制一千遍。比方说,木匠学会做一种椅子,那么以后他再做同样的椅子,只要严格按照之前成功的方式来做就行了。人们对软件的需求和对椅子的需求要多样化得多。而用来解决问题的软件技术,也在不断的推陈出新,飞速地变化。一个程序员,无论他的记忆力多么好,也不可能记得下所有软件开发工具的使用方法,所有程序库的API,所有标准协议的细节,等等。一个程序员,总是要面对自己的未知领域,所以当面对未知时,最快捷的方式,就是直接读书,读文档,学习前人的经验。
然而,可供我们读的资料的质量,也是参差不齐,不加选择的读,不仅进步得慢,还有可能会读到错语的信息。有一类书,一定要读,就是计算机领域里的哲学一样的书,它们研讨的是这个行当里可能再过数十年也不会过时的学问。在这里我严重推荐《代码大全》,非常的棒。你可以找到很多教习具体技术的书,却很少有专注于编码这门技术本身的书,而它就是其中之一,而且是相当的优秀的。还有一类资料,也是一定要读的,就算不能完全理解,不能读得完,但是寻找到自己感兴趣的看一看,也会让你受益匪浅,比如HTTP协议的RFC等。众多的网络编程书藉都会说到GET POST的差别,说GET时参数放到地址栏中,POST的时参数不会出现在地址栏中,但是却不会告诉你到底这些参数被放到了什么地方,等等。研读这些行业的经典资料,虽然乏味,却大有裨益!再有一类,就是那些具体技术本身的文档资料,在使用到的时候,也是要读的。比如, spring的自带的手册,非常的出色,比很多的入门资料写得都要好。不仅介绍了spring本身的东西,还会简单明了的介绍诸如AOP, 事务,等相关和知识。看到论坛上很多人发贴和spring hibernate等相关的问题,我就会想,他们一定没有读过这些软件的自带的手册。如果一个程序员所读的东西,都是别人在论坛里的只言片语,那永远都没有机会系统地认识技术,快速成长。
英语阅读能力影响程序员能力。唉,我也不愿下这样的结论,但是目前的情况来看,这个地球上的大部分的计算机技术资料确实都是英文的。如果不提升英语能力,想在这个行业赶到世界的水来,永远不可能。
我还会在这个行业做下去,所以,我还得读。
August 4th, 2008 at 14:20
Good! Just wanna know what’s your position in your team? Leader, or manager? Which company… Just curious.
[回复]
August 4th, 2008 at 14:27
Thanks for your curiosity, but I think it’s not good to post my personal infomation here. We can talk by email.
[回复]