模擬空間內,韓元依舊坐在顯示屏面前編寫著底層進制代碼。
第一個被編譯的,不是中央計算機的控制程序,也不是‘sc八軸六聯動數控加工設備’的控制程序。
而是‘匯編器程序’。
作為機器語言和匯編語言的轉換器,匯編器的重要性毋庸置疑。
可以說沒有匯編器,就沒有如今社會璀璨的互聯網世界。
0和1表達出來的二進制代碼,根本就不是人看的東西。
由0和1表達出來的進制代碼,不僅看起來復雜,而且只要輸入錯一個數字,整個進制代碼就全部報廢了。
比如1101101010011010。
這一串二進制代碼表達的什么,無論是誰來了,恐怕都沒法一眼就能認出來。
這也是早期計算機發展速度極慢的原因之一。
因為進制代碼程序的編寫和讀認速度極慢,而且很容易就出現錯誤。
在計算機早期的時候,電子門也就是晶體管/電子管的工作方式是由開關驅動。
比如排列十個電子門,原始狀態,這些電子門都是關閉的,也就是二進制中的0。
當摁下第一個開關的時候,這個電子門就變成了數字1。
這樣一來,你可以打開某些開關,并關閉其他開關以輸入兩個數字,然后輸出器將顯示兩個數字的總和。
這就是計算機運行的基礎。
但是這種計算機,需要操作員(程序員)坐在終端前,不斷的打開閉合開關,非常不方便。
所以后來又發明出了穿孔打卡的方式,能夠更簡單方便地切換開關。
也就是在一張硬紙板上,有很多排線,每條線都有可以打的孔。
這些紙板上的孔和線,可以和計算機的電子門開關匹配。
硬紙板上的每一條線都代表著不同的指令,通過將硬紙板放到一個特殊的機器中,就可以連接到計算機讀取這些指令。
這就是原始的打卡計算機。
和控制最初的開關計算機比,打卡計算機方便了不少,而且程序猿也可以在紙卡上編寫程序了。
只是隨著時間的推移,需要建立的程序和數據就越來越多。
紙卡就又顯得繁瑣了起來。
人類社會中是不缺少天才的,每當一項技術發展到瓶頸的時候,就有天才跳出來打破這個瓶頸。
計算機亦是如此。
在打卡計算機編寫程序異常繁瑣的時候,有個名叫‘格雷斯·霍珀’的天才,想出了一個很棒的點子。
因為需要手動在紙卡上編寫程序,格雷斯·霍珀產生了一種想法。
她想設計一種程序,讓人可以用類似英文的語法,把想做的事寫下來,然后用這個程序把英文翻譯成機器的語法,交給機器去執行。
這也就是后世的編譯程序。
這種程序,可以把編寫有程序的穿孔卡加載到計算機中,而計算機會吐出另一組包含底層二進制機器代碼的卡片。
第二組卡片再裝入計算機,計算機就可以執行這段新的程序了。
這就是在人類歷史上,被命名為a0的編譯器。
而有了這個編譯器后,才誕生出匯編語言,進而才有了匯編程序。
有了編譯器,計算機才能蓬勃發展。
直至今天,高級編程語言已經衍生出來了無數種。
但無論是c語言,還是c++,或者是java,亦或者是漢語智能編程語言。
都離不開編譯器。
無論是哪一種高級語言編寫出來的程序,都需要先通過編譯器將其轉換成底層的進制機器碼,才能被計算機讀取并執行。
如果說將計算機比作一個人,那么編譯器就是身體的消化系統。