學(xué)c++還是學(xué)python 什么是計(jì)算機(jī)編譯型語(yǔ)言,什么是計(jì)算機(jī)解釋型語(yǔ)言?
什么是計(jì)算機(jī)編譯型語(yǔ)言,什么是計(jì)算機(jī)解釋型語(yǔ)言?例如,當(dāng)您學(xué)習(xí)英語(yǔ)時(shí),編譯語(yǔ)言是將所有英語(yǔ)翻譯成中文,并將其保存為一個(gè)文件,并且在使用時(shí)直接調(diào)用已翻譯的中文。解釋性語(yǔ)言就是當(dāng)你閱讀英語(yǔ)時(shí),讓譯者給你一
什么是計(jì)算機(jī)編譯型語(yǔ)言,什么是計(jì)算機(jī)解釋型語(yǔ)言?
例如,當(dāng)您學(xué)習(xí)英語(yǔ)時(shí),編譯語(yǔ)言是將所有英語(yǔ)翻譯成中文,并將其保存為一個(gè)文件,并且在使用時(shí)直接調(diào)用已翻譯的中文。解釋性語(yǔ)言就是當(dāng)你閱讀英語(yǔ)時(shí),讓譯者給你一句一句的實(shí)時(shí)翻譯。
編譯型語(yǔ)言和解釋型語(yǔ)言各自的優(yōu)缺點(diǎn)是什么?
1. 在執(zhí)行程序之前,有一個(gè)單獨(dú)的編譯過(guò)程將程序翻譯成機(jī)器語(yǔ)言。以后,當(dāng)程序被執(zhí)行時(shí),就不需要翻譯它了。
2. 解釋語(yǔ)言是在程序運(yùn)行時(shí)將程序翻譯成機(jī)器語(yǔ)言,因此其運(yùn)行速度比編譯語(yǔ)言慢。
3. C/C等是編譯語(yǔ)言,Java、C等是解釋語(yǔ)言。
4. 雖然Java程序在運(yùn)行之前有一個(gè)編譯過(guò)程,但它不是編譯成機(jī)器語(yǔ)言,而是編譯成字節(jié)碼(可以理解為中間語(yǔ)言)。在運(yùn)行時(shí),字節(jié)碼被JVM翻譯成機(jī)器語(yǔ)言。
5. 腳本語(yǔ)言一般都有相應(yīng)的腳本引擎來(lái)解釋和執(zhí)行。他們通常需要一個(gè)翻譯來(lái)運(yùn)行。JavaScript、ASP、PHP、Perl和Nuva都是腳本語(yǔ)言。經(jīng)過(guò)C/C編譯和鏈接,可以形成一個(gè)獨(dú)立的EXE文件。
編譯型語(yǔ)言和解釋語(yǔ)言的區(qū)別是什么?
編譯器語(yǔ)言由編譯器根據(jù)您的程序代碼生成。CPU可以直接讀取運(yùn)行指令。常用的有C/C、Pascal/Delphi等。解釋語(yǔ)言依賴于解釋器在運(yùn)行時(shí)讀取程序,并根據(jù)程序中語(yǔ)句的含義執(zhí)行相應(yīng)的功能?,F(xiàn)在很多腳本語(yǔ)言都屬于這種類型,早期的基本語(yǔ)言大多是解釋性的。還有一種情況叫做偽編譯,源程序被壓縮成短符號(hào)(也稱為“中間語(yǔ)言”),程序文件的大小減小了,執(zhí)行速度也加快了,但還是要依靠解釋器來(lái)運(yùn)行。我們經(jīng)??吹降膙isualbasic、C#、Java都屬于這種類型。