什麼是編譯性語言、解釋性語言和腳本語言
計算機不能直接理解高級語言,只能直接理解機器語言,因此必需要把高級語言翻譯成機器語言,計算機才能值型高級語言編寫的程序。javascript
翻譯的方式有兩種,一個是編譯,一個是解釋。兩種方式只是翻譯的時間不一樣。編譯型語言寫的程序執行以前,須要一個專門的編譯過程,把程序編譯成爲機器語言的文件,好比exe文件,之後要運行的話就不用從新翻譯了,直接使用編譯的結果就好了(exe文件),由於翻譯只作了一次,運行時不須要翻譯,因此編譯型語言的程序執行效率高。java
解釋則不一樣,解釋性語言的程序不須要編譯,省了道工序,解釋性語言在運行程序的時候才翻譯,好比解釋性basic語言,專門有一個解釋器可以直接執行basic程序,每一個語句都是執行的時候才翻譯。這樣解釋性語言每執行一次就要翻譯一次,效率比較低。c++
什麼是腳本語言?編程
1.腳本語言(JavaScript,VBscript等)介於HTML和C,C++,Java,C#等編程語言之間。
HTML一般用於格式化和鏈結文本。而編程語言一般用於向機器發出一系列複雜的指令。
2.腳本語言與編程語言也有不少類似地方,其函數與編程語言比較相象一些,其也涉及到變量。與編程語言之間最大的區別是編程語言的語法和規則更爲嚴格和複雜一些.
3.與程序代碼的關係:腳本也是一種語言,其一樣由程序代碼組成。
注:腳本語言通常都有相應的腳本引擎來解釋執行。 他們通常須要解釋器才能運行。JAVASCRIPT,ASP,PHP,PERL都是腳本語言。C/C++編譯、連接後,可造成獨立執行的exe文件。
4.腳本語言是一種解釋性的語言,例如vbscript,javascript,installshield script等等,它不象c\c++等能夠編譯成二進制代碼,以可執行文件的形式存在.
腳本語言不須要編譯,能夠直接用,由解釋器來負責解釋。
5.腳本語言通常都是以文本形式存在,相似於一種命令.
舉個例子說,若是你創建了一個程序,叫aaa.exe,能夠打開.aa爲擴展名的文件.
你爲.aa文件的編寫指定了一套規則(語法),當別人編寫了.aa文件後,你的程序用這種規則來理解編寫人的意圖,並做出迴應.那麼,這一套規則就是腳本語言.瀏覽器
JAVA語言app
java很特殊,java程序也須要編譯,可是沒有直接編譯稱爲機器語言,而是編譯稱爲字節碼,而後用解釋方式執行字節碼。Java既能夠被編譯,也能夠被解釋。經過編譯器,能夠把Java程序翻譯成一種中間代碼 - 稱爲字節碼 - 能夠被Java解釋器解釋的獨立於平臺的代碼。經過解釋器,每條Java字節指令被分析,而後在計算機上運行。只需編譯一次,程序運行時解釋執行。下圖說明了它是如何工做的:編程語言
能夠把Java字節碼看做運行在Java虛擬機(Java VM)上的機器代碼指令。每中Java解釋器,無論是Java開發工具仍是能夠運行Java小應用程序的Web瀏覽器,都是一種Java VM的實例。JavaVM也能夠由硬件實現。函數
Java字節碼使「寫一次,處處運行」成爲可能。能夠在任何有Java編譯器的平臺上把Java程序編譯成字節碼。這個字節碼能夠運行在任何Java VM上。例如,同一個Java程序能夠運行在WindowsNT、Solaris和Macintosh上。工具
Java平臺開發工具
平臺是程序運行的硬件或軟件環境。Java平臺與大多數其它平臺不一樣之處在於它是運行於其它基於硬件平臺的純軟件平臺。大多數其它平臺是硬件和操做系統的結合。
Java平臺由兩部分組成:
Java虛擬機(Java VM)
Java應用程序界面(Java API)
咱們已經介紹了Java VM,它是Java平臺的基礎,能夠移植到各類基於硬件的平臺上。Java API是軟件組件的集合,它們提供了不少有用的功能,如圖
形用戶界面(GUI)。Java API被分組爲相關組件的庫(包)。
下圖描述了一個運行在Java平臺上的Java程序,如應用程序(application)或小應用程序(applet)。如圖中顯示的,JavaAPI和VM把Java程序從硬件依賴中分離出來。
做爲一種獨立於平臺的環境,Java比本地代碼慢一些。然而,聰明的編譯器、很好地調製過的解釋