首页 理论教育 大学计算机基础:语言发展历程

大学计算机基础:语言发展历程

时间:2023-11-19 理论教育 版权反馈
【摘要】:机器语言是一组由0和1系列组成的指令码,这些指令码,是CPU制作厂商规定出来的,然后发布出来,请程序员遵守。图8-2汇编语言编写的程序3.高级语言汇编语言和机器语言都是面向机器的,机器不同,语言也不同。汇编语言的书写格式在很大程度上取决于特定计算机的机器指令,因此它仍然是一种面向机器的语言,人们称机器语言和汇编语言为低级语言。

大学计算机基础:语言发展历程

1.机器语言

1946年2月14日,世界上第一台计算机ENAC诞生,使用的是最原始的穿孔卡片。这种卡片上使用的语言是只有专家才能理解的语言,与人类语言差别极大,这种语言就称为机器语言。机器语言是第一代计算机语言。这种语言本质上是计算机能识别的唯一语言,人类很难理解。以后的语言就是在这个的基础上简化而来。虽然后来发展的语言能让人类直接理解但最终送入计算机的还是这种机器语言。

计算机的大脑或者说心脏就是CPU,它控制着整个计算机的运作。每种CPU,都有自己的指令系统。这个指令系统,就是该CPU的机器语言。机器语言是一组由0和1系列组成的指令码,这些指令码,是CPU制作厂商规定出来的,然后发布出来,请程序员遵守。要让计算机干活,就得用机器语言(二级制数)去命令它。这样的命令,不是一条两条,而是上百条。而且不同型号的计算机其机器语言是不相通的,按着一种计算机的机器指令编制的程序,不能在另一种计算机上执行。

2.汇编语言和编译器

机器语言编程是不是很令人烦恼呢,终于出现了汇编语言,就是一些标识符取代0与1。一门人类可以比较轻松认识的编程语言,如图8-2所示使用汇编语言编写的程序。只是这门语言计算机并不认识,所以人类还不能用这门语言命令计算机做事情。这正如如何才能让中国人说的话美国人明白呢?——翻译!所以,有一类专门的程序,既认识机器语言,又认识汇编语言,也就是编译器,将标识符换成0与1,知道怎么把汇编语言翻译成机器语言。

图8-2 汇编语言编写的程序

3.高级语言

汇编语言和机器语言都是面向机器的,机器不同,语言也不同。既然有办法让汇编语言翻译成机器语言,难道就不能把其他更人性化的语言翻译成机器语言?1954年,Fortran语言出现了,其后相继出现了其他的类似语言。这批语言,使程序员摆脱了计算机硬件的限制,把主要精力放在了程序设计上,不在关注低层的计算机硬件。这类语言,称为高级语言。同样的,高级语言要被计算机执行,也需要一个翻译程序将其翻译成机器语言,这就是编译程序,简称编译器。

4.语言的层次

计算机硬件只能识别由0、1组成的机器指令序列,即机器指令程序,因此机器指令是最基本的计算机语言。

由于机器指令是特定的计算机系统所固有的、面向机器的语言,所以用机器语言进行程序设计时效率很低,程序的可读性很差,也难以修改和维护。因此,人们就用易记忆的符号代替0、1序列来表示机器指令,例如,用ADD表示加法,用SUB表示减法等。用符号表示的指令称为汇编指令,汇编指令的集合被称为汇编语言。

汇编语言的源程序由若干条语句组成,其中可以有三类语句:指令语句、伪指令语句和宏指令语句。(www.xing528.com)

指令语句又称为机器指令语句,将其汇编后能产生相应的机器代码,这些代码能被CPU直接识别并执行相应的操作。基本的指令有ADD、SUB和AND等,书写指令语句时必须遵守指令的格式要求。

伪指令语句指示汇编程序在汇编源程序时完成某些工作,例如为变量分配存储单元地址,给某个符号赋一个值等。伪指令语句经编译后不产生机器代码。

汇编语言的书写格式在很大程度上取决于特定计算机的机器指令,因此它仍然是一种面向机器的语言,人们称机器语言和汇编语言为低级语言。

在此基础上,人们开发了功能更强、抽象级别更高的语言以支持程序设计,于是就产生了面向各类应用的程序设计语言,称为高级语言。常见的有Java、C、C++、PHP、Python等,如图8-3所示的程序设计语言的层次结构。

图8-3 程序设计语言的层次结构

5.程序设计语言的定义

一般来说,程序设计语言的定义都涉及语法、语义和语用等方面。

(1)语法是指由程序设计语言的基本符号组成程序中的各个语法成分(包括程序)的一组规则。其中由基本字符构成的符号(单词)书写规则称为词法规则,由符号构成语法成分的规则称为语法规则。

(2)语义是程序设计语言中按语法规则构成的各个语法成分的含义,分为静态语义和动态语义。静态语义是指编译时可以确定的语法成分的含义,而运行时刻才能确定的含义是动态语义。一个程序的执行效果说明了该程序的语义,它取决于构成程序的各个组成部分的语义

(3)语用表示了构成语言的各个记号和使用者的关系,设计符合的来源、使用和影响。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈