计算机语言

1.计算机语言的分类

计算机语言

1.1机器语言

由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算的机器语言
机器语言属于低级语言
计算机语言

1.2汇编语言

汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过使用英文指令标识符,具备一定的逻辑性,便于理解和记忆
但同样还是很复杂,很冗余,一个简单的功能,需要写很多的程序代码
但还是有优点的,用汇编语言能完成的操作不是一般高级语言能实现的,而且源程序经汇编生成的可执行文件不仅小,而且执行速度快
计算机语言

1.3高级语言

高级语言包含c,c++,java,php,python,go,和汇编语言相比,高级语言对程序员更加友好,开发效率更高。
高级语言所编制的程序是不能被计算机直接识别的,必须经过转换才能被执行!
高级语言之间的本质区别:转换方式不同
根据转换方式的不同,分为两类

编译类

编译是指在应用源程序执行之前,就把程序源代码“翻译”成目标代码(机器语言),因此目标程序可脱离其语言环境独立运行(编译后生成的可执行文件,是cpu可以理解的二进制机器码组成的),使用比较方便,效率比较高。但是应用程序报错,需要修改,就必须修改源代码,然后重新编译生成新的机器码文件才能执行,生成的机器码文件是不能修改的,安全性较高。
编译后程序运行时不需要重新翻译,直接运行机器码文件,可脱离源码文件,由于生成的是机器码文件,所以运行效率较高。但是由于对不同的操作系统,调用cpu的二进制指令是不同的,所以跨平台性差。如C、C++、Delphi

解释类

执行方式类似于日常生活的"同声翻译",程序源代码一遍由操作系统自带的解释器“翻译”成机器语言,一遍执行,所以效率相对较低,而且不能生产可独立执行的文件,因此程序不能脱离解释器(想运行,必须有解释器,就像鱼外国人交流,要有翻译在场),但这种方式比较灵活,可动态调整,修改应用程序。如Java、Python、PHP、ruby
计算机语言

编译型语言VS解释性语言

编译型:
1.把源代码变异成机器语言的可执行文件,例如我们常在Windows上的安装包.exe文件
2.执行.exe文件
优点
1.程序执行时,不需要源码,不依赖语言环境,因为可执行的是机器码文件
2.执行速度快,因为源代码已经翻译成了计算机可直接理解的机器语言
3.生成的机器码文件是不能查看和修改的,所以安全性较高。
缺点
1.每次修改或报错,都需要重新修改源代码,并编译生成机器码文件
2.跨平台性不好,因为不同的操作系统,调用底层硬件的二进制指令不同,需要为不同的操作系统生成不同的操作指令
解释型
1.用户调用解释器,执行源码文件
2.解释器把源代码边解释便声称机器码指令,边交给CPU执行。不同的操作系统已经自带了解释器
优点
1.跨平台性好,因为解释器已经做好了对不同平台的交互处理,用户写的源代码不要考虑平台差异,一份代码,所有平台都能直接运行。
2.随时修改,立即生效,直接运行查看结果
缺点
1.运行效率相对解释型语言较低,因为所有的程序都是边解释边运行。
2.代码是明文,安全性不高
小节:
机器语言
优点是最底层,速度最快,缺点是最复杂,开发效率最低
汇编语言
优点是比较底层,速度最快,缺点是复杂,开发效率低
高级语言
编译型语言速度快,跨平台
解释型语言跨平台好,一代码,到处使用。缺点是毒素相对慢,以来解释器

猜你喜欢

转载自blog.51cto.com/10983441/2379407