- 大学计算机基础(文科)
- 刘萍萍
- 1840字
- 2021-03-31 07:57:29
2.3.4 计算机语言
软件实际上就是人们事先编写好的计算机程序。编写程序的过程称为程序设计,书写程序用的“语言”,称为程序设计语言,即计算机语言。计算机语言的发展从面向过程,到面向对象,现在又进一步发展成为面向组件,经历了非常曲折的过程。总的来说,计算机语言可分为机器语言、汇编语言、高级语言和面向对象语言等。
1.机器语言
机器语言是第一代计算机语言,全部由二进制0、1代码组成。它是面向机器的计算机语言,由计算机的设计者通过计算机的硬件结构赋予计算机的操作功能,因此,用机器语言编写的程序,计算机硬件可以直接识别和操作。机器语言具有灵活、直接执行和速度快等特点。但是,使用机器语言编写程序又有许多诸如不容易记忆、程序编写难度大、程序可读性差、可维护性差、移植性差等缺点。
2.汇编语言
为了克服机器语言难读、难编、难记和易出错的缺点,人们用与指令代码实际含义相近的英文缩写词、字母和数字等符号来取代机器代码(如用ADD表示运算符号“+”的机器代码),于是就产生了汇编语言。汇编语言是第二代计算机语言,但仍然是面向机器的计算机语言。
汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码编程方便了许多,在一定程度上简化了编程过程。汇编语言的特点是用助记符号代替机器指令代码,而且助记符号与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言编写系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。但是,由于不同的计算机具有不同结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的,因此汇编语言程序的移植性也很差。同时,由于汇编语言使用了助记符号,将用汇编语言编制的程序输入计算机时,计算机不能像用机器语言编写的程序那样直接识别和执行,必须通过预先存储在计算机中的“汇编程序”的加工和翻译,才能变成能被计算机识别和处理的二进制代码程序。用汇编语言等非机器语言书写的符号程序称为源程序,运行时汇编程序要将源程序翻译成目标程序,目标程序即为机器语言程序。
3.高级语言
一般称机器语言和汇编语言为低级语言,主要是由于它们对机器的依赖性很大,用它们开发的程序通用性差,且要求程序开发者必须熟悉和了解计算机硬件的每一个细节,因此它们面向的用户一般是计算机专业人员。普通计算机用户很难胜任这一工作,对于计算机的推广应用也不利。随着计算机技术的发展及计算机应用领域的不断扩大,计算机用户的队伍也不断壮大,从20世纪50年代中期开始,逐步发展并产生了高级语言。高级语言是面向用户的、基本上独立于计算机种类和结构的语言。其最大的优点是形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。高级语言的一个命令可以代替几条、几十条甚至几百条汇编语言的指令。因此,高级语言易学易用,通用性强,应用广泛。从应用角度来看,高级语言可以分为基础语言、结构化语言和专用语言。基础语言也称通用语言。它历史悠久,流传很广,有大量的已开发的软件库,拥有众多的用户,为人们所熟悉和接受,属于这类语言的有FORTRAN、COBOL、BASIC、ALGOL等;结构化语言直接支持结构化的控制结构,具有很强的过程结构和数据结构能力,Pascal、C、Ada语言就是它们的突出代表;专用语言是为某种特殊应用而专门设计的语言,通常具有特殊的语法形式,应用比较广泛的有APL语言、Forth语言、LISP语言。从描述客观系统来看,程序设计语言可以分为面向过程语言和面向对象语言。面向过程语言以“数据结构+算法”程序设计范式构成的程序设计语言,前面介绍的程序设计语言大多为面向过程语言。面向对象语言以“对象+消息”程序设计范式构成的程序设计语言,比较流行的面向对象语言有Java、Delphi、C++、C#、PHP等。
4.非过程化语言
第四代语言(Fourth-Generation Language,4GL)是非过程化语言,编码时只需说明“做什么”,不需描述算法细节。数据库查询和应用程序生成器是4GL的两个典型应用。用户可以用数据库查询语言(SQL)对数据库中的信息进行复杂的操作。用户只需将要查找的内容在什么地方、根据什么条件进行查找等信息告诉SQL,SQL将自动完成查找过程。应用程序生成器则是根据用户的需求“自动生成”满足需求的高级语言程序。真正的第四代程序设计语言应该说还没有出现。所谓的第四代语言大多是指基于某种语言环境上具有4GL特征的软件工具产品,如System Z、PowerBuilder、FOCUS等。第四代程序设计语言是面向应用、为最终用户设计的一类程序设计语言。它具有缩短应用开发过程、降低维护代价、最大限度地减少调试过程中出现的问题以及对用户友好等优点。