那些编写辅助工具的程序设计员,简化了他人的程序设计,是*初的系统程序员。因此,即使在**代计算机软件中,也存在编写工具的程序设计员和使用工具的程序员这样的分类。汇编语言是程序设计员和机器硬件之间的缓冲器。请参阅图1-7。即使是现在,如果**代码是必需的,那么还是会用汇编语言编写程序。第7章详细探讨了一个机器代码和它对应的汇编语言的例子。
第二代软件(1959~1965)
当硬件变得更强大时,就需要更强大的工具能有效地使用它们。当然,汇编语言是向正确的方向前进了一步,但是程序设计员还是必须记住单独的机器指令。第二代软件一定要由更强大的语言开发。使用**语言,程序设计员就能够用类似于英语的语句编写指令。
第二代软件时期开发的两种语言,目前仍然在使用,它们是FORTRAN(为数字应用程序设计的语言)和COBOL(为商业应用程序设计的语言)。FORTRAN和COBOL的开发过程完全不同。FORTRAN*初是一种简单语言,经过几年附加特性后才形成一种**语言。而COBOL则是先设计好,然后再开发的,形成之后就很少改动。
这一时期设计的另一种仍然在用的语言是Lisp。Lisp与FORTRAN和COBOL有极大的不同,而且没有被广泛接受,主要用于人工智能的应用程序和研究。Lisp的专用语是当今人工智能可用的语言之一,Scheme就是一种Lisp专用语,有些学校用它作为启蒙性的程序设计语言。
**语言的出现加速了在多台计算机上运行同一个程序。每种**语言都有配套的翻译程序,这种程序可以把**语言编写的语句翻译成等价的机器码指令。*早时,**语言的语句通常被翻译成汇编语言,然后这些汇编语句再被翻译成机器码。只要一台机器具有编译器这种翻译程序,就能够运行用FORTRAN或COBOL编写的程序。