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

[科普中国]-通用高级语言

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

FORTRAN

FORTRAN于1956年由IBM公司发表。FORTRAN是FORMULA TRANSLATION的简称。

FORTRAN语言在国际上很流行,几乎每一台计算机上都配有FORTRAN编译程序。据统计,90%的从事数值计算的科技人员是利用FORTRAN语言来编写程序的。

FORTRAN语言适合于进行科学计算,它具有下面一些特点。

(1)具有充分表达常用科学计算中包含算术运算和逻辑运算问题的能力。

(2)语言结构简单,FORTRAN语言是块结构语言,静态且非递归。

FORTRAN提供五种基本数据类型:整数,实数,双精度数,复数和布尔数。

FORTRAN程序由一个主程序和一组子程序(包括函数)组成。主程序和各子程序独立编译,把各个独立编译得到的目标用连接程序连接起来即可运行。2

ALGOLALGOL 60(ALGOrithmic Language 60)是主要由欧洲学者设计的一种通用的算法语言,诞生于1960年。

ALGOL 60是以分程序嵌套结构为基础的语言。它是第一个采用巴科斯范式(Backus Normal Form简称BNF)来定义其语法的语言。

ALGOL 60主要适用于科技计算领域。它有以下一些特点:

(1)分程序结构

分程序是由begin和end括起来的带有局部变量说明的语法结构。分程序可以嵌套。最外面的分程序称为ALGOL 60程序。

(2)变量作用域规则

变量作用域规则规定每个变量的作用范围。变量只在其作用域内有定义。

(3)动态数组

ALGOL 60引入了可在运行时才确定其上、下界的动态数组。

(4)过程的递归调

过程内部出现调用过程本身的语句称为过程的递归调用。过程的可递归调用给程序设计带来了很大方便。

(5)参数传递

ALGOL 60提供了完整的子程序参数传递机制。2

PASCALPASCAL语言是瑞士的N.wirth以ALGOL 60为基础设计的简明通用语言。七十年代的程序语言研究将PASCAL语言作为研究的基本骨架语言。PASCAL语言因大学、研究所的积极支持而得到了迅速普及。

PASCAL语言主要用于程序设计的入门教育,也可甩来开发软件。PASCAL语言是体现结构化思想的典型。它有以下一些特点·

(1)系统,全面,清晰地体现了程序设计语言的基本概念。

(2)提供了丰富的数据类型,灵活的数据结构构造能力和结构化的程序结构。

PASCAL语言的缺点是没有提供动态数组设施及指针使用中存在潜在危险等。2

MODULA-2MODULA是一种适用于模块程序设计的语言。也可用作系统程序设计语言。1980年N.Wirth将MODULA修改扩充成MODULA-2。

MODULA-2的源程序是由模块组成的。模块可分成三种类型。定义模块、实现模块和一般模块。

一个定义模块定义了模块中的所有实体。一个定义模块和一个相应的实现模文配对。该实现模块为定义模块中所定义的过程体提供了实在的过程体。

一个一般模块是由一组定义(包括常量定义,变量定义,类型定义和过程定义)和一个用作初始化的程序泼组成。初始化程序段仅能改变局部予该模块的变量值。一般模块能定义抽象类型,这些抽象类型的实例可以共享模块的局部量。

MODULA-2中的标识符是用该标识符对应的模块名来限定的。MODULA-2中的模块是封闭的。所有非局部标识符必须在模块首的use表中列出。模块首的define表中列出了所有提供给外部引用的标识。模块外部只能使用define表中的标识符而不知道其内部结构。模块间还可以嵌套。因此,MODULA-2的模块提供了一个抽象数据机制。2

COBOL1959年在美国国防部主持下,计算机用户和制造厂商的代表举行集会,成立了CODASYL(Conference On Data Systems Language,数据系统语言协会)团体。CODASYL是计算机历史上唯一的一个由众多制造厂商联合组成的团体,它在数据系统语言方面进行了广泛的开拓性研究和开发。该协会予1959年底设计发表了COBOL语言。

COBOL(Common Business Oriented Language,面向商业的通用语言)主要用于企业数据处理这一计算机应用的主要领域。由于系统的输入和输出是企业应用软件系统最关心的问题,COBOL语言的设计突出体现了输入输出文件的性质和结构的特点。

COBOL语言有如下一些特点:

(1)描述事务数据处理方面的标准化语言。

(2)COBOL程序的结构分成标识部(IDENTIFICATIONDIVISION),环境部(ENVIRONMENT DIVISION),数据部(DATADIVISION)和过程部(PROCEDURE DIVISION)四部分组成。COBOL程序的标识部用以注明程序名和作者姓名并给出其它的注释作为程序文件说明。环境部含有如程序和外部数据文件间联系等依赖于机器的程序说明。数据部包含了对数据的描述。过程部包含了算法的描述。

COBOL程序的四部分结构把依赖于机器的程序元素和独立于机器的程序元素分开,把数据描述和算法描述分开,从而使每一部分都可以独立修改而不影响到另外的部分,保证了源程序和执行结果最高的通用性,避免了由更换计算机带来的重新编程问题。

(3)COBOL语言一个重要而明显的特征是它采用类似于英语的语法,使源程序便于阅读,程序具有较好的自说明能力,有利于文档化管理。

(4)用COBOL描述软件系统,系统的硬件环境描述,数据设计描述和处理过程描述被分成独立的三部分,使得系统开发分工容易,层次清晰。

(5)COBOL语言采用面向程序员的标准规格的文件组织,使用方便,存取效率高。

(6)COBOL能方便地处理数值数据和文字数据。2

CC语言是1972年由D.M.Ritchie于贝尔实验室在PDP/11机的UNIX操作系统上研制的。D.M.Ritchie由于其在C语言和UNIX系统上的贡献而被美国计算机科学协会(ACM)授于1983年的图灵奖。

C语言是从系统设计语言BCPL发展起来的。

BCPL(Basic Combined Programming Language)是一种典型的可用于实现编译器和操作系统的语言。它还可以进行表加工和数值计算。BCPL语言采用自编译方式,即用BCPL语言本身书写其编译程序。BCPL还具有可移植性,它和具体的机器无关。

C语言具有高级语言的直观、易学的优点,但它的执行效率相当于汇编语言。因此,C语言也常被称为是一种较“低级”的高级语言。

C语言具有如下特点:

(1)C语言是一种结构化的程序设计语言,其程序结构清晰,行文紧凑。

(2)C语言程序具有较高的通用性,可移植性强。

(3)C语言考虑了系统硬件对程序的影响。

(4)C语言仅提供单向的控制流结构,函数间允许递归调用。

(5)C语言本身仅提供处理简单对象的操作和定义新数据结构的功能。对复合对象的处理操作,输入输出操作,文件存取操作等都可用函数定义后组成系统的程序库。

由于C语言本身仅提供单向控制流结构和处理简单对象的操作,C语言的编译程序比较简单,效率也较高。

C语言目前主要用于编写系统软件,以及其它对执行效率要求较高的软件。2

BASICBASIC(Beginnerfs All Purpose Symbolic Instruction Code)语言是由Dartmouth大学的J.G.Kemeny和T.E.Kurtz教授指导开发的。

BASIC语言有以下特点:

(1)BASIC语言可看作FORTRAN语言的子集,容易掌握,使用方便。

(2)BASIC一般采用解释执行方式,支持会话式操作,允许用户在终端上以与计算机进行对话的方式编制,修改和调试程序。

(3)BASIC具有编辑功能、图形功能和进行文件操作的功能。

BASIC种类繁多,有用作分时系统的BASIC,结构化BASIC,图形用BASIC等。七十年代末进行了BASIC的标准化工作,推出了基本BASIC和扩展BASIC。2

PL/IPL/I(Programming Language/one)是由IBM公司与科技计算用户团体SHARE的代表所组成的高级语言开发委员会(advanced language development committee)在六十年代中期开发的。

PL/I语言是一种大型的、全面的、汇集了各种各样功能的语言。它兼有FORTRAN,ALGOL 60的数值计算功能,COBOL的数据处理功能以及多道,‘并行,中断等功能。由于它的包罗万象的特性,PL/I被称为是“公共汽车"语言。

PL/I程序是分块结构。它综合了ALGOL 60的分程序结构和FORTRAN的块程序结构。2

FORTHFORTH语言的开发起源于六十年代的天文学应用领域。它是一种可扩充型的语言。

FORTH程序的基本成分是词,一个词可看成是用来标识过程的字符序列。一个FORTH系统中有一个词典,开始时词典中只有制造商定义的基本词。用户使用FORTH系统时可以将其设计的词加入词典中,不断扩充系统词典内容。

FORTH系统要求用户用逆波兰形式书写表达式。系统的所有操作都借助一个栈来进行。因此,FORTH语言是一种面向栈结构的语言。2