
1.1 计算机语言的发展
计算机语言(Computer Language)是人与计算机之间传递信息的媒介,用于人与计算机之间的通信。为了使计算机按照人类的指令进行各种工作,计算机系统就需要有一套人能够编写并且翻译后计算机能读懂的程序,用来表示生活中的数字、字符和语法规则,并通过指令把命令传达给机器。由这些字符和语法规则组成的计算机的各种指令(或各种语句)就是计算机语言。
计算机语言的发展经历了机器语言、汇编语言、高级语言3个阶段。
1.1.1 机器语言
机器语言是指计算机能够完全识别的指令集合,是最低、最早的程序语言,是由“0”和“1”组成的二进制数(代码),而二进制是计算机语言的基础。计算机发明之初,人们将一串串由“0”和“1”组成的指令序列交由计算机执行,这就是计算机唯一能够真正识别的机器语言。使用机器语言编写程序是十分痛苦的,特别是程序有错需要修改的时候。
1.1.2 汇编语言
为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进。用一些简洁的英文字母、符号串来替代一个特定的二进制串指令,如用“ADD”代表加法,“MOV”代表数据传递等。这样一来,人们很容易读懂并理解程序在干什么,纠错及维护就变得方便了。这种程序设计语言即第二代计算机语言,称为汇编语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,负责将这些符号翻译成二进制代码的机器语言。这种翻译程序被称为汇编程序。
汇编语言同样十分依赖于机器硬件,移植性不好,但效率十分高,尤其在结合计算机硬件方面更能发挥特长,所以至今仍是一种强有力的软件开发工具。
1.1.3 高级语言
从最初与计算机交流的痛苦经历中,人们意识到应该设计一种语言。这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件;编出的程序能在所有机器上通用。经过努力, 1954年,第一个完全脱离机器硬件的高级语言FORTRAN问世了。一直以来,共有几百种高级语言出现,有重要意义的、影响较大、使用较普遍的有FORTRAN、BASIC、Pascal、C、PROLOG、C++、VC、VB、Java 等。从另一个角度分类,高级语言中的 C++、Java 等也被定义为面向对象语言,所以也有人把面向对象语言划分为第四类语言。
1.1.4 计算机语言的概念
了解计算机语言之前,让我们先了解几个概念。
指令:一条机器语言称为一条指令。指令是不可分割的最小功能单元。
程序:早期的程序就是一个个的二进制文件,如今程序可以定义为“计算机要执行的指令集合”。
机器语言是第一代计算机语言。早期人们通过机器语言向计算机发出指令,无需借助翻译程序,计算机就能执行机器语言编好的程序。
汇编语言是第二代语言,实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
高级语言是目前绝大多数编程者的选择,它虽然需要借助翻译程序才能被计算机识别,但它简化了程序中的指令,并且去掉了与具体操作有关但与完成工作无关的细节。
高级语言的发展经历了从早期语言到结构化程序设计语言,从面向过程到非过程化程序语言的过程。20世纪60年代中后期,各厂商推出的软件各自为战,后期出现的“软件危机”就是因为软件间兼容性错误和困难造成的。1970年面向过程的结构化程序语言Pascal的出现,标志着结构化程序设计时期的开始。20世纪80年代初开始,面向对象的程序设计语言如C++、Visual Basic、Delphi出现。高级语言的下一个发展目标是面向应用,也就是说只需要告诉程序要干什么,程序就能自动生成算法进行处理,这是非过程化的程序语言。