深入了解操作系统,了解它的内存管理机制、进程线程调度、信号、内核对象、系统调用、协议栈实现等。Li
ux作为开发源码的操作系统,是一个很好的学习平台,Li
ux几乎具备了所有现代操作系统的特征。虽然Wi
dows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。只有对操作系统有一定的了解后,你会发现自己上了一个新的台阶。
f第四种武器:网络协议TCPIP
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCPIP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户服务器结构,到今天的WEBServices,再到未来的网格计算,这一切都离不开以TCPIP协议栈为基础的网络协议支持,所以,深入掌握TCPIP协议是非常必要的。至少,你需要了解ISO七层协议模型,IPUDPTCPHTTP等常用协议的原理和三次握手机制。
第五种武器:DCOMCORBAXMLWEBServices
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOMCORBA是当前两大主流的分布计算的中间件平台,DCOM是微软COM组件对象模型的扩展,而CORBA是OMG支持的规范。程序员需要做的不仅仅是利用商业的开发平台来开发软件,而是要理解这些技术的初衷,即为什么需要这项技术,如果你能理解了这一点,再回头看这些技术的具体实现,就如庖丁解牛,迎刃而解。XMLWebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布计算的基石之一。
第六种武器:软件工程与CMM
现代大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。一句话可以概括我的看法:“创意无限,流程保证”。
第七种武器:强烈的好奇心
什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。要么不做要做就做最好最牛的程序员
fr