程序語(yǔ)言,編譯?解釋?zhuān)?/h2>

相信學(xué)計(jì)算機(jī)的人都應(yīng)該學(xué)過(guò)不止一種程序語(yǔ)言,很多時(shí)候,很可能是兩種,或者三種,甚至有人4種5種,當(dāng)然,大部分人都知道它們是編譯型的或者是解釋型的,但是有多少人去了解過(guò)他們各自的優(yōu)缺點(diǎn)?我也正如那大部分人一樣,知道這是什么類(lèi)型的語(yǔ)言,不過(guò)也很少去真正了解過(guò)它們!

那么什么是解釋型語(yǔ)言?什么是編譯型語(yǔ)言?

大家都知道,計(jì)算機(jī)是不能直接理解高級(jí)語(yǔ)言的,只能直接理解機(jī)器語(yǔ)言,所以必須要把高級(jí)語(yǔ)言翻譯成機(jī)器語(yǔ)言,計(jì)算機(jī)才能執(zhí)行高級(jí)語(yǔ)言編寫(xiě)的程序,而翻譯的方式有兩種,一種編譯,另一種就是解釋?zhuān)瑑烧叻g的時(shí)間不同!

編譯型語(yǔ)言寫(xiě)的程序在執(zhí)行之前,需要一個(gè)專(zhuān)門(mén)的編譯過(guò)程,把程序編譯成機(jī)器語(yǔ)言的文件,比如將hello.c文件進(jìn)行預(yù)處理,編譯,匯編和鏈接,最終生成可執(zhí)行代碼文件,這樣以后再次運(yùn)行的時(shí)候,就可以直接使用編譯的結(jié)果(即exe文件)!

解釋型語(yǔ)言不需要編譯,省了道工序,解釋型語(yǔ)言是在運(yùn)行程序的時(shí)候才翻譯的,需要一個(gè)專(zhuān)門(mén)的解釋器能夠執(zhí)行解釋型語(yǔ)言寫(xiě)的程序,每個(gè)語(yǔ)句都是執(zhí)行的時(shí)候才進(jìn)行翻譯的!

本文來(lái)自極客標(biāo)簽:

編譯型語(yǔ)言的優(yōu)點(diǎn):

1:因?yàn)榭梢灾苯邮褂镁幾g的結(jié)果而不需要再次翻譯,所以執(zhí)行的效率是比較高的!

2:編譯程序?qū)⒃闯绦蚍g成目標(biāo)程序后保存在另一個(gè)文件中,該目標(biāo)程序可以脫離編譯程序直接在計(jì)算機(jī)上多次使用,大部分軟件產(chǎn)品都是以目標(biāo)程序形勢(shì)發(fā)行給用戶的,不僅便于直接執(zhí)行,而且又使得他人難以盜用期中的技術(shù)!

編譯型語(yǔ)言的缺點(diǎn):

1:編譯執(zhí)行的語(yǔ)言因?yàn)橐苯油珻PU的指令集打交道,具有很強(qiáng)的指令依賴(lài)性和系統(tǒng)依賴(lài)性!

2:編譯后的程序是由機(jī)器語(yǔ)言指令構(gòu)成的,但是使用不同硬件平臺(tái)的計(jì)算機(jī),它們的機(jī)器語(yǔ)言是不同的,使得便宜過(guò)的程序不 能順利從一個(gè)計(jì)算機(jī)平臺(tái)往另外一個(gè)平臺(tái)上移植,因此在不同的平臺(tái)上往往需要重新編譯甚至重寫(xiě)程序,這將會(huì)耗費(fèi)大量的人力物力財(cái)力!

解釋型語(yǔ)言的優(yōu)點(diǎn):

1:一般情況下,只要有相應(yīng)版本的語(yǔ)言解釋器,解釋型語(yǔ)言所寫(xiě)的程序可以幾乎不做任何修改地移植到其他平臺(tái)上去,這相對(duì)于編譯型語(yǔ)言來(lái)說(shuō),是個(gè)極大的優(yōu)勢(shì)!

2:解釋型語(yǔ)言所寫(xiě)的程序是逐行進(jìn)行翻譯執(zhí)行命令的,因此當(dāng)語(yǔ)句出現(xiàn)語(yǔ)法問(wèn)題的時(shí)候,可以立即引起程序猿的注意,而程序猿在程序開(kāi)發(fā)期間就能進(jìn)行校正!

解釋型語(yǔ)言的缺點(diǎn):

1:解釋型語(yǔ)言的實(shí)現(xiàn)中,翻譯器并不產(chǎn)生目標(biāo)機(jī)器代碼,而是產(chǎn)生易于執(zhí)行的中間代碼,但是這種中間代碼與機(jī)器代碼不同,中間代碼的解釋是由軟件支持的,不能直接使用硬件,軟件解釋器通常會(huì)導(dǎo)致執(zhí)行效率較低,并且每執(zhí)行一次就得再翻譯一次,不能像編譯型語(yǔ)言那樣,一次編譯,任意次使用,因而效率方便沒(méi)有編譯型的高!

本文來(lái)自極客標(biāo)簽:http://www.gbtags.com/gb/share/6308.htm

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本節(jié)內(nèi)容 Python介紹 發(fā)展史 Python 2 or 3? 安裝 Hello World程序 變量 用戶輸入...
    小小不懂11閱讀 3,548評(píng)論 2 30
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,366評(píng)論 25 708
  • 【0515今日話題】 說(shuō)說(shuō)你擅長(zhǎng)的三個(gè)技能。(來(lái)自貓友大晶) 今日話題,又是一次與自己對(duì)話的機(jī)會(huì)。 哈哈,這么好的...
    宋明媚閱讀 225評(píng)論 8 6
  • 南方的春天暖意融融,油菜花開(kāi)滿了山坡,馮依依在坡上跟一群同齡的孩子玩耍,蹦蹦跳跳好不歡樂(lè),她想去捉一只蝴蝶,只手忽...
    夕辰沭閱讀 743評(píng)論 1 1
  • 考雨中獨(dú)行 2015-2-24 18:46 難得找到一個(gè)這樣的機(jī)會(huì),坐在車(chē)?yán)锇察o地看曹操。
    夕陽(yáng)在山閱讀 159評(píng)論 0 1

友情鏈接更多精彩內(nèi)容