计算机程序性设计语言,计算机程序设计语言的发展.doc

计算机程序设计语言的发展

综述与评论计 算 机 程 序 设 计 语 言 的 发 展

王 汝 传(南京邮电学院计算机科学与技术系, 南京市, 210003)摘 要 计算机程序设计语言是与计算机共同诞生、共同发展的, 至今已有 50 余年历史。 主要介绍计算机程序设计语言发展历程, 着重讨论了第三代和第四代计算机程序设计语言的背景、特点和应用。关键词 程序设计语言 计算机 软件引言B ab b age 分析机原理, 这是世界上第一代自动计算机, 其机械结构原理与当代计算机基本相同, 只是速 度很慢, 加法为 3 次?s。 1944~ 1946 年宾夕法尼亚大学的 M an ch ly 与 E ck e r t 研制出了 EN IA C 电子数字积分计算机。1945 年, 普林斯顿大学 V o n N eu2m an n 研制出了 EDV A C 电子离散变量计算机, 这 是世界上第一台可执行程序计算机。从此, 现代意义上的计算机便真正诞生了, 这台计算机一问世便奠定了所谓 V o n N eum an n 体系结构, 程序与数据不 加以区别地存储在 (磁芯) 存储器中。 它所能处理的 最基本的信息单位是二进制数字, 人们要用二进制机器代码编成代码序列 (即程序) 来控制计算机执行 规定的操作。 这种代码就是第一代计算机程序设计 语言, 也称机器语言。1计算机是 20 世纪 40 年代人类的伟大创造, 它对人类社会的进步与发展作用巨大, 影响深远。 为使计算机能正常工作, 除了构成计算机各个组成部分的物理设备外, 一般说来, 还必须要有指挥 计算机“做什么”和“如何做”的“程序”。 程序及其有关文档构成计算机软件, 其中用以书写计算机软件的语言称为计算机程序设计语言。 计算机程序设计语言是人们为描述计算过程而设计的一种具有语法语义描述的记号。 对于计算机 工作人员而言, 程序设计语言是除计算机本身之外的所有工具中最重要的工具, 是其他所有工具的基础。没有程序设计语言的支持, 计算机无异于一堆废 料。由于计算机程序设计语言的支持, 从计算机问世至今, 人们一直在为研制更新更好的程序设计语言而努力。程序设计语言的数量还在不断激增, 新的程 序设计语言和现有程序设计语言的方言不断出现。从计算机诞生至今, 程序设计语言随着计算机 技术的进步而不断升级换代, 大体上经历了四代。第一代是机器语言; 第二代是汇编语言; 第三代是高级程序设计语言, 即面向过程语言; 第四代是超高级程 序设计语言, 即面向问题语言。机器语言是一种 C PU 指令系统, 是该 C PU可以识别的一组有 0 和 1 序列组成的指令码。 用机器语言编写程序, 就是从所使用的 C PU指令系统中挑选合适的指令, 组成一个机器可以直接理解、执行的指令序列。但是, 这种 0, 1 码序列组成程序序列太 长, 不直观, 而且难记、难认、难理解, 不易查错, 只有专业人员才能掌握, 程序生产效率很低, 质量难以保证。这种繁重的手工方式与高速、自动工作的计算机 不相称, 因而限制了计算机的推广使用。第二代计算机程序设计语言3第一代计算机程序设计语言2为了减轻人们在编程中的劳动强度, 克服机器语言的缺点, 50 年代中期人们开始使用一些“助记 符号”来代替 0, 1 码编程。这种用助记符号描述的指1944 年, 美 国 哈 佛 大 学 的 A ik en设 计 出 了M a rk 自 动 程 序 控 制 继 电 器 式 计 算 机, 它 使 用 了令系统称为第二代计算机程序设计语言, 也称汇编语言。汇编语言也是一种面向机器的程序设计语言,它用助记符号来表示机器指令的操作符与操作数, 例如, 用“A DD ”与“M OV E ”分别取代机器语言中的 加法与代码移动操作。 汇编指令与机器指令之间的 关系是一对一的关系, 汇编语言程序要经过一个特定的翻译程序 (即汇编程序) 将其中的各个指令逐个 翻译成相应的机器指令后才能执行。 汇编语言的问 世使人们写程序不必再花更多的精力去记忆, 查询 机器代码地址, 编程工作变得容易多了。用汇编语言编程, 程序的生产效率及质量都有 所提高, 但是, 汇编语言指令不能被计算机直接识别、理解和执行。 汇编语言与机器语言都是随 C PU不同而异, 都是一种面向机器语言。程序员用它们编 程时, 不仅要考虑解题思路, 还要熟悉机器内部结构, 编程强度仍很大, 影响计算机的普及与推广。 编写一个简单的程序也要使用数百条指令, 为了解决这个问题, 人们研制出宏汇编语言, 即一条宏 汇编指令可以翻译成多条机器指令, 使程序设计工 作能减轻一些。 为了解决由多人编