第一代(1GL):机器语言
机器语言是由二进制0和1代码指令构成,不同的CPU具有不同的指令系统,机器语言程序难编写、难修改、难维护,需要用户直接对存储空间进行分配,编程效率低。这种语言已经被渐渐淘汰了。
第二代(2GL):汇编语言
汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系,所以汇编语言同样存在难学难用、容易出错、维护困难等缺点。但是汇编语言也有自己的优点:可直接访问系统接口,汇编程序翻译成的机器语言程序的效率高,翻译为机器语言只需要经过一步。从软件工程角度来看,只有在高级语言不能满足设计要求,或不具备支持某种特定功能的技术性能(如特殊的输入输出)时,汇编语言才被使用。
第三代(3GL):高级语言
-
从应用角度来说
-
基础语言
FORTRAN 、COBOL、BASIC、ALGOL等
-
结构化语言
PASCAL、C、Ada语言
-
专用语言
APL语言(数学处理)、Forth语言(嵌入式)、LISP语言(表处理)
-
-
从客观系统的描述分类
-
面向过程
-
“数据结构+算法” 程序设计范式结构的程序设计语言
C语言
-
-
面向对象
-
“对象 + 消息模式” 程序设计范式结构的程序设计语言
Python、Java、、JS、C++、C#
-
-
第四代(4GL):非过程化语言
只需要告诉“做什么”,就可以拿到结果
- 数据库:SQL
- 应用程序生成器:AG(无需编写代码便可创建一个完整的应用程序)