--必备技能--
熟练开发工具
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其
中
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 分开
大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的