計算機高級語言的執行方式能夠分爲編譯型和解釋型兩種。
操作系統
編譯型語言是指使用專門的編譯器,針對特定平臺(操做系統)將某種高級語言源代碼一次性「翻譯」成可被該平臺硬件執行的機器碼(包括機器指令和操做數),幷包裝成該平臺所能識別的可執行性程序的格式,這個轉換過程稱爲編譯(compile)。編譯生成的可執行性程序能夠脫離開發環境,在特定的平臺上獨立運行。
翻譯
有些程序編譯結束後,還可能須要對其餘編譯好的目標代碼進行連接,即組裝兩個以上的目標代碼模塊生成最終的可執行性程序,經過這種方式實現低層次的代碼複用。
開發
由於編譯型語言是一次性地編譯成機器碼,因此能夠脫離開發環境獨立運行,並且一般運行效率較高:但由於編譯型語言的程序被編譯成特定平臺上的機器碼,所以編譯成生的可執行性程序一般沒法移植到其餘平臺上運行;若是須要移植,則必須將源代碼複製到特定平臺上,針對特定平臺進行修改,至少也須要採用特定平臺上的編譯器從新編譯。
編譯器
現有的C、C++、FORTIRAN、Pascal 等高級語言都屬於編譯型語言。
編譯
解釋性語言是指使用專門的解釋器對源程序逐行解釋成特定平臺的機器碼並當即執行的語言。解釋型語言一般不會進行總體的編譯和鏈接處理,解釋型語言至關於把編譯型語言中的編譯和解釋過程混合到一塊兒同時完成。
效率
能夠認爲:每次執行解釋型語言的程序都須要進行一次編譯,所以解釋型語言的程序運行效率一般較低,並且不能脫離解釋器獨立運行。但解釋性語言有一個優點:跨平臺比較容易,只需提供特定平臺的解釋器便可,每一個特定平臺上的解釋器負責將源程序解釋成特定平臺的機器指令便可。解釋型語言能夠方便地實現源程序級的移植,但這是以犧牲程序執行效率爲代價的。
硬件
現有的Ruby、Python 等語言都屬於解釋型語言。
二進制
除此以外,還有一種僞編譯型語言,如 Visual Basic,它屬於半角編譯型語言,並非真正的編譯型語言。它首先被編譯成P-代碼,並將解釋引擎封裝在可執行性程序內,當運行程序時,p-代碼會被解析成真正的二進制代碼,在特定平臺上運行,很是像編譯型語言。實際上,在這個EXE文件中,既有程序的啓動代碼,也有連接解釋程序的代碼,而這部分代碼負責啓動Visual Basic 解釋程序,再對Visual Basic 代碼進行解釋並執行。
程序