編程語言的分類
一、機器語言:
是由二進制描述的機器指令,全部指令的集合構成了機器語言;由於全都是二進制,
所以缺點是:
1.不具備明顯特征,難以記憶,不便於閱讀;
2.每種計算機支持的指令也不盡相同,而導致了其局限性較大;
3.需要涉及硬件操作,所以對編程人員的計算機知識要求較高
由於是二進制編寫的最底層指令所以優點也是相當明顯的:
1.可以被計算機直接執行
2.執行速度最快
二、匯編語言:
本質上和機器語言是相同的,僅僅是將指令從二進制變成了英文縮寫,更容易理解和記憶
缺點:
1.代碼依然很復雜 容易出錯
2.對程序員的計算機知識要求高
優點:
1.指令豐富可以完成高級很多高級語言無法完成的操作
2.生成的可執行文件體積小,執行速度快
三、高級語言:
更加貼近人類的表達方式
將很多相關的指令組合成一條指令,屏蔽了硬件操作,讓我們可以專註完成業務邏輯
所以
1.開發效率高
2.容易理解
3.降低了程序員的工作量
4.對計算機知識需求降低
但是由於需要翻譯為二進制機器指令
所以
1.執行速度比底層語言慢
2.可以使用的指令比底層語言少
高級語言因為執行過程的不同又可以分為兩類:
1.編譯型:
需要編譯器一次性翻譯全部,翻譯後得到可執行文件才能執行,就像谷歌翻譯一樣,這個翻譯過程稱之為編譯 這樣會造成一個問題 當我們修改了代碼時就需要重新翻譯一遍 生成新的可執行文件才能執行
,編譯過後的二進制可執行文件可以脫離原來的語言環境直接交給計算機單獨執行(exe)
缺點是:調試起來速度慢,
移植性差
優點是:執行速度快
可執行文件體積小
例如:C C++
2.解釋型:
執行到哪行就翻譯哪行
就像同聲傳譯一樣,在談話結束前翻譯官不能離開,所以在運行前必須安裝解釋器
缺點是:執行速度慢
程序體積比編譯型更大
優點是:調試速度快
跨平臺型好
例如:python ruby 等
java比較特別是先編譯 後解釋
編程語言的分類