计算机软件的主体是计算机程序,计算机程序都是用计算机所能够理解的计算机语言编写的.这样的程序计算机才能执行.计算机语言主要分为机器语言、汇编语言和高级语言三类。
机器语言
机器语言是用二进制代码表达的程序设计语言,它直接使用计算机指令系统的指令,是计算机能够直接识别与执行的语言,因此执行速度最快.早期的计算机都使用机器语言,用机器语言编写的程序是以穿孔纸带和穿孔卡的形式输入计算机的。
机器语言直观性差,难于辨认,难于记忆.机器语言编写程序比较困难,且需要了解计算机的工作原理和结构,编出的程序难于阅读,难于调试,而且容易出错,只有专业人员才能使用。
不同的计算机有不同的指令系统,不同机种之间机器语言不能通用.因此,人们称其为面向机器的语言。
汇编语言
为了克服机器语言难记、难写、难读的弱点,人们又使用约定的助记符代替机器指令中二进制的操作码,例如用ADD 代表"加",用SUB 代表"减",用十六进制数表达操作数,这就是汇编语言.它是一种符号化的机器语言,又称符号语言,仍然是面向机器的。
用汇编语言编写的程序称为汇编语言源程序,是不能被机器直接执行的,必须用计算机中配置的汇编程序对之进行汇编,即将其翻译成机器语言程序,机器才能执行.源程序是利用编辑程序通过键盘输入到机器中的.汇编过程与高级语言的编译过程相似.由于汇编语言源程序与机器语言程序结构相似,汇编和运行的速度都比较快。
编写汇编语言源程序仍需了解计算机的工作原理和结构,使用机器的指令系统,一条指令一条指令地编写,比较复杂,工作量大,对广大用户仍是不方便的。
机器语言和汇编语言又分别被称为第一代语言和第二代语言,它们都属于低级语言。
高级语言
为使编写程序更加简单、方便,提高编写效率,并便于非计算机专业人员使用,人们又开发出适用于各个领域的许多种高级语言.它们摆脱了对机型的依赖,编写程序只要告诉机器"怎样做"即可,被称为面向过程的语言,又称第三代语言.甚至用某些高级语言编程只要告诉机器"做什么"即可执行,被称为第四代语言.进一步,人们还在发展完全非过程化的面向对象的语言。
1.高级语言的特点
·独立于机器的指令系统,是多种机器通用的语言.用高级语言编写程序完全不需要了解机器指令,而且无需做很多修改就可以在其它类型的计算机上运行。
·高级语言的一个语句通常包括若干条机器指令的功能,因此,用它编写的程序比较简洁。
·高级语言使用的符号、标记更接近人们的日常习惯,接近自然语言及数学表达式,便于理解、掌握和记忆,同时又有严格的语法规则和逻辑关系。
2.目前流行的高级语言
(1)BASIC(Beginner’s All-purpose Symbolic Instruc-tion Code)语言。
即"初学者通用符号指令代码".它简单易学,采用人机对话的交互方式,修改、调试都比较容易.它功能较弱,适用于小型科学计算及管理工作.现在已有很多改进的版本,使其结构改善,功能增强。
(2)FORTRAN(Formula Translation)语言是一种广泛应用于科学计算的程序设计语言。
(3)COBOL(Common Business Oriented Language)语言。
广泛应用于商业管理及数据处理,在美国很流行。
(4)Pascal 语言
以发明第一台机械式计算机的法国科学家帕斯卡命名,是第一个结构化程序设计语言.适用于教学、科学计算以及编制系统软件。
(5)C 语言
是一种功能很强、应用十分广泛的结构化程序设计语言.它不仅具有高级语言的所有特点,而且兼有汇编语言的一些特点,可以直接操作一些硬件的功能,故有人称为"中级语言",适用于科学计算、数据处理以及编制各类系统软件等。
(6)LISP(List Processor)语言
是一种人机交互式的符号处理语言,是在人工智能领域广泛应用的一种程序设计语言。
(7)dBASE 语言
是由dBASE 数据库管理系统提供的用于数据处理的结构化程序设计语言,类似的还有FoxBASE,INFORMIX 等.这类语言提供的命令(语句)功能很强,这样就无需描述运算的详细过程.例如排序,若用一般的高级语言编程需若干条语句,在这里只要一条命令即可完成.因此人们又称这类语言为 4GL(第四代语言).特别适合非专业技术人员使用。
3.高级语言处理程序
高级语言是不能被计算机直接识别和执行的,要运行用高级语言编写的源程序,必须将其翻译成能被计算机理解和执行的机器语言程序.具有自动翻译功能的程序,称为高级语言处理程序.显然,这种处理程序是依赖于机器提供的指令系统的.高级语言处理采用编译和解释两种方式。
(1)编译方式
编译方式是将高级语言源程序用该种语言的编译程序进行编译,得到用机器语言描述的目标程序,然后再调用连接程序将其与系统提供的标准子程序连接,才能装配成可执行程序.编译过程中发现的错误将被一一列出,然后再调用编辑程序对源程序进行修改,再进行编译连接直到无语法错误即可得到可执行程序,运行可执行程序就能获得源程序预期的结果。
目标程序和可执行程序都同源程序一样以文件的形式独立地存储到磁盘上.以后再使用时不必再进行编译,也不需要源程序,只要直接运行可执行程序即可。
(2)解释方式
解释方式是将高级语言源程序用该种语言的解释程序进行解释,逐句翻译,逐句执行,即边解释边执行.发现错误立即指出,修改源程序后再次解释并运行,如无语法错误即可得到运行结果。
按解释方式运行程序,并不保留解释源程序得到的机器代码,再次运行程序仍需边解释边执行,因此解释方式比编译方式执行速度慢,而且离开解释程序,源程序就无法运行。
解释方式适用于BASIC、dBASEⅢ等相对比较简单的程序语言.而其它大多数语言,由于前后关联较多、较难理解,不易实现边解释边执行,因此普遍采用编译方式.使用解释方式,调试程序比较容易,特别适合初学者使用.为提高运行效率,BASIC、dBASEⅢ等语言也都推出了编译型的版本。
高级语言与低级语言的比较
机器语言和汇编语言之所以被称为低级语言,是因为它们是早期出现的语言,使用比较困难的语言,也是因为它们是更接近硬件的语言.高级语言之所以"高级",是因为它是在低级语言的基础上发展起来的,它们对机器的通用性好,使用比较容易.使用之所以容易,是因为有计算机专业人员开发了编译程序和解释程序,架起了高级语言与机器语言之间的桥梁,给一般的用户提供了极大的便利。
尽管有了高级语言,在很多场合仍需使用低级语言.用低级语言编写程序效率低,但执行效率高,并且可以直接利用和实现计算机硬件的全部功能,完成一般高级语言难以做到的事情.常用于编写系统软件、实时控制程序、经常使用的标准子程序和直接控制I/O 设备的程序。
|