您的位置:首页 > 理论基础

计算机语言的发展

2016-12-03 15:56 260 查看
        计算机语言不断从低级到高级发展,其发展过程可以分为三代:机器语言,汇编语言和高级语言。

       机器语言是用二进制代码标示的计算机能直接识别和执行的机器指令的集合。他是计算机的设计者通过计算机的硬件结构赋予的计算机的操作功能,它与计算机同时诞生,是第一代的计算机语言。

       使用机器语言的缺点是编程工作量大,难学,难记,难修改,它只适合专业人员使用;而且由于不同的计算机,其指令系统不同,机器语言随机而异,通用性比较差,是面向机器的语言;

       

机器语言的优点是程序代码不需要翻译,所占用的空间比较少,执行速度比较快;

       

       汇编语言将机器指令的二进制代码用英文助记符表示,代替机器语言中的指令和数据。例如用ADD表示加,SUB表示减,JMP表示程序跳转等,这种指令助记符的集合就是汇编语言。

        汇编语言的优点是克服了机器语言难读等缺点,保持了其编程质量高、占用内存少,执行速度快的优点;缺点是依赖于机器,通用性比较差。

        汇编语言源程序必须通过汇编程序翻译成机器语言,计算机才能执行。汇编语言常用于控制等编程;

        高级语言是一种接近于自然语言和数学公式的程序设计语言。它采用了完全符号化的描述形式,用类似自然语言的形式描述对问题的处理过程,用数学表达式的形式描述对数据的计算过程。高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言。

        高级语言的优点是通用性强,编程效率高。它使得程序员可以不用跟计算机的硬件打交道,可以不必知道了解计算机的指令系统,集中精力解决问题本身而不受机器制约,极大的提高了编程的效率。

        高级语言的源程序要经过翻译程序翻译成机器语言才能运行,程序的效率不如汇编程序高。

       机器语言和汇编语言都属于面向机器的语言,属于低级语言;而高级语言又分为面向过程和面向对象的两种。前一种程序设计是数据被加工的过程,后一种程序设计的关键是定义类,并由类派生对象,客观世界可以分为类,对象是类的实例,对象是数据和方法的封装,对象之间通过发送消息和接收消息发生联系。

      面向过程的高级语言只是要求人们向计算机描述问题的求解过程,而不关心计算机的内部结构,它易于被人们理解和接受,典型的面向过程的语言有BASIC、FORTRAN、C、Pascal等。

      面向对象的高级语言的是“面向过程”的一次革命。如果说面向过程的语言要求人们告诉计算机怎么做,那么面向对象的语言只要求人们告诉计算机做什么。面向对象是通过类和对象把程序涉及的数据结构和它施行的操作有机的组成模块,对数据和数据的处理细节进行最大程度的封装。从而使得开发出来的软件易重用、易修改、易调试、易扩充。

       补充:

       所有的程序设计语言中,除了机器语言编制的程序能够直接被计算机理解和执行外,其他的程序设计语言编写的源程序都可以经过一个翻译过程转化为计算机能够识别的机器语言。实现这个翻译过程的工具是语言处理程序,即翻译程序。翻译程序也称为编译器。用非计算机语言写的程序叫做源程序,通过翻译程序翻译后的程序称为目标程序。针对不同的程序设计语言编写出的程序,有各自的翻译程序,互相不通用。

       翻译程序翻译源程序通常有两种方式:解释方式和编译方式。

(1)解释方式:解释方式的翻译工作由解释程序来完成,这种方式如同“口译”。解释程序对源程序进行逐句分析,若没有错误,将该语句翻译成一个或者多个机器语言指令;然后立即执行这些指令;若解释时发现错误,会立即停止,报错并提醒用户更正代码;解释程序不生成目标程序。

                     解释程序

         源程序——————计算结果            

                                 数据

        采用解释方式的优点是查找错误的语句行和修改方便。缺点是运行速度慢,采用解释方式运行的源程序,每次运行都必须重新解释,若程序较大,错误发生在程序的后面,则前面运行的结果是无效的,解释方式无法对整个程序进行优化;

(2)翻译方式:翻译工作由编译程序完成。如同“笔译”,在纸上记录翻译后的结果。编译程序过程:对源程序编译产生目标程序,连接程序将目标程序和有关的程序库组成可执行程序,编译方式的执行过程如图:

                       编译程序                   连接程序                        数据                   

                       |                             |                                 |
      源程序-----目标程序 -----可执行程序----计算结果
采用编译方式的优点是程序执行速度快,产生的可执行程序可以脱离编译程序和源程序独立存在并且反复运行,但是修改后的源程序都必须重新编译生成目标程序。
      一般的高级语言(C/C++、Pascal、FORTRAN、COBOL等)都是采用编译方式。
       程序=数据结构+算法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息