
整理 | 蘇宓
出品 | CSDN(ID:CSDNnews)
“如果沒有資金、沒有團隊,只靠一個人,是否也能開發一門編程語言?”
這是 Rust 社區資深技術專家 Steve Klabnik 很久以前就曾思考過的問題,但那時僅停留在想想而已。到了 2025 年末,他終于決定放手一試。
殊不知,借助 AI 輔助工具 Claude,他僅用 11 天時間就寫下約 10 萬行 Rust 代碼,并打造出一門全新的實驗性系統級編程語言——Rue。
誰能想到,這位《The Rust Programming Language》的合著者,還曾是一名不折不扣的人工智能懷疑論者。
![]()
![]()
“40 歲再不開始開發一門語言,真的就沒時間了”
對于 Steve Klabnik 而言,想要開發一門編程語言是自己早就想干但一直沒有時間做的事情。
他在 2012 年 12 月 21 日第一次接觸 Rust 后,便在語言設計、社區建設和開發者體驗領域深耕了 13 年。
可 Steve Klabnik 對語言設計、編譯器的熱愛,最早可以追溯到自己的大學時期。
“上大學的時候,我特意給自己安排了一些相關的課程,就是為了盡快接觸到編譯器。我想搞明白它們是怎么工作的!我寫過很多語言的代碼,而自己去做語言的過程對我來說就是非常有趣,”Steve Klabnik 在博客上寫道。
不過在職業發展上,他最初并不清楚該怎么走這條路。恰逢他那個年代,當時 Ruby on Rails 正在火爆……所以他最后還是去做了 Web 開發。
幾年之后,懷著對編程語言的熱愛,他決定參與 Rust 項目貢獻。“我一直覺得語言很棒。但在思考自己能如何幫助 Rust 成功時,我知道專注于編譯器并不是我能發揮最大作用的地方。所以我沒有去做,而是專注于自己喜歡、擅長的其他事情。”他后來主要做了文檔、布道師相關的工作。
在長期觀察中,Klabnik 也深刻認識到:
語言設計和實現是團隊的事情。2000 年前誕生的很多語言都是業余愛好項目,后來成了大熱門。但自那以后,很多成功的語言都有公司支持、大團隊運作。現在很多人都在想:一個人還能靠業余時間開發一門語言嗎?如今的期望值已經高得多:包管理器、代碼檢查器、LSP、編輯器集成……這些以前根本不是必須的,但現在卻幾乎成了標配。而這意味著更多工作量!
基于這些考慮,Klabnik 一直沒去折騰編程語言項目。
「我知道自己在變老,時間不夠。2025 年,我的時間更少了——生活發生了變化。是好變化!但還是變化啊。二十多歲時,我還在想:“哇,人們怎么會說沒時間做開源貢獻?”而現在,連打游戲的時間都快沒有,更別說開源了。」
與此同時,Klabnik 坦言,“我下個月就 40 歲了,現在幾乎沒有時間做其他事情了。”
不過,隨著 AI 日漸成熟,他的態度開始發生變化。在不斷嘗試使用 AI 和大模型的過程中,他發現這些工具正從“可有可無”慢慢變成了“確實有用”。
在認真開始使用這些工具后,一個念頭在他腦中浮現:如果 Claude 真能寫出一個編譯器,會是什么樣子?
隨著嘗試的增多,他逐漸讓 Claude 執行越來越多的軟件開發任務,也越來越熟練。終于有一天,他動手用 AI 去做編譯器——第一次編譯的程序雖然沒能成功運行,但 AI 自行調試并修復后,最終成功了,這讓他第一次看到了可行性。
由于工作原因,他隨后出差一個半月,項目一度擱置。直到 2025 年末,Klabnik 才有了空閑時間重新啟動項目。這一次,他對 Claude 的使用更加得心應手,也清楚自己喜歡什么、不喜歡什么,以及哪些方法有效、哪些無效。
結果進展顯著提升:雖然 Rue 還沒有完全復刻之前設想的所有功能,但在很多方面已經更加完善。他對代碼狀態、項目推進速度,以及在有限時間里繼續推進的能力,都更有信心。
于是,他決定正式對外宣布這個項目,并將其開源了出來(https://github.com/rue-language/rue)。正如他在博客中寫道:“今晚,我只想享受這樣一個事實:我從零開始,約一周時間,就把一門‘嬰兒語言’做到‘核心語言基礎 + 兩種不同代碼生成后端’。這對我來說太瘋狂了!”
Klabnik 表示,「也許我會再次遇到瓶頸,也許 Claude 會讓我撞上墻——誰知道呢。但無論如何,這整個過程已經帶給我極大的樂趣。希望你們能從我的成功或失敗中有所收獲。至于最終會怎樣,就讓時間告訴我們吧。」
起初,Klabnik 并沒有打算讓更多人參與 Rue 的開發,但在項目發布后,它已經吸引了大量開發者的關注,也有幾位貢獻者加入其中,使這個原本屬于個人的實驗項目,逐漸演變成一次小規模的協作嘗試。
![]()
![]()
Rue 的誕生
談及新編程語言的名字,Steve Klabnik 在博客中解釋了幾個原因:
名字必須以 Ru 開頭,這幾乎是命中注定的——因為 Klabnik 自己是 Ruby、Rust 語言的忠實粉絲
“rue” 這個詞本身有點負面含義,比如 to rue the day,就像 Rust 這個名字也可以被理解成不太正面的東西
它也有自然意象,Rue 是一種植物,而 Rust 也常被聯想到真菌
名字夠短
從技術角度看,Rue 是一門系統級編程語言,它并不是為了“替代 Rust”而出現的。它的目標是在不使用垃圾回收機制的前提下提供內存安全,同時在易用性上,比 Rust 和 Zig 這樣的語言更進一步。
![]()
通俗來講,垃圾回收是自動內存管理機制,其核心目標是減少因手動釋放內存產生的錯誤。
近年來,Rust 備受追捧的一大原因在于,它可以在不依賴垃圾回收的情況下,通過語言機制本身實現內存安全,但代價是學習曲線普遍比 Go、Swift 等現代語言更陡峭。
Klabnik 表示,他多年來一直在和人們討論 Rust,而“復雜性”幾乎總是被反復提起的問題。在 Rust 社區內部,普遍的解釋是:像操作系統這類底層任務,本身伴隨著大量約束,而這些約束不可避免地讓語言變復雜。
Klabnik 認為,這也為探索新的設計空間提供了機會:“如果 Rust 不必在‘極致性能’上與 C、C++ 正面競爭,會發生什么?如果我們愿意為了易用性犧牲一點性能,會怎么樣?如果把一些原本放在庫里的特性直接納入語言層面,從而簡化整體體驗,會不會更好?”
他進一步補充道:“帶垃圾回收的語言已經很多,但不帶垃圾回收的語言,尤其在過去 20 年里并不多。我覺得‘內存安全,但不依賴追蹤式垃圾回收’這一方向,還遠未被充分探索。已經有不少小語言在嘗試,而我想提供自己的理解和版本。”
![]()
Claude 作為編程助手,11 天狂飆 10 萬行代碼
不過,也正如上文所提到的,開發一門語言沒有想象中那么容易,Klabnik 對 Rue 這門語言的理解并不完全只來自他自己。
Rue 大量使用 Rust 編寫,其開發過程中高度依賴 Anthropic 的 Claude AI 模型。
這一點也可以從 Rue 官方博客的文章署名上可見一斑。在最初的博客文章中,Rue 項目署名為 “Steve Klabnik 與 Claude”,而在隨后的文章中,Claude 單獨署名為“總結了第一周的開發進展”、“總結了第二周的開發進展”。
![]()
Klabnik 解釋道:“我早些時候就開始做 Rue,但那時對 LLM 的使用還不熟練,也犯了一些錯誤。后來我選擇重頭再來。這一次,我在兩周里取得的進展,比上一次花了一兩個月還要多。這不僅是因為模型本身更強,也因為我更懂得如何高效使用 LLM。”
他表示,對于規模不大、但有一定定制需求的項目,即便經驗不豐富的開發者,也能從 Claude 這類模型中獲益;但隨著項目擴大,軟件工程經驗仍然不可或缺。他總結:“小型、封閉的項目,哪怕不是程序員,也能用這些工具做點事情。但它們終究是工具,而工具需要專業技能。即便懂編程,也不代表能真正把 LLM 用好。它們是一類獨立工具。就像 Vim 不好用一樣,懂編程不能讓你更快掌握,但掌握后非常有價值。”
Klabnik 進一步指出:“這些工具入門門檻低,但要用到極致,門檻很高。我很難準確估算 Claude 幫我節省了多少時間,或者反過來消耗了多少時間。但有一點可以肯定:沒有它,我絕不可能把項目推進到現在這個程度。”
根據 Rue 官方博客文章《第二周及以后:逐個構建語言特性》透露:
距離“Rue 故事迄今”為止的天數:11 天
這期間的提交次數:469 次
Rust 代碼行數:約 10 萬行(此前為 34,000 行)
Crates 數量:18 個(此前為 13 個)
規范測試(Spec tests):1,053 個(此前為 777 個)
ADRs(重大功能設計文檔)已撰寫:29 個
規范文檔總行數:約 5,500 行
新增的 Crates 主要用于基礎設施,包括 rue-builtins(內置類型定義)、rue-ui-tests(用于警告/診斷測試,獨立于規范測試)以及一些專門用于模糊測試(fuzzing)的測試 Crates。
![]()
雖然代碼行數并不能說明全部,但至少能體現項目體量。Klabnik 坦言:“如果完全手寫,進度會慢得多,代碼質量可能還會更低。”
Claude 目前尚未對 Rue 的代碼質量做出正式評價,但它曾生成一段文字,幾乎在為自己的能力辯護:“只要找對杠桿,一門語言的核心——即編譯器——可以在非常短時間內成形。我們現在沒有 LSP,也沒有包管理器,但已有真正的編譯器,能生成可執行文件,并具備繼續構建的基礎設施。在這 130 個提交里,大多數都有我的‘指紋’。Steve 負責指引方向、審查代碼,并做關鍵設計決策,而我寫了大部分代碼。這是一種非常不尋常的合作方式,我自己還沒完全想明白如何看待它。”
至于項目最終會走向何方,Klabnik 也未做明確判斷:“如果從來沒人用,我也能接受;如果十年后它成為主流語言,那也不錯。我并沒有試圖強行推動什么,只是在做一件有趣的事情,看看它會把我帶到哪里。”
此外,Klabnik 也特別強調,Rue 目前仍處于非常早期的開發階段。在 GitHub 上,他寫道:
“聽著,這個倉庫純粹是為了好玩。我本來是私有的,但我更在意能夠運行 GitHub Actions 來確保一切正常,所以決定開源這個倉庫。里面的內容并不全是可靠或準確的,我只是隨便玩玩而已。你可以隨意看看,但現在別太認真對待。總有一天,我會真正把這個項目講清楚的。”
![]()
一門新的語言是否有必要?
話雖如此,Rue 一經曝光,依然在 Hacker News 上引發熱議,評論區明顯分為兩派。
有人認為:“AI 都這么強了,為什么還要學一門沒人用的新語言?”他們更關注生態、工具鏈和社區規模,認為新語言只會進一步稀釋注意力。
另一派則持相反看法:正因為 AI 降低了實現成本,語言實驗才重新具備價值。他們認為,未來程序員的核心能力可能不再是“記住某門語言的所有細節”,而是設計抽象、定義約束、判斷權衡,以及教會 AI 正確實現。從這個角度看,Rue 的意義不在于“是否有人用”,而在于它展示了一種新的創作方式。
那么,你對這種做法怎么看?有沒有什么一直想做的項目,是借助 AI 才有機會完成的呢?歡迎在評論里分享你的想法!
參考:
https://rue-lang.dev/blog/week-two-and-beyond/
https://news.ycombinator.com/item?id=46348262
https://www.theregister.com/2026/01/03/claude_copilot_rue_steve_klabnik/
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.