background image

--必备技能--

熟练开发工具

做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其

C/C++和 JAVA 是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发

工具中的利器,很多系统级的软件还是用

C/C 编写。而 JAVA 的跨平台和与 WEB 很好的结

合是

JAVA 的优势所在,而 JAVA 即其相关的技术集 JAVAOne 很可能会成为未来的主流开

发 工 具 之 一 。 其 次 , 能 掌 握 一 种 简 便 的 可 视 化 开 发 工 具 , 如
VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能
够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如

shell,perl 等,至少

能读懂这些脚本代码。

熟知数据库
  为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是
以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所
以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌

SQL 的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但 SQL 是基础,

是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品
是一个不错的选择,如

mySQL,Postgres 等

了解操作系统

当前主流的操作系统是

Windows,Linux/Unix,熟练地使用这些操作系统是必须的,

但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的
内存管理机制、进程

/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux 作为开发源

码的操作系统,是一个很好的学习平台,

Linux 几乎具备了所有现代操作系统的特征。虽然

Windows 系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。

懂得网络协议

TCP/IP

   在互联网如此普及的今天,如果您还没有对互联网的支撑协议 TCP/IP 协议栈有很好
的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户

/服务

器结构,到今天的

WEBServices,再到未来的网格计算,这一切都离不开以 TCP/IP 协议

栈为基础的网络协议支持,深入掌握

TCP/IP 协议是非常必要的。至少,需要了解 ISO 七层

协议模型,

IP/UDP/TCP/HTTP 等常用协议的原理和三次握手机制。

明白

DCOM/CORBA/XML/WEBServices 存在的意义

  随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来
计 算 模 式的 重要 特征 之一 ,

DCOM/CORBA 是当前两大主流的分布计算的中间平台 ,

DCOM 是 微 软 COM( 组 件 对 象 模 型 ) 的 扩 展 , 而 CORBA 是 OMG 支 持 的 规 范 。
XML/WebServices 重要性不言而喻,XML 以其结构化的表示方法和超强的表达能力被喻

为互联网上的 世界语 ,是分布式计算的基石之一。

不要将软件工程与

CMM 分开

  大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的