什麼是編程語言?

已發表: 2022-10-20
顯示編程語言行的計算機屏幕的特寫。
復古色調/Shutterstock.com
編程語言是人們在開發軟件時用來告訴計算機該做什麼的語言。 它們有多種形式,但大多數編程語言都依賴於將人類可讀語言翻譯成二進制的解釋器,以便計算機可以將指令付諸行動。

計算機及其程序的基礎是編程語言,這些看起來怪異的代碼行可能會讓你僅僅看著它們就感到頭疼。 但是什麼是編程語言,它們是如何工作的?

什麼是編程語言?

簡而言之,編程語言是計算機程序員與設備“對話”的方式。 如果您知道如何“說”其中一種語言(有數百種),您就可以創建一個可以執行任務的程序。 這些範圍可以從非常簡單的腳本(例如將文件從一個地方移動到另一個地方的腳本)到非常複雜的(例如在視頻遊戲中渲染 3D 世界)。

什麼是二進制,為什麼計算機使用它?
相關什麼是二進制,為什麼計算機使用它?

編程語言是我們可以用計算機做複雜事情的原因。 從本質上講,計算機仍在使用二進制(也稱為機器語言)運行,在該系統中,零和一決定了計算機的工作和方式。 您可以將編程語言視為該核心之上的一層,因此人類不需要將零切換為一併再次切換回來。

這是一件非常好的事情:如果我們仍然必須使用二進製程序進行編程,那麼即使是創建一個簡單的腳本也需要很長時間。 高級程序可能永遠不會完成,因為在正確的宮殿中獲得所有的 1 和 0 會佔用大量人員。 編程語言雖然難以學習和使用,但其核心是節省勞動力的設備。

語言水平

粗略地說,編程語言分為兩類:低級語言和高級語言。 低級語言之所以被稱為是因為它們與機器“接近”,因此可以直接與機器對話。 這包括機器語言和彙編語言,它們是從二進製文件中刪除的編程語言。

高級語言比低級語言高出一步。 它們離機器更遠,但人類可讀。 在這種情況下,“可讀”意味著如果您了解所討論的語言,您可以查看幾行代碼並弄清楚發生了什麼。 這也適用於其他方式:您可以輸入命令,然後由機器執行。

口譯語音

也就是說,應該注意的是,編程並不像那樣直接。 用高級語言輸入命令時,您並沒有告訴設備該做什麼。 相反,您正在與所謂的解釋器交談,該程序是將命令轉換為二進制的語言的一部分。 你告訴解釋器你想要什麼,它反過來告訴計算機你說什麼,但是用機器語言。

解釋器在您和機器之間架起了一座橋樑,每種語言都有不同的解釋器。 彙編語言有點奇怪,因為它們的命令也需要被解釋,但是它們使用所謂的彙編器而不是解釋器,因為它們的命令與“純”機器語言更接近,因此不需要完整的翻譯。

解釋器是一項挑剔的技術:需要以某種方式與它交談,它才能完成告訴計算機如何移動零和一的工作。 與其說“讓藍色框轉到右上角”,不如輸入解釋器能夠理解的一行代碼,這取決於編程語言。 然後解釋器接受這個輸入並告訴計算機要做什麼。

什麼是無代碼,它是技術的未來嗎?
相關什麼是無代碼,它是技術的未來嗎?

由於自然語言對於計算機和解釋器來說太難理解了——這可能會隨著無代碼革命而改變——我們使用編程語言,解釋器和人類都可以理解的語言。 然後解釋器將其轉譯成機器語言,創建一個小的菊花鏈。

編程語言如何工作

選擇“語言”這個詞也不是偶然的:就像人類語言一樣,編程語言有內部規則來防止一切偏離軌道。

就像人類語言一樣,編程語言將具有語法,一組關於詞序和詞使用的規則。 例如,在英語中,您可以說“加里給了弗雷德一本書”。 在這句話中,您確切地知道誰給了什麼以及給了誰; 換個詞,你會得到一個不同的句子:“弗雷德給了加里一本書。” 這仍然是有道理的,但如果你說“給 Gary Fred 的一本書”,我們手頭就有問題了。

編程語言也不例外:正確的位需要放在句子的正確位置——通常稱為“行”——才有意義。 只是編程語言使用不同的方式來表達自己。

做做

有些東西是一樣的:例如,許多編程語言都會使用動詞。 在通常被認為是最容易學習的語言之一的 Python 中,您可以告訴它print一行文本。

 打印(“你好,世界”)

在這種情況下,屏幕上會彈出“Hello, world”字樣。 自然地,命令會比這複雜得多。 大多數語言都有大量可用於執行各種動作的動詞。

什麼是 Python?
相關什麼是 Python?

當然,並不是所有的東西都一眼就能看出來:你會遇到的大部分代碼都有大量的符號和標點符號,你不會在日常講話中使用。 但是,一旦您了解它們,它們就沒有您想像的那麼奇怪。

在人類語言中,我們可以使用不同的詞來表示不同的事物。 例如,在英語中,我們用“it”表示對象,用“she”或“he”表示人。 如果你切換這些,一個句子就會分崩離析。 編程語言並沒有太大的不同:方括號和圓括號只是表示不同的動作類別。 切換它們,句子就會分崩離析。

自然,這些東西也可以在不同的語言中發生變化:Python 中的括號所做的事情與 Lisp 中的完全不同,這又與 C 不同。就像在人類語言中一樣,用途和意義可以改變,使某些語言在某些事情上做得更好相對於其它的。

您應該學習哪種編程語言?

那麼哪種語言最適合開始學習呢? 不同語言的粉絲之間有很多——我們確實是說很多——關於每種語言能做什麼和不能做什麼以及哪種語言最好的爭論。 但結果是,哪種語言最好真的取決於所討論的程序員。 就像人類語言一樣,你的觀點受到你的思維模式以及對你來說自然有意義的東西的影響。

如果你想成為少數可以與機器“對話”並讓它們做你想做的事情的人之一,你可以看看 Python,它以易於學習著稱。 如果您想要更多的挑戰,您可以查看 C,它是大多數操作系統的基礎。 無論您選擇哪種方式,開始像程序員一樣思考都會很有趣。

相關:使用這些很棒的應用程序和網站學習編碼