1.6.2 程序设计语言

计算机中的应用程序是计算机人员利用计算机程序设计语言撰写出来的,计算机工作人员借助于一定编程语言和编程环境,撰写计算机源程序。然后利用计算机程序来控制计算机的运行。

从计算机问世到现在,短短的几十年间,随着计算机的发展及其应用范围的扩大,人们赖以指挥计算机的程序语言也经历着“代”的发展。

1. 机器语言

在计算机问世的最初10年,开发应用直接使用机器指令,或者把它叫做机器语言。机器语言是最早的程序设计语言。由于计算机接收和处理信息的形式是二进制代码,而机器语言直接使用二进制数据书写,因此机器语言程序不需翻译或解释就可直接被计算机执行。正因为机器语言是二进制码,所以它的执行速度很快,但编写困难。

由于机器语言随机器而异,其程序为特定机器而编制。因此根据一种机型编制的机器语言无法移植到另一种机型的机器上运行。因此机器语言的移植性较差。

我们称机器语言为第一代程序设计语言。在计算机的实际应用中,人们把计算机内部进行一步最基本操作的命令称为指令,机器语言就是由许多条指令组织起来的指令的集合,计算机逐条执行机器语言中的指令,从而完成特定的任务。

指令一般由两部分构成:操作码和操作数。操作码告诉计算机要执行什么操作?操作数也称地址码,告诉计算机操作对象是什么?存放在哪里?运算结果又放到什么地方?等等。

此外,我们知道机器指令是计算机设计者制定的,一台机器具有一定种类的指令和指令结构。一台微机所有指令的集合组成这台机器的指令系统。

2.汇编语言

为了便于编写,计算机软件开发者采用了一些助记符号来表示机器语言,这些带有助记符号的低级语言与机器语言类似,能够控制计算机的执行。由于汇编语言包含助记符号,以这些语言编写程序要比直接用机器语言写程序简单;也正是由于包含了助记符号,这种语言编写的程序不能被计算机直接执行,需要翻译成机器语言后才可被计算机执行。

上世纪五十年代末开始使用的第二代语言就是各种形式的汇编语言。由于汇编语言随机器而异,与机器语言很相似,所以以汇编语言写程序仍很困难,而且移植性也极差。

3. 高级语言

二十世纪五十年代中期以来,人们相继创造了各种面向算法、面向处理过程,与机器指令系统无关的比较高级的语言,这就是自上世纪六十年代开始使用的第三代语言,称为高级语言。

高级语言接近于自然语言,使用与自然语言语法接近的自封闭词法体系。多数独立于计算机。用高级语言编写的程序,不是直接的机器码,因此不能直接执行,需要有“翻译器”把它们转换成机器语言形式的可执行程序,才能为计算机系统所执行。

高级语言要转化为机器语言,有两种不同的形式:编译型和解释型。

编译型首先翻译整个高级语言源程序,将高级语言源程序翻译成一种接近机器语言的目标程序(OBJ)存放在磁盘上,然后通过连接系统,在库文件【“库文件(LIB)”是目标程序通过连接,转化为可执行文件时所需要的大量子函数代码构成的函数库。】的参与下,生成一个完全的、能为机器所识别的机器代码程序,即可执行文件。

编译型生成了可执行文件,程序执行时直接执行可执行文件,所以完全可以脱离编译系统和源程序独立使用。

解释型则是顺次提取源程序中的一条语句,通过解释系统解释为机器代码,然后执行,接着检查源程序是否结束,如果没有结束,继续到源程序中取下一条语句,继续进行解释和执行。

解释型边解释边执行,没有形成可执行文件,解释型程序的执行永远不能脱离解释系统和源程序。

上一小节 下一小节