跳轉到內容

Nimrod 程式設計/編譯語言

來自華夏公益教科書,開放的書籍,開放的世界

什麼是編譯語言?

[編輯 | 編輯原始碼]

在瞭解其含義之前,我們需要對計算機內部發生的事情有所瞭解。計算機使用 0 和 1 兩個數字,其他任何東西都是使用這兩個數字構建的。現在想象一下,你想編寫一個應用程式,一個小的應用程式可能包含數千個這樣的數字,所以如果我們試圖直接用二進位制(這是 0 和 1 的名稱)編寫(確實可以),你應該希望輸入一切都完美,因為只有一個數字不在位就會導致應用程式執行錯誤(如果它能工作的話),所以用二進位制編寫是不可取的。所以,如果我們不直接編寫計算機語言,我們如何與計算機對話?讓我們考慮一下:你的朋友收到一封用英語寫的信,但他不懂英語,假設他是德國人(是的,一個不懂英語的德國人),你會怎麼做?你可以做兩件事:要麼把它改寫成德語,要麼直接在他面前翻譯這封信。

在計算機科學中,將信件直接翻譯給你的朋友被稱為解釋。就像你對你朋友所做的那樣,一個程式(稱為直譯器)將這些語句翻譯成計算機可以理解的語言並執行它們,這是在需要執行程式時進行的。使用解釋的語言稱為解釋型語言。

然而,重寫信件被稱為編譯。將你能理解的語言(稱為原始碼)翻譯成二進位制程式碼或機器程式碼的程式稱為編譯器,此外,使用編譯器的語言稱為編譯型語言。

解釋 vs 編譯

[編輯 | 編輯原始碼]

那麼哪個更好?兩者都不。你可能會問:“為什麼?”在計算機科學中,並不總是存在“更好”的選擇,選擇其中一個取決於你想要實現的目標。解釋型語言在執行時通常速度較慢,但它們不需要從原始碼到機器程式碼的翻譯階段(這可能非常慢!),而且它們通常提供一些使其更容易的功能。

華夏公益教科書