版权归原作者所有,如有侵权,请联系我们

[科普中国]-编辑语言

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏
概述

程序语言的编辑设计必须让人们易于读写,它也应该让计算机能够理解并运行。

它和数据库及信息检索的关系密切,数据库查询语言就是这种关系的一个例证。不但如此,人们正在开展研究,让程序语言包含数据结构,力图使数据库管理成为程序语言的一部分。

它和操作系统及计算机结构的关系不可低估。程序语言的实现涉及输入、输出和存储管理。计算机指令集和硬件直接影响程序语言的实现。硬件设计语言的研究以及把程序直接编译成VLSI是这方面的两个例子。

程序语言经历了由低级语言到高级语言的过程。低级语言和高级语言便是进行程序设计语言的两大类。低级语言有机器语言和汇编语言,高级语言有C/C++、PASCAL、BASIC等。

低级语言是面向机器语言,它是特定的计算机系统所固有的语言,如汇编语言就是一种低级程序语言。

世界上第一台计算机面世至今已有50多年的历史,现代计算机的运算速度已是人类第一台计算机所不可比拟的。只是,当前的计算机硬件仍只能理解机器本身的语言——机器指令,机器指令相当原始,它通过电子线路对寄存器中取值为0和1的位(bit)进行操作。用机器语言进行程序设计,需要对机器结构有较多的了解。用机器指令编制出来的程序可读性很差,程序难以修改和维护。

为了提高程序设计效率,人们考虑用有助记忆的符号来表示机器指令的操作码和操作数,例如,用ADD表示加法,SUB表示减法等等,这就是汇编语言。使用汇编语言编制程序时,用户可以不必使用数字来表示机器指令的操作码和操作数地址。由于所采用的符号的含义和功能十分接近,用户比较容易记住。这样,用户就可较为方便地表达自己的思想,编制程序的效率和程序的可读性也都提高了。然而,汇编语言是一种和计算机的机器语言十分接近的语言,它的书写格式在很大程度上取决于特定计算机的机器指令,是一种低级语言。

人们在使用汇编语言编写程序时,发觉它仍未能摆脱机器指令的束缚,这对于人们抽象思维和交流十分不便。高级语言采用编译程序及解释程序完成了这项工作,这类语言与人们的自然语言比较接近,因而大大提高了人们进行程序设计的效率,也便于人们交流。1

编辑语言

时至今日,计算机仍然只能理解和执行机器语言,而各种程序编辑语言只能是人和机器之间进行信息交流的“媒介”。程序语言的引入意味着必须有一个程序,使机器能够理解用某一程序语言书写的用户程序,而担负这一工作的程序便是“语言处理程序”。它可以分为两大类:解释程序和翻译程序。

解释程序负责处理所输入的源语言书写的源程序,然后直接执行源程序(或源程序的内部形式);翻译程序则负责处理所输入的用程序语言书写的程序,然后,将它翻译或用另一种语言书写的与源程序等价的程序(称为目标程序)。如果源语言是汇编语言,而目标语言是机器语言,则一般将这种翻译程序称为汇编程序;如果源语言是高级语言,而目标语言是低级语言(汇编语言或机器语言),则这种翻译程序一般称为编译程序。这样,解释程序和编译程序的区别就在于解释程序并不产生目标程序,而它直接执行源程序本身(或源程序的内部形式)。

用高级语言书写的程序的执行一般这样完成:源程序首先被翻译成目标程序,如果目标程序是用汇编语言表示的,则还需经过汇编程序进一步转换成用机器语言表示的目标程序,才能最后将目标程序装入并执行。1

语言类型语言分类方法

程序语言有多种分类方法,大部分程序语言都是算法描述型语言,如C/C++、Java等,还有一部分是数据描述型语言,如HTML等标记语言。按照编程技术难易程度可分为低级语言(机器语言、汇编语言)和高级语言;按照程序语言设计风格可分为命令式语言(过程化语言)、结构化语言、面向对象语言、函数式语言、脚本语言等;按照语言应用领域可分为通用程序语言(GPPL)和专用程序语言(DSL);按照程序执行方式,可分为解释型语言(如JavaScript、Python、Perl、R等),编译型语言(如C/C++等),编译+解释型语言(如Java、PHP等)。

机器语言

机器语言是以二进制代码表示的指令集合,是计算机唯一能直接识别和执行的语言。机器语言的优点是占用内存少、执行速度快,缺点是难编写、难阅读、难修改、难移植。

汇编语言

汇编语言是将机器语言的二进制代码指令用简单符号(助记符)表示的一种语言。因此汇编语言与机器语言本质上是相同的,都可以直接对计算机硬件设备进行操作。汇编语言编程需要对计算机硬件结构有所了解,这无疑大大增加了编程难度。但是汇编语言生成的可执行文件很小,而且执行速度很快。因此,工业控制领域经常采用汇编语言进行编程。汇编语言与计算机硬件设备(主要是CPU)相关,不同系列CPU(如ARM与Intel的CPU)的机器指令不同,因此它们的汇编语言也不同。

高级程序语言

高级语言将计算机内部的许多相关机器操作指令,合并成一条高级程序指令,并且屏蔽了具体操作细节(如内存分配、寄存器使用等),这样大大简化了程序指令,使编程者不需要专业知识就可以进行编程。高级程序语言便于人们阅读、修改和调试,而且移植性强,因此高级程序语言已成为目前普遍使用的编程语言。2