本文为L_Ares个人写作,以任何形式转载请表明原文出处。
其实本节不应算在扩展章节,本节陈述的都是一些基本的计算机知识,内容对于大学的计算机及关联专业中都曾有老师系统性的讲解过,本节仅是为了记录大学知识中的一部分——关于计算机语言的分类。为方便下面知识的探索进行一个简要的铺垫。
一、什么是计算机语言
1. 定义
计算机语言是指
人
和计算机
进行通讯的语言,计算机语言是人和计算机进行传递消息的媒介。
2. 特征
计算机语言的最大特征就是指令通过一种语言传达给计算机。
二、计算机语言的分类
- 低级语言
- (1.1) 机器语言
- (1.2) 汇编语言(符号语言)
- 高级语言
- 专用语言
1. 低级语言
1.1 机器语言
概念
机器语言是指一台计算机全部指令的集合。
概述
电子计算机所使用的是0
和1
组成的二进制数
。而二进制数
是计算机的语言基础。
当我们要实现一句话或者完成一个操作,就要写成一条条的由0
和1
组成的指令序列交由计算机执行。这种计算机能够认识的语言,就是机器语言。
而因为这样的书写方式,机器语言构造的程序就是一个一个的二进制文件。一条机器语言,就是一条指令,指令是不可分割的最小功能单元。
而且因为计算机的指令系统往往各不相同,所以在一台计算机上执行的程序,要想在另一条计算机上执行,必须另编程序。
优点
- 机器语言或称二进制代码语言,计算机可以直接识别,不需要进行任何翻译。
- 每台计算机的指令,其格式和代码所代表的含义都是硬性规定的,故称之为面向机器的语言,也称为机器语言。它是第一代的计算机语言。机器语言对不同型号的计算机来说一般是不同的,因而效率很高。
缺点
因为它严重地依赖于具体的计算机,所以可移植性差,重用性差。
1.2 汇编语言
概念
人们为了克服
机器语言
编程的缺点,进行了改进。用一些简洁的英文字母、符号串来替代一个特定指令
的二进制串
。这些特定指令
就是汇编语言
。
概述
汇编语言是第二代计算机语言,它将机器语言
的缺点进行减小,让复杂的计算机语言变的更易懂,比如 : MOV
代表移动、ADD
代表加法。这样一来,人们可以更加容易的去读懂程序在做什么,纠错和维护变得更加方便。
在汇编语言中,用助记符(Memoni
)代替操作码,用地址符号(Symbol
)或标号(Label
)代替地址码。这样用符号代替机器语言
的二进制码,就把机器语言
变成了汇编语言
。因此汇编语言亦称为符号语言
。
使用汇编语言
编写的程序,机器不能直接识别,要由一种程序将汇编语言
翻译成机器语言
,这种起翻译作用的程序叫汇编程序
。
汇编程序
是系统软件中语言处理的系统软件。汇编程序
把汇编语言
翻译成机器语言
的过程称为汇编
。
优点
- 保持了机器语言的优点,具有直接和简捷的特点。
- 可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。
- 目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。
- 汇编语言是我们理解整个计算机系统的最佳起点和最有效途径。
缺点
- 在编写复杂程序时,相对高级语言代码量大。
- 而且汇编语言依赖于具体的处理器体系结构,不能通用,因此不能直接在不同处理器体系结构之间移植。
2. 高级语言
计算机是不可以直接理解任何除机器语言
之外的语言的,所以想要执行除机器语言
之外的语言编写的程序,我们就需要把我们所写的程序语言翻译成机器语言
,这样计算机才可以执行我们写的程序。
2.1 编译器
概念
将其他语言翻译成
机器语言
的工具,叫做编译器
。
概述
编译器将其他语言翻译(转换)成机器语言的方式有两种 :
- 第一种 : 编译
- 第二种 : 解释
区别
翻译(转换)时间的不同。另外,当
编译器
以解释
的方式对高级语言进行翻译(转换)的时候,就叫做解释器
。
常见
高级语言更常见的执行方式,是通过编译
来完成翻译,进而执行我们的程序。
2.2 编译型语言
概念
需要通过
编译
方式,被转换成机器语言
的语言叫做编译型语言
。
概述
编译型语言
编写的程序在执行之前要有一个专门编译的过程,这个过程一次性的将全部的其他语言代码翻译(转换)成可被硬件(计算机)直接运行的二进制的机器语言
。编译好的可执行文件可以在其相应的平台上运行,在运行的时候一般不需要额外再进行其他的翻译(转换)。
也存在有些程序在编译之后,需要组装两个及两个以上的目标代码,再生成最终的可执行文件,这个过程就是我们常说的
链接
。
优点
编译型语言
因为提前一次性的做好了翻译(转换)的过程,所以在执行的时候,不需要再进行翻译(转换),执行效率
也就相对更高。
缺点
- 跨平台性差。不同的平台需要的机器语言可能不同,需要为不同的平台翻译(转换)不同的机器语言。
- 每次修改代码后,都需要重新编译一次全部的代码,否则修改的代码是无法生效的。造成了调试程序较慢。
2.3 解释型语言
概念
需要通过
解释
方式,将其他语言转换成机器语言
的语言叫做解释型语言
。
概述
解释型语言
编写的程序不需要提前进行编译,以文本的方式存储要执行的代码。解释型语言
想要翻译(转换)成机器语言
,则必须要时刻携带解释器
。
解释型语言
在转换成机器语言
的过程中,用户首先要调用解释器
,一边将解释型语言
转成机器语言
,另一边又要把转换完成的指令交给计算机执行。每个语句都在即将被执行的时候才会被转换成
机器语言
,这种情况下,解释型语言
的代码每执行一次,就要被翻译(转换)一次。
优点
- 跨平台性好。因为
解释型语言
一定要带着解释器
才可以,所以只要针对不同的平台,更换相应的解释器
即可。- 可以随时修改代码内容,并且立即见效。
缺点
- 运行效率比
编译型语言
低。- 对
解释器
有着高依赖性。
2.4 脚本语言
概念
脚本语言
的特性和解释型语言
类似。
脚本语言
是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)
过程而创建的计算机编程语言。也是需要相应的类似于解释器
的脚本引擎
来对其进行翻译(转换),才可以转换成机器语言
。
概述
脚本语言
的执行一般都是通过解释
方式将代码转换成机器语言
,而不是通过编译
的方式。
脚本语言
通常都有简单
、易学
、易用
的特性。
脚本语言
一般以文本的形式存在,类似于一种命令
。
三、结尾
专用语言就不单独说了,比较典型的比如CAD
还有数据库语言
。本文主要的目的就是为了后面的一些内容做铺垫。