1、机器语言:java
是由二进制描述的机器指令,所有指令的集合构成了机器语言;因为全都是二进制,python
因此缺点是:程序员
1.不具有明显特征,难以记忆,不便于阅读;编程
2.每种计算机支持的指令也不尽相同,而致使了其局限性较大;ruby
3.须要涉及硬件操做,因此对编程人员的计算机知识要求较高spa
因为是二进制编写的最底层指令因此优势也是至关明显的:翻译
1.能够被计算机直接执行调试
2.执行速度最快开发
2、汇编语言:编译器
本质上和机器语言是相同的,仅仅是将指令从二进制变成了英文缩写,更容易理解和记忆
缺点:
1.代码依然很复杂 容易出错
2.对程序员的计算机知识要求高
优势:
1.指令丰富能够完成高级不少高级语言没法完成的操做
2.生成的可执行文件体积小,执行速度快
3、高级语言:
更加贴近人类的表达方式
将不少相关的指令组合成一条指令,屏蔽了硬件操做,让咱们能够专一完成业务逻辑
因此
1.开发效率高
2.容易理解
3.下降了程序员的工做量
4.对计算机知识需求下降
可是因为须要翻译为二进制机器指令
因此
1.执行速度比底层语言慢
2.可使用的指令比底层语言少
高级语言由于执行过程的不一样又能够分为两类:
1.编译型:
须要编译器一次性翻译所有,翻译后获得可执行文件才能执行,就像谷歌翻译同样,这个翻译过程称之为编译 这样会形成一个问题 当咱们修改了代码时就须要从新翻译一遍 生成新的可执行文件才能执行
,编译事后的二进制可执行文件能够脱离原来的语言环境直接交给计算机单独执行(exe)
缺点是:调试起来速度慢,
移植性差
优势是:执行速度快
可执行文件体积小
例如:C C++
2.解释型:
执行到哪行就翻译哪行
就像同声传译同样,在谈话结束前翻译官不能离开,因此在运行前必须安装解释器
缺点是:执行速度慢
程序体积比编译型更大
优势是:调试速度快
跨平台型好
例如:python ruby 等
java比较特别是先编译 后解释