編譯型的語言
專門的編譯器, 針對特定的平臺(操作系統(tǒng))“翻譯”成機(jī)器碼(包括機(jī)器指令和操作數(shù)),并包裝成該平臺可執(zhí)行程序的格式;如需要其他的代碼,要進(jìn)行鏈接。
優(yōu)點(diǎn):可脫離開發(fā)環(huán)境,特定的平臺上獨(dú)立運(yùn)行,運(yùn)行速度快,代碼效率高,編譯后的程序不可修改,保密性較好
缺點(diǎn):無法移植;需要移植,要源代碼重新編譯 , 代碼需要經(jīng)過編譯方可運(yùn)行,只能在兼容的操作系統(tǒng)上運(yùn)行
代表語言: C/C++ , JAVA ,
解釋型語言
專門的解釋器對源程序每一行解釋成特定平臺的機(jī)器碼并立即執(zhí)行的語言;解釋型語言不會對整體性的編譯和鏈接處理,解釋型語言相當(dāng)于把編譯語言中編譯和解釋過程混合到了一起同時完成。
優(yōu)點(diǎn):跨平臺較容易,是以犧牲程序執(zhí)行效率為代價 , 可移植性較好,只要有解釋環(huán)境,可在不同的操作系統(tǒng)上運(yùn)行
缺點(diǎn):效率較低,不能脫離解釋器獨(dú)立運(yùn)行 , 運(yùn)行需要解釋環(huán)境,運(yùn)行起來比編譯的要慢,占用資源也要多一些,代碼效率低,代碼修改后就可運(yùn)行,不需要編譯過程
代表語言:ruby Python Javascript