編譯型的語言: 專門的編譯器, 針對特定的平臺(操作系統)“翻譯”成機器碼(包括機器指令和操作數),幷包裝成該平臺可執行程序的格式;如需要其他的代碼,要進行鏈接。
優點: 可脫離開發環境,特定的平臺上獨立運行,運行效率較高。
缺點:無法移植;需要移植,要源代碼重新編譯。
代表語言:C C++
解釋型語言:專門的解釋器對源程序每一行解釋成特定平臺的機器碼並立即執行的語言;
解釋型語言不會對整體性的編譯和鏈接處理,解釋型語言相當於把編譯語言中編譯和解釋過程混合到了一起同時完成。
優點:跨平臺較容易,是以犧牲程序執行效率爲代價。
缺點:效率較低,不能脫離解釋器獨立運行
代表語言:ruby python
關於java語言:
java語言比較特殊,由於java語言編寫的程序需要經過編譯,但這個編譯並不會生成特定平臺的機器碼,而是生成一種與平臺無關的字節碼(*.class),這個字節碼不可執行。必須使用java解釋器來解釋執行。
所以java語言既是編譯型語言,也是解釋型語言。
原文鏈接如下:
https://blog.csdn.net/caiwenfeng_for_23/article/details/8226229