編譯和解釋語言的區別

人們想要進入編程的一個常見問題是“我應該學習哪種語言?”

這個問題的答案幾乎不可能回答。 如果你正在尋求為職業目的而學習編程,那麼看看其他人正在使用和學習的東西是一個好主意。

例如,近年來,大量的人使用.NET堆棧,涉及ASP.NET,C#,JavaScript / JQuery / AngularJS。 這些編程語言都是Windows工具包的一部分,雖然.NET已經提供給Linux,但它並沒有被廣泛使用。

在Linux世界中,人們使用Java,PHP,Python,Ruby On Rails和C.

什麼是編譯語言?

#include int main(){printf(“Hello World”); }

以上是用C編程語言編寫的一個非常簡單的例子。

C是編譯語言的一個例子。 為了運行上面的代碼,我們需要通過C編譯器來運行它。

通常,要執行此操作,請在Linux中運行以下命令:

gcc helloworld.c -o你好

上述命令將代碼從人類可讀格式轉換為計算機可以本機運行的機器代碼。

“gcc”本身就是一個編譯的程序(gnu c編譯器)。

編譯好的程序只需運行程序名即可運行,如下所示:

。/你好

使用編譯器編譯代碼的好處在於它的運行速度通常比解釋代碼快,因為它不需要在應用程序運行時即時處理它。

編譯後的程序在編譯時也檢查了錯誤。 如果有任何編譯器不喜歡的命令,則會報告它們。 這將使您能夠在獲得完全運行的程序之前修復所有編碼錯誤。

僅僅因為一個程序編譯成功並不意味著它會按照你期望的方式運行,所以你仍然需要測試你的應用程序。

然而,很少有任何事情是完美的。 如果我們的Linux計算機上編譯了一個C程序,我們不能將該編譯的程序複製到我們的Windows計算機上,並期望可執行文件運行。

為了讓我們的Windows計算機上運行相同的C程序,我們需要使用Windows計算機上的C編譯器再次編譯程序。

什麼是解釋性語言?

打印(“你好世界”)

上面的代碼是一個python程序,它將在運行時顯示“hello world”這個詞。

要運行代碼,我們不需要先編譯它。 相反,我們可以簡單地運行以下命令:

python helloworld.py

上面的代碼不需要首先編譯,但它確實需要在任何需要運行腳本的機器上安裝python。

python解釋器在使機器可以讀取之前,將人類可讀的代碼轉化為其他東西。 所有這些都發生在幕後,作為用戶,你會看到的只是“你好世界”這個詞。

一般來說,認為解釋代碼運行速度比編譯代碼慢,因為它必須積極執行將代碼轉換為機器可以即時處理的內容的步驟,而不是只能運行的編譯代碼。

雖然這可能看起來像一個缺點,但解釋型語言有用的原因有很多。

首先,用Python編寫的程序可以在Linux,Windows和MacOS上運行 。 所有你需要做的就是確保你想運行腳本的計算機上安裝了python。

另一個好處是代碼始終可用於閱讀,並且可以輕鬆更改以按照您希望的方式工作。 通過編譯代碼,您需要找到代碼的保存位置,更改它,編譯它並重新部署程序。

使用解釋代碼,您可以打開該程序,將其更改並準備就緒。

所以你應該使用哪個?

我們懷疑你的編程語言決定將決定它是否是一種編譯語言。

這份清單值得一看,因為它列出了9種最流行的編程語言。

雖然一些語言顯然正在死亡,如COBOL,Visual Basic和ActionScript,但還有其他一些語言已經處於死亡的邊緣,並且已經取得了戲劇性的回歸,如JavaScript。

一般來說,我們的建議是,如果你使用Linux,你應該學習Java,Python或C,如果你使用Windows學習.NET和AngularJS。