E序员的七种武器
作者:雷年?(本文选自Q赛q网 2003q?2?1日 ?br />信息技术的发展旉虽然不长Q但其爆炸式的发展速度使信息技术迅速覆盖社会和人类生活的各个角落。程序员们是q场信息化浪潮的见证者之一Q更是其中的主要参与者,q是时代赋予每个E序员的Z和责仅R?
信息技术的更新速度是惊人的Q程序员的职业生涯则是一个要求不断学习的q程Q永q不能固步自。本人在工作期间曄见过很多E序员只要有闲暇旉浏览一些没有太大作用的|页Q在|上聊天Q打游戏Q浪费了大量的时_十分不可取。而另外一U情冉|QIT技术的日新月异使很多程序员D~ؕQ什么都惛_Q却又不知从何学P今天看看q个Q明天学学那个,贪多不熟?
虽然IT技术发展迅速,但很多技术都是有规律可@Q一些基本的概念、原理和Ҏq很通用Q可以D一反三。本人根据自q体会和经验,向那些刚刚踏入IT行业的新E序员们或正在迷茫的E序员们推荐E序员必L握的七种武器Q有了这七种武器Q虽不敢说笑傲江湖,但将自己立于不|之地q是可以的?
W一U武器:开发工?br />
臛_熟练掌握两到三种开发工L使用Q这是程序员的立w之本,其中C/C++和JAVA是我重点推荐的开发工PC/C++以其高效率和高度的灵zL成为开发工具中的利器,很多pȝU的软gq是用C/C++~写。而JAVA的跨q_和与WEB很好的结合是JAVA的优势所在,而本人对SUN公司的“网l即计算机”的概念相当ƣ赏Qƈ怿JAVA卛_相关的技术集JAVA One会成为未来的L开发工具之一。其ơ,如果能掌握一U简便的可视化开发工P如VBQPowerBuilderQDelphiQC++ BuilderQ则更好Q这些开发工具减了开发难度,q能够强化程序员对象模型的概c另外,需要掌握基本的脚本语言Q如shell,perl{,臛_能读懂这些脚本代码?
W二U武器:数据?br />
Z么数据库是如此重要?很多应用E序都是以数据库的数据ؓ中心Q而数据库的品也有不,其中关系型数据库仍是L形式Q所以程序员臛_熟练掌握一两种数据库,对关pd数据库的关键元素要非常清楚,要熟l掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库理工具Q但SQL是基Q是通用的数据库操作Ҏ。如果没有机会接触商业数据库pȝQ可以用免费的数据库品是一个不错的选择Q如mySQL, Postgres{?
W三U武器:操作pȝ
当前L的操作系l是WindowsQLinux/UnixQ熟l地使用q些操作pȝ是必ȝQ但只有q些q远q不够。要xZ个真正的~程高手Q需要深入了解操作系l,了解它的内存理机制、进E?U程调度、信受内核对象、系l调用、协议栈实现{。Linux作ؓ开发源码的操作pȝQ是一个很好的学习q_QLinux几乎具备了所有现代操作系l的特征。虽然Windowspȝ的内核实现机制的资料较少Q但通过互联|还是能获取不少资料。只有对操作pȝ有一定的了解后,你会发现自己上了一个新的台阶?
W四U武器:|络协议TCP/IP
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,需要迅速补上这一课,|络技术已改变了Y件运行的模式Q从最早的客户/服务器结构,C天的WEB ServicesQ再到未来的|格计算Q这一切都M开以TCP/IP协议栈ؓ基础的网l协议支持,所以,深入掌握TCP/IP协议是非常必要的。至,你需要了解ISO七层协议模型QIP/UDP/TCP/HTTP{常用协议的原理和三ơ握手机制?
W五U武器:DCOM/CORBA/XML/WEB Services
随着技术的发展QY件与|络的无~结合是必然势QY件系l的位置无关性是未来计算模式的重要特征之一QDCOM/CORBA是当前两大主的分布计算的中间gq_QDCOM是微软COM(lg对象模型)的扩展,而CORBA是OMG支持的规范。程序员需要做的不仅仅是利用商业的开发^台来开发YӞ而是要理解这些技术的初衷Q即Z么需要这Ҏ术,如果你能理解了这一点,再回头看q些技术的具体实现Q就如庖丁解牛,q刃而解。XML/WebServices重要性不a而喻QXML以其l构化的表示Ҏ和超强的表达能力被喻Z联网上的“世界语”,是分布计的基石之一?
W六U武器:软g工程与CMM
C大型软gpȝ的开发中Q工E化的开发控制取代个雄主义,成ؓ软gpȝ成功的保证,一个编E高手ƈ不一定是一个优U的程序员Q一个优U的程序员是将的编E能力和开发技巧同严格的Y件工E思想有机l合Q编E只是Y件生命周期中的其中一环,优秀的程序员应该掌握软g开发各个阶D늚基本技能,如市场分析,可行性分析,需求分析,l构设计Q详l设计,软g试{。一句话可以概括我的看法Q“创意无限,程保证”?
W七U武器:强烈的好奇心
什么才是一个程序员的终极武器呢Q那是强烈的好奇心和学习精。没有比强烈的好奇心和学习精更好的武器了,它是E序员们永攀高峰的源泉和动力所在? |