background image

  不要误解我的意思。你不必花所有的时间去读源代码,但任何你做过的有关自己程序的
设计、编写和纠错都能大大地有助于测试别人编写的程序。

 

  你怎样学习编程?通过编程。可以严肃地说,开始学习写计算机程序是最简单的事。记
住我说的是

“开始学习”。软件编程环境,例如 Microsoft Windows Foundation Classes 

(MFC) or Sun's Java Foundation Classes (JFC, also called "Swing")不断变得越来
越复杂,越来越难跟得上。

 

  但我在努力超越自己。你应当怎样学习编程呢?

 

  首先,买

Microsoft Visual Basic。不要让名字骗了你。你能用这套组件建立相当复杂

的程序。而且它只要一百元左右。下一步呢?等等,是

visual 编程警告的时候了! 

  现在你为你的

PC 买一个程序语言的时候,你其实是买了一个集成开发系统或称为

IDE。这些 IDE 通过对编程的简化把开发过程流水线化。这些 IDE 其实会帮你写很多编码。这
非常有利于尽早开发出一个产品,却不利于你学习编程。如果你用

Windows 产生程序,你

别无选择,因为环境介入太多使你无法从头编程。如果你从

Unix 系统产生程序,你能自己

写所有的编码。

 

  一旦你习惯了与参量、控制结构、对象、输入输出及更重要的

Visual Basic 纠错打交道

的时候,你就可以开始学习

C 语言了。学习 C 能使你熟悉十六进制系统,通过指针分配和

参考内存,存取个体位码及建立程序模块。

 

  我总是认为在学

Java 之前最好先学会 C,因为 C 强迫你自己去完成许多任务而 Java

会自动处理

(例如,释放未用的空间)。用 C 工作比 Java 难,但你能学到编程更多的基本方

面。你其实能用

Visual C++ IDE 从头写 C 程序,但最好还是在 Unix 系统中学 C。 

  操作系统知识。你已经把它交给了在

Redmond, Washington 的那些人了。在短短的

几年内,

Windows NT 已经成为世界上大部分计算机的标准操作系统。如果你要用 NT 工

作,你需要了解它的寄存地址。

(它是一种用于存储你的系统结构的各个方面的数据库。)我

发现

Peter Norton 写的 Inside Windows NT 4.0 (SAMS, 1998)是一本很好的介绍书。

但是,如果你的应用或系统要求高的保密度、产出、可靠性及灵活性,

Unix 依然是最好的选

择。

 

  如果你想成为一个成功

软件工程师

,你必须能在

Unix 的世界里工作,如果你想从

头学习编程,也要在

Unix 下进行。 

  你的选择是什么?你可以到当地的学校或大学学习课程,或者在家建立一个

Unix 系

统。别昏过去了,你所需要的只是一台

PC 和一份能让你从网络免费下载的 Linux 拷贝。(你

大约花二十九元能买一份在一个

CD-ROM 中带了所有文件的拷贝。)Linux 不是 Unix 的“玩

”版,它是真实的。它已经发行了七百万份拷贝,一些主要的 PC 生产商甚至先替你装载

了它。

 

  好了,你已经到了

Unix 或 Linux 系统了。你应当学些什么?文件和目录结构,标准输

入输出和错误流,背景

(background,也称为"daemon")处理,从 C 调用系统功能,好,

我可以接下去了。一个好的开端是读

Arnold Robbins 的 Unix in a Nutshell (O'Reilly & 

Associates, 1999)或者是 Ellen Siever 的 Linux in a Nutshell (O'Reilly & 
Associates,1999)。 
  

2、交流技能(Communications Skills) 

  能写出计算机程序却写不出一个完整句子的软件工程师现在还有。但不幸的是,要成为
一个成功的软件测试工程师,你需要清楚的交流。

 

  你怎么去学习写?通过写。如果文字水平太粗糙,上一门创造性写作的课。每天写工程
流水记录或发

email。关键是学习(或重新学习)怎样用清晰可懂的语言表达你的思想。一个