六合彩AI預測賽後檢討!邊個模型預測最叻? 每次攪珠當晚10:30更新免費睇!

AI時代:程式編寫玩完?定係新嘅開始?

Ai

🎬 YouTube Premium 家庭 Plan成員一位 只需
HK$148/年

不用提供密碼、不用VPN、無需轉區
直接升級你的香港帳號 ➜ 即享 YouTube + YouTube Music 無廣告播放


立即升級 🔗

程式設計的終結?

有很多媒體在討論,軟件開發者將會因為人工智能而失去工作,但我不這麼認為。

這不是程式設計的終結,而是我們今天熟知的程式設計的終結。這不是什麼新鮮事。最初的程式設計師是通過連接物理電路來執行每一個計算,隨後出現了編寫機器指令的程式設計師,他們使用二進制代碼,逐位輸入,通過翻轉電腦前面的開關來進行操作。隨著組合語言編程的發展,程式設計師可以使用更接近人類語言的方式來告訴電腦如何將數據移動到內存中的位置並進行計算。然後,Fortran、COBOL以及後來的C、C++和Java等更高級的編譯語言的發展意味著大多數程式設計師不再需要編寫組合代碼,而是可以使用更高級的抽象來表達他們的需求。

最終,解釋性語言成為了主流,這些語言更容易進行除錯。

BASIC作為最早走紅的語言之一,起初被視為玩具,但很快證明了它是未來的潮流。程式設計變得對孩子和車庫企業家都可接觸,而不僅僅是大公司和政府機構的後台專業人員。

消費者操作系統也是這個故事的一部分。在個人電腦的早期,每家電腦製造商都需要能夠編寫低級驅動程序的軟件工程師,這些驅動程序負責讀取和寫入內存板、硬盤和外圍設備,如調製解調器和打印機。然而,Windows的出現改變了一切。它不僅因為提供了圖形用戶界面而成功,讓未經訓練的人更容易使用電腦,還因為它提供的Win32 APIs讓程式設計師不再需要編寫低級代碼來控制機器。這一工作基本上被封裝在操作系統中。今天,許多程式設計師不再需要了解早期程式設計師所需掌握的知識。

程式設計師的數量不減反增

這並不意味著程式設計的終結,反而是程式設計師的數量比以往更多。數以億計的用戶享用了他們的創造力。隨著軟件開發變得更容易,價格下降,開發者能夠創造出更多人願意付費的解決方案。

網絡的出現也被認為是程式設計的另一個“終結”。用戶界面突然變成了人類可讀的文檔,在瀏覽器中顯示,並可以通過鏈接調用遠程服務器上的程序。任何人都可以用最少的程式設計技能建立一個簡單的“應用”。“無代碼”成為了流行詞。隨著技術能力的增強,成功網站變得越來越複雜,前端和後端程式設計之間的分離越來越明顯。新的解釋性程式設計語言如Python和JavaScript逐漸佔據主導地位。移動設備的加入又帶來了新的普遍前端,要求新的技能。隨著複雜性隱藏在框架、函數庫和API之後,程式設計師不再需要掌握之前幾年所需的低級功能。

大數據、網絡服務和雲計算建立了一種“互聯網操作系統”。像Apple Pay、Google Pay和Stripe這樣的服務使以前難以完成的企業任務(如付款)變得簡單,且僅需最少的程式設計專業知識。各種深奧而強大的功能通過簡單的API變得可用。然而,這些互聯網網站的激增以及連接它們的網絡協議和API的出現反而創造了更多對程式設計師的需求。

程式設計師不再僅僅是每幾年更新一次靜態軟件的工人,而是持續開發、整合和維護長期服務。更重要的是,像Google Search、Google Maps、Gmail、Amazon、Facebook和Twitter等大型服務中,大部分工作是以大規模自動化的形式進行的。這些程序是由人類設計和建造的,而不是AI,但在這些公司的繁重工作中,很多工作已經由今天的專用AI前身進行。這些公司的重任已經由程序分擔,人類程式設計師則充當其管理者。現在有成千上萬的程式設計師從事這類管理工作。他們已經生活在創造和管理數字同事的世界中。

這次會有所不同嗎?

然而,現在似乎有可能讓非程式設計師只需用普通英語(或你選擇的人類語言)與大型語言模型(LLM)或專門的軟件代理對話,並獲得有用的原型程式。這甚至出現了一個新流行詞:CHOP,即“以聊天為導向的程式設計”。先進推理模型的興起開始展示AI能夠生成複雜程序,僅需高級提示來解釋要完成的任務。因此,很多人都在說“這次會有所不同”,認為AI將完全取代大多數人類程式設計師,甚至大多數知識工作者。他們認為,我們面臨著一波普遍的人類失業潮。

我仍然不這麼認為。當一項突破將先進計算能力放在更大群體的人手中時,確實,普通人可以做以前只能由高度訓練的專家完成的事情。但同時,這一突破也促使了新型服務的出現和對這些服務的需求。它創造了只有少數人能理解的新來源的深奧魔法。

現在出現的魔法是迄今為止最強大的,這意味著我們開始了一個深刻的探索和創造的時期,努力理解如何使這種魔法運作,並從其力量中獲得新優勢。聰明的開發者如果能採用這項技術,將會變得更加搶手,因為他們能做得更多,專注於增加價值的高級創造力。

透過實踐學習

AI不會取代程式設計師,但會改變他們的工作。最終,程式設計師今天所做的許多工作可能會變得過時(對於嵌入式系統程式設計師而言除外),就像以前用示波器進行除錯的老技能一樣。大師程式設計師兼有遠見的技術觀察家Steve Yegge指出,將會被取代的不是初級和中級程式設計師,而是那些堅持過去而不願擁抱新程式設計工具和範式的人。那些掌握或發明新技能的人將會受到高度追捧。掌握AI工具的初級開發者將能超越不懂得這些工具的資深程式設計師。Yegge稱之為“固執開發者的死亡”。

我的想法不僅受到我自己在計算機行業40多年經驗的影響,還受到像Yegge這樣開發者的觀察,以及經濟歷史學家James Bessen的研究,他研究了第一次工業革命如何在19世紀早期的麻薩諸塞州Lowell的紡織廠中展開。當熟練工匠被“非熟練”工人操作的機器取代時,工人的工資確實受到了壓制。但Bessen注意到一個特殊的現象:他通過比較新工廠工人的工資記錄與以前的家庭工匠的工資記錄發現,熟練工匠的學徒達到熟練工匠的全額工資所需的時間與新入職的非熟練工廠工人達到全額工資和生產力所需的時間幾乎相同。兩種工作體系中的工人其實都是熟練工人,但他們擁有不同類型的技能。

Bessen發現,工資在工業革命的前50年內保持平穩或下滑的原因有兩個。第一,工廠主將新生產力的好處囤積,而不是與工人分享。第二,最大的生產力增長需要幾十年的時間才能到來,因為如何最佳利用新技術的知識尚未廣泛傳播。發明者需要幾十年的時間才能使機器更穩健,使用它們的人需要開發出新的工作流程來使其更有效,創造出可以用這些機器生產的新產品,讓更廣泛的企業採用新技術,並讓工人獲得必要的技能,以便利用這些技術。工人需要新的技能,不僅是使用機器,還要修理它們、改善它們,並發明未來尚未完全實現的可能性。這一切都需要通過Bessen所稱的“實踐學習”過程來實現。

僅僅有少數個體在採用新技能方面走在前面是不夠的。Bessen解釋道:“對於一座工廠、一個行業以及整個社會來說,重要的不是訓練一名工人需要多長時間,而是創造一個穩定的、受過培訓的勞動力所需的條件。”(《學習通過實踐》,第36頁)今天,每一家公司都將受到這場革命的影響(也就是說,每一家公司)都需要全力以赴。我們需要一個熟悉AI的勞動力。畢竟,程式設計是人類讓計算機按照我們的意願行事的方式。“程式設計”越來越接近人類語言,我們的機器能理解我們,而不是我們必須用它們的母語0和1或某種專業的程式設計語言與它們交流,這應該值得慶祝。

人們將創造、使用和改進更多的程序,並且將誕生新的行業來管理和建立我們所創造的東西。歷史告訴我們,當自動化使得交付人們想要或需要的產品變得更便宜和更容易時,需求的增加往往會導致就業的增加。只有當需求得到滿足時,就業才會開始下降。而在程式設計方面,我們距離那個時點還很遙遠。

結論

不出所料,沃頓商學院教授及AI倡導者Ethan Mollick也非常贊同Bessen的工作。這就是為什麼他強烈主張“總是將AI帶到桌上”,將其納入你工作的每個方面,並探索“鋸齒邊緣”即什麼有效什麼無效。他還呼籲企業利用AI來賦能而非取代工人。還有很多東西需要學習如何應用這項新技術。企業最好的應用研發來源是你現有員工的探索,因為他們利用AI來解決問題並尋求新機會。

程式設計的本質將會改變。隨著我們進入AI驅動的未來,我們不僅需要新技能,還需要適應新的工作方式。這是一個充滿挑戰和機會的時代,程式設計的未來正等待著那些勇於探索的人去發現。

以上文章由特價GPT API KEY所翻譯及撰寫。而圖片則由FLUX根據內容自動生成。

✈️ Trip.com「內地快閃」機票+酒店半價

【每週二 10 AM】 立即領取 半價優惠代碼
最高減 HK$500,CP 值極高,先到先得!

立即搶優惠 🔗