計算機編程時代即將終結(jié),但我能接受
- 來源:《第一財經(jīng)》YiMagazine smarty:if $article.tag?>
- 關(guān)鍵字:計算機,編程,手冊 smarty:/if?>
- 發(fā)布時間:2023-07-29 19:46
翻譯/萬志文
第一次感受到計算機編程的樂趣時,我才五六歲。那是在1980年代初,當時沒多少人擁有電腦。一天,我父親把一臺Sinclair ZX Spectrum帶回了家,它是世界上最早期的平價大眾電腦之一。那款設(shè)備看起來像一個笨重的鍵盤,用電視機作為顯示器。軟件(主要是游戲)裝在盒式磁帶上,但游戲加載時間很長,在等待的過程中,我通常會翻閱Spectrum附帶的令人難以置信的編程手冊。
手冊充斥著用BASIC編程語言編寫的簡單程序。它的大部分內(nèi)容我都看不懂,但當我用那些例子試驗時,我開始感受到迷戀計算機編程的人經(jīng)常談?wù)摰哪欠N興奮感—只要有一套正確的指令,你就可以召喚這些原本毫無生氣的機器為你做事。
我確實覺得學(xué)習(xí)用計算機的方式思考很有趣,但給計算機編程這件事也有令我費解的落后之處:機器需要我們?nèi)祟惾W(xué)習(xí)它們令人抓狂的精確秘密語言,才能最大限度地發(fā)揮作用,這本身難道不奇怪嗎?如果它們這么聰明,難道不應(yīng)該是它們試著理解我們所說的話,而不是我們?nèi)W(xué)習(xí)如何與它們對話嗎?
現(xiàn)在,這一切可能終于要發(fā)生了。極具諷刺意味的是,軟件工程似乎是最可能被人工智能的崛起徹底改變的領(lǐng)域之一。在接下來的幾年里,人工智能可能會讓計算機編程從一種稀缺的、高收入職業(yè)變成一項可普遍獲取的技能。人們有望很容易掌握編程,并將其應(yīng)用于各行各業(yè)的工作中。這對計算機程序員來說不一定是可怕的事情—世界仍然需要具有高級編程技能的人。
基于大型語言模型的AI工具—比如OpenAI Codex或是DeepMind推出的AlphaCode—已經(jīng)開始改變許多專業(yè)程序員的工作方式。目前,這些工具主要充當助手—它們能夠發(fā)現(xiàn)漏洞,能夠為不完整的代碼片段編寫解釋,能夠為執(zhí)行日常任務(wù)提供代碼建議。但AI工具正迅速變得十分聰明,足以與人類程序員相媲美。
去年,DeepMind在《科學(xué)》雜志上發(fā)表報告稱,將AlphaCode編寫的程序與編程競賽中人類參與者提交的程序?qū)Ρ仍u估后,他們發(fā)現(xiàn)AlphaCode的表現(xiàn)“大致相當于接受過幾個月到一年培訓(xùn)的新手程序員的水平”。“編程將會過時。”曾在Google和蘋果擔任工程師的馬特·威爾士(Matt Welsh)最近預(yù)測道。威爾士現(xiàn)在經(jīng)營著一家AI初創(chuàng)公司。他的預(yù)測可能帶有個人偏見,但聽起來并非不可信。
“我認為‘編寫程序’的傳統(tǒng)觀念正在走向消亡。事實上,除了非常專業(yè)的應(yīng)用程序之外,大多數(shù)軟件將被AI系統(tǒng)取代,這些系統(tǒng)將是被訓(xùn)練出來的,而不是由人工編寫程序。”
威爾士的論點今年早些時候刊登在了美國計算機協(xié)會的內(nèi)部刊物上,文章標題是《編程的終結(jié)》。從另一個角度來看,人工智能也標志著一種新型編程的開始—一種不需要我們學(xué)習(xí)代碼,而是將人類語言指令轉(zhuǎn)換為軟件的編程。
芯片制造公司英偉達(NVIDIA)首席執(zhí)行官黃仁勛5月在臺北國際電腦展(Computex)上發(fā)表演講時表示,人工智能“不在乎你如何編程,它會試圖理解你說的話”。他補充說,“我們彌合了數(shù)字鴻溝。現(xiàn)在每個人都是程序員了。你直接對電腦說點什么即可生成程序。”
不過,等一下,編程不應(yīng)該是數(shù)字時代不容錯過的職業(yè)之一嗎?自我第一次接觸Spectrum電腦后的幾十年里,計算機編程從一個書呆子的愛好,發(fā)展成了一種十分重要的職業(yè)。作為一種智力鍛煉,編程可能仍是一種值得學(xué)習(xí)的技能。但如果你認為編程促成了自動化浪潮,因此它自身并不會受到這種新技術(shù)浪潮的沖擊,那就太愚蠢了。
在計算的發(fā)展歷史中,編程很多時候都在朝著越來越簡單的方向發(fā)展。曾經(jīng),只有一小部分懂二進制的科學(xué)家才懂得如何操縱計算機。隨著時間的推移,從匯編語言的發(fā)展到C、Python、Java等可讀性更高的語言,編程已經(jīng)上升到計算機科學(xué)家所說的不斷提高的抽象層次—每一步都越來越遠離計算的電子部件,對使用它們的人來說也越來越容易。人工智能可能正在實現(xiàn)最后一層的抽象化:在這個層次上,你可以告訴計算機去做一些事,就像你讓另一個人做事一樣。
到目前為止,程序員似乎已經(jīng)對AI對其工作的改變持認同態(tài)度。微軟旗下的編碼庫平臺GitHub去年對2000名程序員做了調(diào)查,了解他們?nèi)绾问褂肁I編程助手Copilot。大多數(shù)人表示,Copilot讓他們在工作中感覺不那么沮喪,更有成就感;88%的人說它提高了他們的工作效率。Google的研究人員發(fā)現(xiàn),得益于人工智能,公司程序員的“編碼更新時間”減少了 6%。
我曾試圖像我父親對我那樣,讓我的兩個孩子學(xué)習(xí)編程,但他們都覺得編程很無聊。這曾讓我這個做父親的感到失望,也讓我十分擔憂他們可能會與未來脫節(jié)(我住在硅谷,那里的孩子們似乎在學(xué)會閱讀之前就學(xué)會了編程)。但現(xiàn)在我不那么擔心了。等到他們找工作的時候,編程可能已經(jīng)和我的第一臺電腦一樣過時了。
