文档视界 最新最全的文档下载
当前位置:文档视界 › 计算机语言发展历程

计算机语言发展历程

简单介绍计算机语言的发展历程。
自1946年第一台电子计算机问世以来,计算机已被广泛地应用于生产、生活的各个领域,推动着社会的进步与发展。特别是Internet出现后,传统的信息收集、传输及交换方式发生了革命性的改变。 计算机科学的发展依赖于计算机硬件和软件技术的发展,硬件是计算机的躯体,软件是计算机的灵魂。没有软件,计算机只是一台“裸机”,什么也不能干;有了软件,计算机才有“思想”,才能做相应的事。软件是用计算机语言编写的。计算机语言的发展经历了从机器语言、汇编语言到高级语言的历程, 1. 机器语言(Machine Language) 计算机使用的是由“0”和“1”组成的二进制数,二进制编码方式是计算机语言的基础。计算机发明之初,科学家只能用二进制数编制的指令控制计算机运行。每一条计算机指令均由一组“0”、“1”数字,按一定的规则排列组成,若要计算机执行一项简单的任务,需要编写大量的这种指令。这种有规则的二进制数组成的指令集,就是机器语言(也称为指令系统)。不同系列的CPU,具有不同的机器语言,如目前个人计算机中常用AMD公司的系列CPU和Intel公司的系列CPU,具有不同的机器语言。 机器语言是计算机唯一能识别并直接执行的语言,与汇编语言或高级语言相比,其执行效率高。但其可读性差,不易记忆;编写程序既难又繁,容易出错;程序调试和修改难度巨大,不容易掌握和使用。此外,因为机器语言直接依赖于中央处理器,所以用某种机器语言编写的程序只能在相应的计算机上执行,无法在其他型号的计算机上执行,也就是说,可移植性差。 2. 汇编语言(Assemble Language) 为了减轻使用机器语言编程的痛苦,20世纪50年代初,出现了汇编语言。汇编语言用比较容易识别、记忆的助记符替代特定的二进制串。下面是几条Intel80x86的汇编指令: ADD AX , BX ;表示将寄存器AX 和 BX 中的内容相加,结果保存在寄存器AX中。 SUB AX , NUM ;表示将寄存器AX中的内容减去NUM,结果保存在寄存器AX中。 MOV AX , NUM ;表示把数NUM保存在寄存器AX中。 通过这种助记符,人们就能较容易地读懂程序,调试和维护也更方便了。但这些助记符号计算机无法识别,需要一个专门的程序将其翻译成机器语言,这种翻译程序被称为汇编程序。 汇编语言的一条汇编指令对应一条机器指令,与机器语言性质上是一样的,只是表示方式做了改进,其可移植性与机器语言一样不好。总之,汇编语言是符号化的机器语言,执行效率仍接近于机器语言,因此,汇编语言至今仍是一种常用的软件开发工具。 3. 高级语言 尽管

汇编语言比机器语言方便,但汇编语言仍然具有许多不便之处,程序编写的效率远远不能满足需要。1954年,第一个高级语言—FORTRAN问世了。高级语言是一种用能表达各种意义的“词”和“数学公式”按一定的“语法规则”编写程序的语言,也称为高级程序设计语言或算法语言。半个多世纪以来,有几百种高级语言问世,影响较大、使用较普遍的有FORTRAN、A LGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、Visual C++、Visual Basic 、Delphi、Java等。高级语言的发展也经历了从早期语言到结构化程序设计语言、面向对象程序设计语言的过程。 高级语言与自然语言和数学表达式相当接近,不依赖于计算机型号,通用性较好。高级语言的使用,大大提高了程序编写的效率和程序的可读性。 与汇编语言一样,计算机无法直接识别和执行高级语言,必须翻译成等价的机器语言程序(称为目标程序)才能执行,如图1-2所示。高级语言源程序翻译成机器语言程序的方法有“解释”和“编译”两种。解释方法采用边解释边执行的方法,如早期的BASIC 语言即采用解释方法,在执行BASIC 源程序时,解释一条BASIC语句,执行一条语句。编译方法采用相应语言的编译程序,先把源程序编译成指定机型的机器语言目标程序,然后再把目标程序和各种标准库函数连接装配成完整的目标程序,在相应的机型上执行。如C、C++、Visual C++及Visual Basic等均采用编译的方法。编译方法比解释方法更具有效率。 4. 结构化程序设计(Structural Programming)语言 高级语言编写程序的编写效率虽然比汇编语言高,但随着计算机硬件技术的日益发展,人们对大型、复杂 的软件需求量剧增,而同时因缺乏科学规范、系统规划与测试,程序含有过多错误而无法使用,甚至带来巨大损失。20世纪60年代中后期“软件危机”的爆发,使人们认识到大型程序的编制不同于小程序。“软件危机”的解决一方面需要对程序设计方法、程序的正确性和软件的可靠性等问题进行深入研究

相关文档