⑴ 解釋性語言和編譯型語言的區別與不同
1.編譯型語言在程序執行之前,有一個單獨的編譯肆彎過程,將程序翻譯成機器語言,以後執行這個程序的時候,就不用再進行翻譯了。
2.解釋型語言,是在運行的時候將程序翻譯成機器語言,所以運行速度相對於編譯型語言要慢。
3.C/C++ 等都是編譯型語言,而Java,C#等都是解釋型語言。
4.雖然Java程序在運行之前也有一個編譯過程,但是並不是將程序編譯成機器語言,而是將裂腔悶它編譯成位元組碼(可以理解為一個中間語言)。
在運行的時候,由JVM將位元組碼再翻譯成機器語言。
5.腳本語言一般都有相應的腳本引擎來解釋執行。 他們一般需要解釋器才能運行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是腳本語言。C/C++編譯、鏈接後圓激,可形成獨立執行的exe文件。
⑵ 解釋型語言和編譯型語言的區別是什麼
一、編譯型
編譯型語言:編譯型語言在執行之前要先經過編譯過程,編譯成為一個可執行的機器語言的文件,比如exe。因為翻譯只做一遍,以後都不需要翻譯,所以執行效率高。
編譯型語言的典型代表:C語言,C++。
編譯型語言的優缺點:執行效率高,缺點是跨平台能力弱,不便調試。
二、解釋型
解釋型語言:解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。執行時才翻譯執行。程序每執行一次就要翻譯一遍。
代表語言:python,JavaScript。
優缺點:跨平台能力強,易於調,執行速度慢。
編譯型與解釋型,兩者各有利弊
前者由於程序執行速度快,同等條件下對系統要求較低,因此像開發操作系統、大型應用程序、資料庫系統等時都採用它,像C/C++、Pascal/Object Pascal(Delphi)等都是編譯語言。
而一些網頁腳本、伺服器腳本及輔助開發介面這樣的對速度要求不高、對不同系統平台間的兼容性有一定要求的程序則通常使用解釋性語言,如Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB等等。
⑶ 解釋性語言都有什麼
解釋型語言,是在運行的時候將程序翻譯成機器語言。
解釋型語言的程序不需要在運行前編譯,在運行程序的時候才翻譯,專門的解釋器負責在每個語句執行的時候解釋程序代碼。這樣解釋型語言每執行一次就要翻譯一次,效率比較低。
解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。在發布程序時,看起來省了道編譯工序。但是汪蘆,在運行程序的時候,解釋性語言必須先解釋再運行。
解釋型語言和編譯性語言的區別:
編譯型與解釋型,兩者各有利弊。前者由於程序執行速度快,同等條件下對系統要求較低,因此像開枝爛發操作系統、大型應用程序、資料庫系統等時都採用它,像C/C++、Pascal/Object Pascal(Delphi)等都是編譯語言。
而一些網猛陵漏頁腳本、伺服器腳本及輔助開發介面這樣的對速度要求不高、對不同系統平台間的兼容性有一定要求的程序則通常使用解釋性語言,如Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等。
以上內容參考 網路-解釋性語言
⑷ 編譯型語言和解釋型語言的區別是什麼
編譯型語言和解釋型語言的區別是翻譯的時間點不同。
編譯型語言:編譯型語言在執行之前要先經過編譯過程,編譯成為一個可執行的機器語言的文件,比如exe。
因為翻譯只做一遍,以後都不需要翻譯,所以執行效率高。
解釋型語言:解釋性語言編寫的程序不進行預先編譯,以文本方式存儲程序代碼。
執行時才翻譯執行程序每執行一次就要翻譯一遍。
編譯型語言和解釋型語言的詳細介紹:
對於編譯型語言,開發完成以後需要將所有的源代碼都轉換成可執行程序,比如Windows下的.exe文件,可執行程序裡麵包含的就是機器碼。只要我們擁有可執行程序,就可以隨時運行,不用再重新編譯了,也就是「一次編譯,無限次運行」。
在運行的時候,我們只需要編譯生成的可執行程序,不再需要源代碼和編譯器了,所以說編譯型語言可以脫離開發環境運行。
編譯型語言一般是不能跨平台的,也就是不能在不同的操作系統之間隨意切換。
對於解釋型語言,每次執行程序都需要一邊轉換一邊執行,用到哪些源代碼就將哪些源代碼轉換成機器碼,用不到的不進行任何處理。
每次執行程序時可能使用不同的功能,這個時候需要轉換的源代碼也不一樣。
因為每次執行程序都需要重新轉換源代碼,所以解釋型語言的執行效率天生就低於編譯型語言,甚至存在數量級的差距。
計算機的一些底層功能,或者關鍵演算法,一般都使用C/C++實現,只有在應用層面(比如網站開發、批處理、小工具等)才會使用解釋型語言。
⑸ 解釋性語言和編譯型語言的區別與不同
計算機最終執行的都是機器語言,就是0、1組成的串,所以無論解釋還是編譯,最後都要變成機器碼。這個不要忘記了。而你寫的代碼,本質上就是文本文件,就是字元串。
編譯型語言會把你的源代碼先編譯成可執行文件,就是可以直接在cpu上跑的機器語言。然後運行可執行文件,就等於運行你的代碼了。
解釋型語言不會事先編譯,它會在執行的時候一句一句把你的代碼翻譯成機器語言。
所以,編譯型語言執行時會比解釋型語言快很多,畢竟人家直接執行的就是機器語言,你還要翻譯,然後再執行。我們的操作系統基本都是用編譯型語言寫的。
但是,編譯型語言需要編譯,編譯也是很費時間的。有些代碼,我可能用一次就不用了,沒必要非得編譯,太浪費了。
⑹ 為什麼 解釋性 語言 不能 編譯
解釋性語言也可以編譯,前提是有這樣的編譯器(比如你自己寫一個:)),找不到這樣的編譯器你當然不能編譯
對於語言本身來說,各種編程語言本質沒什麼不同。所謂的「解釋性」和「編譯」指的是執行機制上的不同。
解釋性語言是指它常用的執行機制是使用一個「解釋器」來執行,解釋器對於程序是一句一句「翻譯」成機器語言來一句一句執行,例如shell腳本語言。
編譯型語言是指它常用的執行機制是使用一個「編譯器」來編譯成機器語言,然後你就可以直接運行(執行)這個編譯成的「可執行文件」。例如C語言
你也可以為解釋性語言(如shell腳本語言)寫個編譯器來編譯,這樣它就成了「編譯語言」;
你也可以為編譯型語言(如c語言)寫個解釋器來執行,這樣它就成了「解釋性語言」
⑺ 解釋型語言
有關於解釋型語言,相關知識詳細介紹如下:
1、簡介:程序不需要編譯,程序在運行時才翻譯成機器語言,每執行一次都要翻差返譯一次。因此效率比較低。Basic語言專門有一個解釋器能夠直接執行Basic程臘兄序,每個語句都是執行的時候才翻譯。用c語言開發了程序後,需要通過編譯器把程序編譯成機器語言,即計算機識別的二進制文件,因為不同的操作系統計算機識別的二進制文件是不同的。
3、利弊:由於程序執行速度快,同等條件下對系統要求較低,因此像開發操作系統、大型應用程序、資料庫系統等時虛局飢都採用它,而一些網頁腳本伺服器腳本及輔助開發介面這樣的對速度要求不高,對不同系統平台間的兼容性有一定要求的程序則通常使用解釋性語言。
⑻ 關於「編譯型語言」和「解釋性語言」的區別
1、程序控制權不同:
對於解釋性語言而言,程序運行時的控制權在解釋器(jre,.net)而不再用於程序。編譯型語言對於編譯器而言,運行時的控制權在用戶程序。
2、運行速度不同:
一些網頁腳本,伺服器腳本以及輔助開發介面這樣的對速度要求不高,對不同系統的兼容性有一定要求的程序則通常使用解釋性語言,如Java、JavaScript、VBScript、Perl、Python、Ruby、Matlab等等。
編譯語言由於程序執行速度快,同等條件下對系統的要求比較低,因此像開發操作系統、大型應用程序、資料庫系統等時都採用它,像C/C++,Pascal/Object Pascal(Delphi)等都是編譯型語言。
3、移植性不同:
解釋型語言,例如Java語言,Java程序首先通過編譯器編譯成class文件,如果在Windows平台上運行,則通過Windows平台上的Java虛擬機(VM)進行解釋。如果運行在Linux平台上,則通過Linux平台上的Java虛擬機進行解釋執行。
所以說能跨平台,前提是平台上必須要有相匹配的Java虛擬機。如果沒有Java虛擬機,則不能進行跨平台。
編譯型語言,例如C語言,用C語言開發程序後,需要通過編譯器把程序編譯成機器語言(即計算機可以識別的二進制文件,因為不同的操作系統識別的二進制文件是不同的),所以C語言程序進行移植後,需要重新編譯(如Windows編譯成ext文件,Linux編譯成erp文件)。
⑼ 哪些是解釋性語言,哪些是編譯性語言
解釋性語言是指,在執行時由相關程序實時讀取程序語句,然後再編譯執行的語言,這樣的源程序多為文本文件。可以理解為由專門的程序讀取你用文本寫的程序,然後邊解釋邊執行。
而編譯語言則是可以有計算機直接執行的機器語言,以二進制的形式存儲。
最大的區別就是,編譯好的程序比解釋性的快很多,效率高很多。
⑽ 解釋性語言可以單步執行嗎
解釋性語言可以單步執行。在解釋性語言運行程序的時候,可以單步執行先解釋再運行。者並程序不需要編譯,程序在運行時才翻譯成機器語言,每執行一次都要翻悔迅譯一次。因此碧嫌此效率比較低。