Home 综合新闻 彙編編程是殘酷的,也是美麗的,甚至可能是改進人工智能的一條途徑

彙編編程是殘酷的,也是美麗的,甚至可能是改進人工智能的一條途徑

183
0
彙編編程是殘酷的,也是美麗的,甚至可能是改進人工智能的一條途徑

過山車大亨 這並不是 1999 年最熱門的電腦遊戲。但如果你仔細觀察像素背後的情況——搖搖晃晃的遊樂設施、飢餓、口渴的人群、掠奪食物的人們(還有門衛用腳後跟擦腳)——在代碼層面的深處,你會發現工藝如此痴迷,以至於近乎瘋狂。遊戲的唯一開發者 Chris Sawyer 編寫了彙編中的所有內容。

一些編程語言,如 Python、Go 或 C++,被稱為“高級”語言,因為它們的工作方式有點像人類語言,用可能適合詩歌大滿貫的命令和行話編寫。一般來說,像編譯器這樣的程序會將其轉換為機器實際讀取的內容:由 1 和 0(或者可能是十六進制)組成的塊,告訴實際晶體管如何運行。彙編語言是最低級的“低級”語言,與機器的本機語言具有接近一對一的兼容性。它直接編碼到金屬。通過組裝構建複雜的計算機遊戲就像用脫落的貓毛編織掛毯一樣。

為什麼有人會這樣做?我最近問了住在家鄉蘇格蘭的索耶。他告訴我,效率是原因之一。在 20 世紀 90 年代,高級編程工具尚未完全出現。編譯器非常慢。校正器很糟糕。 Sawyer 本來可以通過自己編譯 x86(英特爾芯片的通用語言)來避免這種情況。

我們都知道這不是真正的原因。真正的原因是愛。在轉向 Rollercoaster 之前,Sawyer 在彙編中編寫了另一款遊戲, 交通桿。它讓玩家負責城市的道路、火車站、車道和港口。我把索耶想像成一名模型火車愛好者,鋪設軌道的每一部分,手工縫合人造草坪,每個細節都是一種選擇和一項苦差事。為了將這些精心設計的像素從位圖轉移到顯示器上,Sawyer 必須充分利用芯片的潛力。 ”過山車大亨 它之所以發生只是因為我意識到可能性的極限。

在限制範圍內工作?在這個數字豐富的時代,人工智能訓練算法中的單個函數調用可以佔用一百萬個 GPU,這也許是一個奇怪的想法。通過編譯,你得到一件事,而且只得到一件事,這就是你所要求的東西,即使許多程序員已經通過慘痛的方式學到了這一點,如果它是錯誤的。這樣的集會既殘酷又美麗。它要求你準確地說出你的意思。

我已經完成了組裝 有害的創造者。他們希望事情變得更容易,而不是更困難。我想他們已經厭倦了加載打孔卡和打開巨大的蒸汽朋克野獸的開關。也許他們夢想有一個像我們這樣的世界,計算機可以在最少的指導下做很多事情。

來源連結