admin 管理员组

文章数量: 1086019


2025年1月2日发(作者:delphi中文帮助手册)

程序设计语言的历史回顾与分类

程序设计语言发展迅速,到目前还丝毫没有规范到统一语言的迹象,我们要学习它,

应该从它的历史发展开始,展开它的全貌,从发展中了解为什么老的不行要有新的。

分类使我们简化了问题,研究一类中的一个、两个代表就可以。

程序设计语言简史:

1945年第一台现代计算机ENIAC问世,它用真空管做计算,一下子比当时最快的电动

机械计算机快攻300倍(每秒300次乘法)。存储器非常小,计算指令(即程序)由外部

插座和开关馈入。还不能称之为完全自动计算。

1946年 冯・诺依曼在一篇论文中建议: (1)计算机应采用二进制。

(2)计算机的指令和数据都可以放在存储器内。

这就是奠定现代计算机的著名的冯・诺依曼原理:

CPU逐条从存储器中取出执行指令,按指令取出存储的数据经运算后送回。数据和指

令(存储地址码、操作码)都统一按二进制编码输入。数据值的改变是重新赋值,即强行

改变数据存储槽的内容,所以说它是命令式的(IMPERATIVE)。

1951年美国兰德公司的UNIVA C-1 是第一台按冯・诺依曼原理制成的通用自动计算

机。

1.人们首先开始了机器语言的程序设计:

指定数据区编制一条条指令。由于任何人也无法记住并自如地编排二进制码(只有1

和0的数字串),则用8、16进制数写程序,输入后是二进制的。程序的外部表示和内部

的存在一开始就是分离的。

2.单调的数字极易出错,众不堪其苦,将操作码改作助记的字符,汇编语言使编程

方便得多。但汇编码编的程序必须要通过汇编程序翻译为机器码才能运行。尽管汇编码程

序和机器码程序基本一一对应,但汇编语言出现说明两件事:

一是开始了源代码―自动翻译器目标代码的使用方式, 一是计算机语言开始向宜人

方向的进程。

3.50年代高级语言出现

1954年BACKUS根据地1951年RUTISHAUSER提出的用编译程序实现高级语言的思想,

研究出第一个脱离机器的高级语言FORTRAN Ⅰ。其编译程序用18个人一年完成(用汇编

语言编写)。

1957年的FORTRANⅡ,它就比较完善了。它有变量、表达式、赋值、调用、输入 输

出等概念;有满足科技计算的整数、实数、复数和数组,以及为保证运算精度的双精度等

数据类型。表达式采用代数模型。

FORTRANR 的出现使当时科技计算为主的软件生产提高了一个数量级,奠定了高级语

言的地位。FORTRAN也成为计算机语言界的英语式的世界语。

1958年欧洲计算机科学家的一个组织GAMM(德国应用数学和机械学协会)和美国计

算机协会ACM的专家在苏黎士会晤起草了一个“国际代数语言IAL”的报告,随后这个委

员会研制了ALGOL58得到广泛支持和响应。

1960年欧美科学家再度在巴黎会晤对ALGOL 58进行了补充,这就是众所周知的

ALGOL60。

1962年罗马会议上对ALGOL60再次修订并发表了对“算法语言ALGOL 60的修订报

告”。由于该报告对ALGOL 60定义采用相对严格的形式语法,ALGOL语言为广大计算机工

作者接受,特别在欧洲。但美国IBM公司,当时经营世界总额75%的制造商,一心要推行

FORTRAN,不支持ALGOL,以致ALGOL 60 始终没有大发展起来。尽管如此,ALGOL 60还是

在程序设计语言发展史上是一个重要的里程碑。

1959年为了开发在商用事务处理方面的程序设计语言,美国各厂商和机构组成一个委

员会。在美国防部支持下于1960年4月发表了数据处理的COBOL 60语言。

开发者的目标要尽可能英语化,使没有计算机知识的老板们也能看得懂。所以像算术

运算符+、*都用英文ADD、MULTIPLY。

COBOL 60 的控制结构比FORTRAN还要简单,但数据描述大大扩展了,除了表(相当

于数组)还有纪录、文件等概念。

COBOL 60 虽然繁琐(即使一个空程序也要写出50个符号),由于其优异的输入 出

功能,报表、分类归并的方便快速,使它存活并牢固占领商用事务软件市场,直到今天在

英语国家的商业领域还有重要的地位。

50年代计算机应用在科学计算和事务处理方面有了FORTRAN,COBOL因而得到迅速发

展。工程控制方面刚刚起步,仍是汇编语言的市场。

1957年,美MIT科学家MCCARTHY提出LISP,并把它用于数学定理验证等较为智能性

的程序上。但LISP在当时只是科学家的语言,没有进入软件市场。

4.60年代奠基性研究

60年代计算机硬件转入集成电路成本大幅度下降。应用普及的障碍是语言及软件。这

就促使对编译技术的研究。编译技术的完善表现在大型语言、多种流派语言的出现。

1962年哈佛大学的K. IVERSON提出APL语言。它是面向数学(矩阵)的语言,定义

了一套古怪的符号,联机使用非常简洁,觉得数学家喜爱。它提出动态数据(向量)的概

念。

1962年AT&T公司贝尔试验R. GRISWOL提出正文处理的SNOBOL,可以处理代数公式、

语法正文、自然语言。以后发展为SNOBOL 3、SNOBOL 4。

80年代后裔叫ICON,用于测试。

1963-64年美国IBM公司组织了一个委员会试图研制一个功能齐全的大型语言。希望

它兼有FORTRAN和COBOL的功能,有类似ALGOL 60完善的定义及控制结构,名字就叫程

序设计语言PL /1。

程序员可控制程序发生异常情况的异常处理、并行处理、存储控制等。所以它的外号

叫“大型公共汽车”。

它是大型通用语言的第一次尝试,提出了许多有益的新概念、新特征。但由于过于复

杂,数据类型自动转换太灵活,可靠性差,低效,使它没有普及起来。

但IBM公司直到80年代在它的机器上还配备PL/1。

1967年为普及程序语言教育,美国达特茅斯学院的J. G. KEMENY和研制

出交互式、解释型语言BASIC(初

感谢您的阅读,祝您生活愉快。


本文标签: 语言 计算机 计算 数据 美国