為什麼解釋型語言沒有編譯程序
⑴ 解釋型語言和編譯型語言的區別是什麼
一、編譯型
編譯型語言:編譯型語言在執行之前要先經過編譯過程,編譯成為一個可執行的機器語言的文件,比如exe。因為翻譯只做一遍,以後都不需要翻譯,所以執行效率高。
編譯型語言的典型代表:C語言,C++。
編譯型語言的優缺點:執行效率高,缺點是跨平台能力弱,不便調試。
二、解釋型
解釋型語言:解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。執行時才翻譯執行。程序每執行一次就要翻譯一遍。
代表語言:python,JavaScript。
優缺點:跨平台能力強,易於調,執行速度慢。
編譯型與解釋型,兩者各有利弊
前者由於程序執行速度快,同等條件下對系統要求較低,因此像開發操作系統、大型應用程序、資料庫系統等時都採用它,像C/C++、Pascal/Object Pascal(Delphi)等都是編譯語言。
而一些網頁腳本、伺服器腳本及輔助開發介面這樣的對速度要求不高、對不同系統平台間的兼容性有一定要求的程序則通常使用解釋性語言,如Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB等等。
⑵ 編譯型語言和解釋型語言的區別是什麼
編譯型語言和解釋型語言的區別是翻譯的時間點不同。
編譯型語言:編譯型語言在執行之前要先經過編譯過程,編譯成為一個可執行的機器語言的文件,比如exe。
因為翻譯只做一遍,以後都不需要翻譯,所以執行效率高。
解釋型語言:解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。
執行時才翻譯執行程序每執行一次就要翻譯一遍。
編譯型語言和解釋型語言的詳細介紹:
對於編譯型語言,開發完成以後需要將所有的源代碼都轉換成可執行程序,比如Windows下的.exe文件,可執行程序裡麵包含的就是機器碼。只要我們擁有可執行程序,就可以隨時運行,不用再重新編譯了,也就是「一次編譯,無限次運行」。
在運行的時候,我們只需要編譯生成的可執行程序,不再需要源代碼和編譯器了,所以說編譯型語言可以脫離開發環境運行。
編譯型語言一般是不能跨平台的,也就是不能在不同的操作系統之間隨意切換。
對於解釋型語言,每次執行程序都需要一邊轉換一邊執行,用到哪些源代碼就將哪些源代碼轉換成機器碼,用不到的不進行任何處理。
每次執行程序時可能使用不同的功能,這個時候需要轉換的源代碼也不一樣。
因為每次執行程序都需要重新轉換源代碼,所以解釋型語言的執行效率天生就低於編譯型語言,甚至存在數量級的差距。
計算機的一些底層功能,或者關鍵演算法,一般都使用C/C++實現,只有在應用層面(比如網站開發、批處理、小工具等)才會使用解釋型語言。