20171218-编程语言的介绍

编程语言大致分为机器语言、汇编语言和高级语言,下面一一介绍这三种语言:

机器语言

由于计算机内部只能接收二进制代码,因此用二进制0和1编写的代码成为机器指令,全部机器指令的集合则构成了计算机的机器语言,用机器语言编写的程序成为目标程序。只有目标程序才能直接被计算机识别和执行。但机器语言唯一的缺点就是没有明显的特征,难以记忆,不便于阅读,切依赖于机种,局限性很大,机器语言属于低级语言。

用机器语言编写程序时,首先程序员要先记住所有的机器指令和指令的含义,编写程序时,程序员首先要自己处理每条指令和每一条数据的存储分配和输入输出,还得记住每条指令所处单元的状态,这是一件十分复杂的工作。编写程序的时间往往是十几运行时间的十几倍甚至上百倍。而且编写出来的程序都是0和1,直观性很差,还容易出错。除了计算机生产厂家的专业人员外,程序员是不会愿意编写机器语言的。

机器语言是微处理器理解和使用的,用于控制二进制代码。

汇编语言

汇编语言和机器语言相同的,都是直接对硬件操作,只不过汇编语言是指令采用了英文缩略缩写的标识符,更容易识别和记忆。它同样需要编程者通过将每一步的操作用命令的形式写出来。汇编陈程序中的每一句指令只能对应实际操作的一个细微的动作。例如移动、自增,一次汇编源程序一般是比较冗长的、复杂的、更容易出错的,而使用汇编语言需要有更多的计算机专业方面的知识,但汇编语言的优点也是显而易见的,用汇编语言完成的操作不是一般高级语言能完成的。而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。

高级语言

高级语言是大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用了堆栈和寄存器等,这样大大简化了程序的指令,同时,由于省略了很多细节,编程者不需要有太多的专业知识。

高级语言主要是相对于汇编语言而说的,它并不是特质一种语言,而是包含了很多编程语言。

高级语言所编制的程序不能直接被计算机所识别,必须经过转换才能被执行。按转换方式可被分为编译类和解释类:

编译类:编译是指在应用源程序执行之前,就将源程序 "翻译" 为目标代码(机器语言),因此目标程序可以脱离其语言环境独立执行(编译后生成可执行文件,cpu是可以理解二进制代码的)。

优点:使用方便、效率较高

缺点:应用程序的源代码一旦修改,需要重新编译生成新的目标文件(.obj,也就是OBJ文件)才能执行,只有目标文件而没有源码,修改起来很不方便。

用翻译官的例子举例:

编译后的程序运行时不需要重新编译,直接使用编译后的结果就行了。程序执行效率高,依赖编译器,跨平台性差。如C,C++,Deplhi等

解释类:执行方式类似于我们日常生活中"同声翻译",应用程序的源代码一边由响应的解释器"翻译"为目标程序(机器语言),一边执行,因此效率比较低,而且不能生成可执行的文件,应用程序不能脱离解释器(想要运行,必须先装上解释器,就像跟老外说话,必须有翻译在场),但这种方式比较灵活,可以动态调整和修改程序,如Python,Java,Ruby,PHP等语言。

总结

机器语言:

优点:底层、执行速度快

缺点:复杂、开发效率低

汇编语言:

优点:底层、执行速度快

缺点:复杂、开发效率低

高级语言

编译类语言:执行速度快、不依赖语言环境,但是跨平台性差

解释类语言:跨平台性强,当时依赖解释器,运行速度慢

 

原文地址:https://www.cnblogs.com/it-q/p/8137699.html