|
如果不想看下面這么一大段看起來讓人頭疼的話 直接跳到最后的簡化版 我們想了解編譯型語言與解釋型語言的區(qū)別 ,我們先來回答一個(gè)問題 編程語言是什么, 我們計(jì)算機(jī)分為兩大系統(tǒng) 硬件和軟件兩大塊,軟件又分系統(tǒng)軟件和應(yīng)用軟件,操作系統(tǒng)不用說咱們每天都在接觸 今天咱們要了解系統(tǒng)軟件里的語言處理程序:也稱為編譯程序,作用是把程序員用某種編程語言(如Python)所編寫的程序,翻譯成計(jì)算機(jī)可執(zhí)行的機(jī)器語言。機(jī)器語言也被稱為機(jī)器碼,是可以通過CPU進(jìn)行分析和執(zhí)行的指令集。而編程語言就是用來定義 計(jì)算機(jī)程序 的形式語言。我們通過編程語言來編寫程序代碼,再通過語言處理程序執(zhí)行向計(jì)算機(jī)發(fā)送指令,讓計(jì)算機(jī)完成對應(yīng)的工作,簡單來說,編程語言就是人類和計(jì)算機(jī)進(jìn)行交流的語言。 咱們先來說編譯型:是有一個(gè)負(fù)責(zé)翻譯的程序來對我們的源代碼進(jìn)行轉(zhuǎn)換,生成相對應(yīng)的可執(zhí)行代碼,這個(gè)過程就被稱為編譯,而來編譯的程序也就被稱為編譯器,也就是說我們寫一個(gè)程序代碼在源文件當(dāng)中,通常經(jīng)過編譯以后生成一個(gè)可執(zhí)行文件,這樣我們就可以直接運(yùn)行了 解釋型:在程序運(yùn)行的前一刻,還只有源程序沒有可執(zhí)行程序,而當(dāng)執(zhí)行時(shí)每執(zhí)行到源程序的某一條指令,則會(huì)有有一個(gè)稱為解釋程序的外殼程序?qū)⒃创a轉(zhuǎn)換成二進(jìn)制代碼以供執(zhí)行,也就是說一邊解釋 一邊執(zhí)行 ,所以解釋型程序是離不開解釋程序的 上面我們大概介紹了兩種語言的特點(diǎn),從字面上看,“編譯”和“解釋”的確有“翻譯”的意思,只是他們的區(qū)別在于翻譯的時(shí)機(jī)安排不太一樣,打個(gè)比方,你想閱讀一下日本國家的文化精華,而你又不認(rèn)識(shí)日文,這時(shí)候你可以請翻譯給你整個(gè)字幕都翻譯好,也可以請美女翻譯在身邊一句一句的給你翻譯,但當(dāng)你又想知道上句內(nèi)容,還得重新翻譯. ------------------------------------------------------------------------------------------------ 總結(jié)版 如果有什么遺漏與不對的地方,請留下你寶貴的意見 簡單來說 計(jì)算機(jī)不能直接的理解高級(jí)語言,只能直接理解機(jī)器語言,所以必須要把高級(jí)語言翻譯成機(jī)器語言, 也就是 0 1 ,這樣計(jì)算機(jī)才能執(zhí)行高級(jí)語言編寫的程序, 翻譯的方式有兩種,編譯和解釋 只是翻譯的時(shí)間不通罷了, 但隨著設(shè)計(jì)技術(shù)與硬件不斷發(fā)展,編譯型與解釋型兩種方式的界限正在不斷變得模糊. 特征: 解釋型語言在運(yùn)行程序的時(shí)候才翻譯,每執(zhí)行一次,要翻譯一次,效率較低. 編譯型就是直接編譯成機(jī)型可以執(zhí)行的,只翻譯一次 優(yōu)點(diǎn): 解釋型:可移植性好,只要有運(yùn)行相應(yīng)需要的解釋環(huán)境,可以在不用的操作系統(tǒng)上運(yùn)行,修改調(diào)試也非常方便 編譯型:相比解釋執(zhí)行編譯執(zhí)行效率高,占用資源小,適合復(fù)雜程序 缺點(diǎn): 解釋型:一句一句執(zhí)行解釋,浪費(fèi)計(jì)算機(jī)資源,效率低 編譯型:兼容性差,編譯型程序雖然源代碼也可以移植,但前提是必須針對不同的系統(tǒng)分別進(jìn)行編譯. |
|
|