14歲出道程式設計天才:新一程式碼農不會寫程式碼了,AI正培養「文盲程式設計師」!


【新智元導讀】一篇題為「New Junior Developers Can’t Actually Code」的博文炸開了鍋。資深碼農Namanyay對AI工具在軟體開發中的廣泛應用表達了憂慮——AI正在讓新一代開發者跳過基礎知識的學習,淪為「複製貼上(CV)工程師」。這篇文章迅速躥紅,引發了包括馬斯克在內的眾多業內大佬的熱議。


AI輔助程式設計的時代已經到來,程式碼生成工具觸手可及。

這本應是開發效率的巨大飛躍,但一個令人不安的問題卻浮出水面:我們是否正在培養出一批只會「複製貼上」,卻對程式碼底層邏輯一知半解的程式設計師?

當便捷的AI工具取代了艱苦的學習和思考過程,我們是否在無意中扼殺了真正的技術創新和深度理解?

幾天前,著名軟體開發者Namanyay發表了一篇名為「New Junior Developers Can’t Actually Code」(新入門的開發者根本不會寫程式碼)的部落格,表達了對現在AI加持下的軟體開發模式的擔憂。

文章發表後爆火!很快就有了10萬+觀看,100+條評論。


網友Deedy評論道:「作者指出,AI正在讓程式設計師失去對事物的理解能力。」他評價Namanyay的文章是精彩的部落格,「這和網際網路不一樣,網際網路只是替代了尋找事實的過程,還會提供解釋;而AI卻替代了所有的思考過程。」


馬斯克似乎對Namanyay的觀點不太買帳,在帖子下面評論道:「現在的人,離了電子地圖和GPS,在城市裡連路都找不到」。


不過,很快就遭到了網友的反駁:「如果Google地圖每用五次就產生一次幻覺,記住如何到達目的地可能就變得非常重要了!」


那麼Namanyay文章中究竟表達了什麼樣的觀點呢?以下是Namanyay文章的核心內容。


AI改變了開發方式


有件事一直困擾著我,我覺得有必要和新開發者們談談。

我們正處於軟體開發的一個奇特的轉折點。我遇到的每個初級開發人員都在24/7不間斷地運行著Copilot、Claude或GPT。他們交付程式碼的速度比以往任何時候都快。

但當我深入瞭解他們對所交付內容的理解時?情況就變得令人擔憂了。

沒錯,程式碼是能運行,但是問他們為什麼要這樣而不是那樣實現?則是鴉雀無聲。當被問到邊界情況時?更是一臉茫然。

過去通過艱難解決問題而獲得的基礎知識就這樣……消失了。

我們正在用快速解決方案換取深度理解,雖然當下感覺很好,但我們將來必定要為此付出代價。

回想那些需要真正動腦思考的日子,我最近意識到,現在有一整代新程式設計師甚至不知道StackOverflow是什麼。

在「Claude」還不是聊天機器人,而是資訊熵(information entropy)領域開創者的時候,偵錯程式設計問題的方式是完全不同的。

首先在Google上搜尋。然後,期待著某個遇到相似問題的苦主曾經發帖求助。

如果運氣好,你就能在一個叫「Stack Overflow」的網站上找到一個來自某位經驗豐富的技術大佬詳細的、深思熟慮的(通常帶點居高臨下的)答案。

這是我12年前提出的一個問題,看看Nathan Wall的最佳回答(他已經贏得了超過10,000分的高分,而且顯然從2015年起就當上了CTO):


你能想像有人會寫出這麼詳細的回答嗎?完全靠手打,沒有AI輔助,而且還是免費分享。

我最初的問題當然得到了徹底的解答,但他並沒有就此停筆。我學到了很多新知識。有些我甚至不知道存在,還有些是我本不想知道但現在卻永遠刻在了我的腦海裡。

這是你提問時能遇到的最理想情況。如果你遇到特別棘手的問題,卻找不到現成的答案,那就只能認栽了。


現在的初級開發人員也太輕鬆了。他們只需要去chat.com複製貼上看到的錯誤資訊,更懶的人甚至不願花30秒切換到瀏覽器窗口,直接用一個工具就把所有事情搞定了。

這確實方便又快捷。

但是,StackOverflow仍然有一個無可替代的優勢:閱讀經驗豐富的開發者關於你遇到問題的討論,是最好的學習方式。

這張圖表很好地解釋了他的觀點:


AI能給你答案,但獲得的知識往往很淺薄。

在StackOverflow上,你必須閱讀多個專家的討論才能獲得完整的認識。這樣雖然更慢,但你最終不僅知道什麼可行,還明白為什麼可行。

想想你認識的每個優秀開發者,他們是通過複製解決方案變得優秀的嗎?

顯然不是——他們是通過深入理解系統和領會其他開發者的思維過程才達到這個水平的。而這正是我們正在逐漸失去的東西。

我不是想做那種抱怨「現在的年輕人」的老古董。我每天都在使用AI工具,我甚至正在開發一個AI產品。但我們需要誠實地面對,為了這種便利我們正在付出什麼樣的代價。


我們能做什麼?

我一直在嘗試各種方法來應對這個問題(因為讓我們面對現實,AI註定會繼續存在)。

以下是一些確實有效的方法:

  1. 以學習的心態使用AI。當它給你答案時,多問幾個為什麼。沒錯,這樣會花更多時間,但這正是重點所在。
  2. 找到你的技術社群。可以是Reddit、Discord、Mastodon——只要高手們在那裡聚集。那裡才有真正的技術討論,那些能讓你恍然大悟的觀點交流。
  3. 改變程式碼審查的方式。不要只檢查程式碼是否可用,要和團隊展開深入對話。瞭解他們考慮過那些其他方案?為什麼最終選擇這個方案?讓理解思路和最終結果同等重要。
  4. 時不時從零開始建構項目。是的,AI可以為你生成認證系統。但不妨先試著自己動手做一個,你寫的程式碼可能不夠優雅,但你會理解每一行程式碼的含義。這種知識會逐漸積累。


展望未來

現實是,技術加速的處理程序已經開啟,我們無法阻止。

開源模型正在全面接管,用不了多久,AGI就會成為我們口袋裡的標配。但這並不意味著我們必須讓它降低我們的開發水平。

未來的關鍵不在於我們是否使用AI——而在於我們如何使用它。或許,我們能找到一種方法,把AI帶來的效率和我們需要的深度理解完美結合起來。

歡迎分享你找到的其他平衡之道。或者告訴我我只是個對著時代狂吠的老頑固。不管怎樣,讓我們一起探討這個問題。


作者介紹

本文作者Namanyay——一個自十四歲起就從事專業開發的開發者,現在正在建構AI工具以增強人類潛力。


Namanyay在德里公立學校瓦桑特昆傑分校讀的中學,9年級時加入了Code Warriors程式設計俱樂部,11年級當上了副主席,12年級升任主席。

他在13歲時發現了創造和程式設計這兩件事讓他無比快樂。高中時期,經常熬到半夜寫程式碼,為自己和客戶開發各種網站產品。

他參加了德里各大名校舉辦的40多場程式設計馬拉松比賽並獲獎,也在學校組織了幾場程式設計馬拉松活動,其中兩場是主辦人。比賽項目包括設計和開發兩個類別。

Namanyay輔導過很多同學學習平面設計、網站開發和程式設計,他們中很多人後來都出國留學了,現在在各自的領域都有很好的發展。

從九年級開始,他就在接外包做網站開發。14歲時,在MakeUseOf得到了人生第一份正式的開發工作。在那裡待了一年半後,又繼續獨立接項目做了好幾年。

高中畢業後Namanyay進入了華盛頓大學,不過很快就離開了。他以榮譽生的身份被華盛頓大學錄取,在就讀的第一個(也是唯一的)學期,拿到了滿績4.0,還進入了院長優秀生名單。

之後選擇退學去追求自己的夢想,全心投入到與聯合創始人Tanay Rajoria一起創辦的快速發展的公司。


為了實現更大的突破,18歲時他和幾個好朋友一起創立了技術服務公司Dyeus。團隊很快發展到20多人,為許多國際客戶開發網站和手機應用。

到了24歲,他決定給自己放個長假,覺得為客戶打工的日子該告一段落了。憑藉著這些年為數百萬使用者開發企業級軟體的經驗,Namanyay開始專注於開發自己的產品。


目前他正在打造包括AI程式碼分析器、空氣質量影響&可視化以及趨勢分析器&內容助手等一系列個人開放原始碼專案。


(新智元)