第一代(1GL):機(jī)器語言
???????機(jī)器語言是由二進(jìn)制0和1代碼指令構(gòu)成,不同的CPU具有不同的指令系統(tǒng),機(jī)器語言程序難編寫、難修改、難維護(hù),需要用戶直接對存儲空間進(jìn)行分配,編程效率低。這種語言已經(jīng)被漸漸淘汰了。
第二代(2GL):匯編語言
匯編語言指令是機(jī)器指令的符號化,與機(jī)器指令存在著直接的對應(yīng)關(guān)系,所以匯編語言同樣存在難學(xué)難用、容易出錯、維護(hù)困難等缺點。但是匯編語言也有自己的優(yōu)點:可直接訪問系統(tǒng)接口,匯編程序翻譯成的機(jī)器語言程序的效率高,翻譯為機(jī)器語言只需要經(jīng)過一步。從軟件工程角度來看,只有在高級語言不能滿足設(shè)計要求,或不具備支持某種特定功能的技術(shù)性能(如特殊的輸入輸出)時,匯編語言才被使用。
第三代(3GL):高級語言
-
從應(yīng)用角度來說
-
基礎(chǔ)語言
FORTRAN 、COBOL、BASIC、ALGOL等
-
結(jié)構(gòu)化語言
PASCAL、C、Ada語言
-
專用語言
APL語言(數(shù)學(xué)處理)、Forth語言(嵌入式)、LISP語言(表處理)
-
-
從客觀系統(tǒng)的描述分類
-
面向過程
-
“數(shù)據(jù)結(jié)構(gòu)+算法” 程序設(shè)計范式結(jié)構(gòu)的程序設(shè)計語言
C語言
-
-
面向?qū)ο?/p>
-
“對象 + 消息模式” 程序設(shè)計范式結(jié)構(gòu)的程序設(shè)計語言
Python、Java、、JS、C++、C#
-
-
第四代(4GL):非過程化語言
只需要告訴“做什么”,就可以拿到結(jié)果
- 數(shù)據(jù)庫:SQL
- 應(yīng)用程序生成器:AG(無需編寫代碼便可創(chuàng)建一個完整的應(yīng)用程序)