长春博大艺术学校:高级语言和低级语言的区别

来源:百度文库 编辑:神马品牌网 时间:2024/05/06 04:50:31
最好举例说明(程序的实现)

首先,低级语言是指机器语言和汇编语言,高级语言是诸如Basic,C,Pascal,Delphi之类的语言
低级语言编写很麻烦,比如,机器语言全部是二进制代码,在汇编语言和高级语言没出现的时候,程序员们就这样编写,现在已经没人这样编程了.汇编语言实现了靠近人类语言的任务,但仍然不很容易
下边以a=a+b为例

机器:
(一大串1和0,不再给出,因为的确很麻烦)

汇编:(a取2,b取3)
MOV AX,2
MOV BX,3
ADD AX,BX

C语言:
int a,b;
a=2;
b=3;
a=a+b;

BASIC语言:
dim a,b as integer
a=2
b=3
a=a+b

PASCAL语言:
int a,b;
a:=2;
b:=3;
a:=a+b;

最初的计算机程序都是用0和1的序列表示的,程序员直接使用的是机器指令,无需翻译,从纸带打孔输入即可执行得到结果。后来为了方便记忆,就将用0、1序列表示的机器指令都用符号助记,这些与机器指令一一对应的助记符就成了汇编指令,从而诞生了汇编语言。无论是机器指令还是汇编指令都是面向机器的,统称为低级语言。因为是针对特定机器的机器指令的助记符,所以汇编语言是无法独立于机器(特定的CPU体系结构)的。但汇编语言也是要经过翻译成机器指令才能执行的,所以也有将运行在一种机器上的汇编语言翻译成运行在另一种机器上的机器指令的方法,那就是交叉汇编技术。

高级语言是从人类的逻辑思维角度出发的计算机语言,抽象程度大大提高,需要经过编译成特定机器上的目标代码才能执行,一条高级语言的语句往往需要若干条机器指令来完成。高级语言独立于机器的特性是靠编译器为不同机器生成不同的目标代码(或机器指令)来实现的。那具体的说,要将高级语言编译到什么程度呢,这又跟编译的技术有关了,既可以编译成直接可执行的目标代码,也可以编译成一种中间表示,然后拿到不同的机器和系统上去执行,这种情况通常又需要支撑环境,比如解释器或虚拟机的支持,Java程序编译成bytecode,再由不同平台上的虚拟机执行就是很好的例子。所以,说高级语言不依赖于机器,是指在不同的机器或平台上高级语言的程序本身不变,而通过编译器编译得到的目标代码去适应不同的机器。从这个意义上来说,通过交叉汇编,一些汇编程序也可以获得不同机器之间的可移植性,但这种途径获得的移植性远远不如高级语言来的方便和实用性大。

高级语言对用户,低级语言对机器

罗嗦,高级语言对用户,低级语言对机器!