有些高級語言在把源程序轉換為可執行程序的時候,需要先對完整的源程序做詞法分析、語法分析等壹系列檢測,所有語法都沒有問題後,壹次性把所有源代碼翻譯成機器碼,這要求源程序中不能有任何語法錯誤,否則將不會生成可執行程序,直到所有語法錯誤都改正,這種轉換的方式稱為編譯,C、C++等語言就是采用了編譯方式。
還有些高級語言在把源程序轉換為可執行程序的時候,壹句話壹句話的轉換,翻譯壹行執行壹行,如果遇到某壹行出現了語法錯誤,程序將停止在出現錯誤的地方,程序員可以修改,然後繼續執行,這種轉換方式稱為解釋,VB、早期的Java都是采用解釋方式。
兩種方式各有利弊,編譯的方式對於程序員要求較高,源代碼中不能出現任何錯誤,最終的程序才能執行,但壹旦通過了編譯,則生成的可執行代碼執行效率會很高;而解釋方式可以邊寫代碼邊調試,但執行的效率較低。