程序設(shè)計語言分為解釋型和編譯型兩大類。Java或C++等語言需要一個編譯器(compiler)。編譯器是一種能夠把用Java等高級語言編寫出來的源代碼翻譯為直接在計算機(jī)上執(zhí)行的二進(jìn)制可執(zhí)行文件的程序。
解釋型程序設(shè)計語言不需要編譯器——它們僅需要解釋器。對于JavaScript語言,在WWW環(huán)境下,Web瀏覽器將負(fù)責(zé)完成有關(guān)的解釋和執(zhí)行工作。瀏覽器中的JavaScript解釋器將直接讀入源代碼并加以執(zhí)行。如果沒有解釋器,JavaScript代碼將無法得到執(zhí)行。
如果用編譯型程序設(shè)計語言編寫的代碼包含著錯誤,那些錯誤在代碼編譯階段就會被發(fā)現(xiàn)并報告。對于解釋型程序設(shè)計語言,代碼中的錯誤只有等到解釋器實(shí)際執(zhí)行到有關(guān)代碼時才會被發(fā)現(xiàn)并報告。
與解釋型程序設(shè)計語言相比,編譯型程序設(shè)計語言往往速度更快,可移植性也更好,但它們的學(xué)習(xí)曲線往往相當(dāng)陡峭。