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