1.机器语言
机器语言:指令以二进制(0,1)形式组成,一条二进制指令又可以看作是由操作码和操作数两部分组成
- 操作码:操作码规定了指令的操作,是机器语言的关键字
- 操作数:操作数表示该指令的操作对象
优点
- 能利用机器指令精准的描述算法,编程质量高
- 所占用的存储空间小
- 执行速度快
缺点
- 难读、难记、难修改
- 需要人工分配内存–易错,难上手
- 程序通用性差–不可移植
2.汇编语言
汇编语言:通过助记符表示一条机器指令
例如:我们将原本的二进制代码中的+操作(操作码)替换为了一个add(助记符),中间添加了一个转换器,我们叫做汇编器,通过汇编器,我们就可以将add转换为二进制代码,这样就便于记忆和读写
优点
- 可以轻松的读取存储器状态以及硬件I/O接口情况–相比于高级语言而言
- 编写的代码因为少了很多编译的环节,可以准确的被执行–相比于高级语言而言
- 作为一种低级语言,可扩展性比较高—相比于机器语言而言
缺点
- 特殊指令字符少,造成代码冗长,且编写困难
- 和机器语言一样,需要自己调用存储器存储数据,容易造成bug,调试困难
- 后期维护成本高
- 代码兼容性差
3.高级语言
高级语言:所谓的高级语言是相对于汇编语言而言,高级语言是更接近与自然语言和数学公式的编程,可阅读性强,高级语言本身的语言结构与计算机以及指令系统无关,需要使用解释器/编译器对语言进行解析后翻译成机器语言才可以执行
优点
- 可阅读性强、易上手
- 扩展性强、高级语言的发展拥有多种函数库
- 底层操作存储器交给系统自行完成,安全性好
缺点
- 代码执行需要解释/编译,执行速度慢
- 代码冗长
- 可扩展性高
- 算法实现更简单
- C面向过程的语言
- C++面向过程/面向对象的语言–逐渐靠近了C
- Java、Python面向对象的语言