我聽說這個世界上曾經有一批非常神奇的程序員,他們一言不合就爆改核心系統,快速發布,給產品打上自己的烙印。
例如Brendan Eich,僅用 10 天就開發出 JavaScript 原型,為網頁交互式內容奠定標準。
Ken Thompson,老婆離家三周,他就寫了個操作系統:Unix。
Ryan Dahl, 開發了Node.js,幾乎憑借一己之力把JavaScript帶到了服務器端。
John Carmack,將游戲拆解成引擎+內容,并且通過在Doom和Quake引擎中極端的性能優化,讓3D游戲成功運行在消費PC之上。
5年前,我也有幸成為了他們中的一員。
01
高中輟學
我非常幸運,生活在加州灣區,從小到大,幾乎所有時間都泡在電腦前,學習了各種計算機知識。
高中的時候,我自學Ruby on Rails,并且寫了一個應用,老師們還覺得挺不錯的。
![]()
當時我就想,我都能獨立完成應用了,是不是也可以找到工作了?
我學習成績不咋地,很討厭學校,于是就給灣區的公司發郵件,沒想到真有一家讓我去實習了。
于是,我高中輟學,開始了程序員的生涯。
14歲時我就看Hacker News,上面的各種創業故事深深地影響了我,所以也搞了一些零散的“創業”:
一個 Pokémon Go 地圖,2016年Pokémon Go 爆火,有 490 萬人使用。
一個 Chrome 擴展程序,可以讓用戶在不分享密碼的情況下訪問網站,也有幾百萬人使用。
后來我加入了Stripe 擔任前端開發,積累了大規模前端架構經驗和高性能 Web 應用開發經驗。
02
難以忍受的45秒
2021年,我正在開發一款對性能要求極高的多人瀏覽器游戲,它有點像 Minecraft,但用的是 JavaScript。
開發這款游戲非常困難,代碼庫越來越龐大,每次我在編輯器中保存代碼,到在瀏覽器中看到更改效果,竟然得等45秒!
這種糟糕的“開發-反饋”循環實在是不能忍,我必須要做點兒什么事情了。
首先,我嘗試用Zig這個編程語言重寫了esbuild的JSX和TypeScript轉譯器。
![]()
效果非常驚人,比esbuild快3倍,比swc快94倍,比babel快197倍。
![]()
接下來我又嘗試讓 Next.js 跑起來,這次就難了,因為必須得實現服務器端頁面渲染(SSR)。
沒錯,就是需要一個JavaScript運行時環境。
我測試了JavaScriptCore 和Chrome V8,發現在所有基準測試中,JavaScriptCore 的啟動速度都更快。
那就用JavaScriptCore重寫一個JS運行時吧。
![]()
悲催的是,JavaScriptCore這個JS引擎是WebKit的一部分,而WebKit是一個超級龐大,耦合嚴重的大型代碼庫,里邊除了JS引擎,還有HTML Parser,CSS Engine,Layout Engine等等。
所有東西攪成一團,官方只有一些簡單的C API文檔,讓你實現一些簡單的功能,想把JavaScriptCore單獨“拿”出來,充當JavaScript的運行時是在太難了。
我算是理解當初Ryan Dahl為啥選擇V8來做Node.js了.....
![]()
我沒有辦法,只好瘋狂地去閱讀WebKit的源代碼,一個月后,我終于把JavaScriptCore給剝離出來了。
另外我對npm也極為不爽,npm install 由于小文件太多,速度巨慢,node_modules簡直是依賴地獄。
既然都重寫runtime了,那順便把npm也重寫了吧!
這一年真是瘋狂,大部分時間,我都待在奧克蘭一間非常狹小的公寓里,每天除了寫代碼就是在推特上發關于 Bun 的內容。
是的,我把我寫的打包器、轉譯器、運行時、包管理器叫做Bun,就是兔子的意思。
![]()
03
兔子來了
在互聯網文化中,Bun經常表示:敏捷,快速,高繁殖速度(瘋狂增長)。
很多人說,看到bun install 就想笑,因為看起來像npm install的萌化版,有種“Node世界太沉重了,來只兔子把它撞翻的感覺”。
2022年7月,我正式發布了Bun v0.1.0 。
![]()
這個消息立刻在JavaScript圈引發了一場地震,開源第一周,Bun就獲得了2萬的GitHub Star。
用戶紛至沓來,我根本沒法寫代碼,每天的工作就是回復用戶的消息。
網上瘋傳著類似這樣的圖:
![]()
![]()
可以說,Bun的工具鏈對Node產生了碾壓般的優勢。
很多人看到Bun源碼時驚呼:“這玩意兒居然是一個人寫的!”。
確實,v0.1.0的時候我沒有團隊,我一個人:
讀 WebKit 源碼
實現JavaScript runtime
實現Node compatibility
寫 package manager
這種風格確實有點像John Carmack和Ryan Dahl等人,在程序員圈傳播力極強。
更重要的是,2022年的JavaScript生態,很多人已經進入了一個工具鏈疲勞的狀態,每天面對著巨慢的npm install,爆炸的node_modules,前端程序員已經受不了了。
Bun就像一股清新的風吹進了JS圈,讓人神清氣爽。
04
終極解脫
但是Bun依然是個不太完善的產品,比如不支持Windows,和Node.js的兼容性還不太好。
不過,風險投資像鯊魚聞到了血腥,蜂擁而來,Bun相繼完成了種子輪和A輪兩次融資,我在舊金山建立了一個十幾個人的團隊,開足馬力完善Bun,相繼發布了V1.0, 1.1,1.2,1.3 .......
但是,不論Bun有多么火,它的收入一直為0。
像Bun這樣的工具,如果要賺錢,必須走 “開源+托管服務” 的模式。
這意味著我必須分出大量精力去開發云平臺、處理計費系統、尋找付費客戶,而不是專注于優化運行時(Runtime)的性能。
過早的變現欲望也會引發開發者的警惕:我能把公司的技術棧壓在Bun上嗎?它5年和10年后還存在嗎?
但是世界在迅速變化,2024 年底,人工智能編碼工具已經從“炫酷演示”變成了“真正實用”。
大家突然發現,Bun 作為一個運行時(Runtime),在處理 AI 生成的高頻、碎片化任務(如瞬間啟動、執行測試、自動修復代碼)時具有天然的性能優勢。
Bun還是一個天生的CLI分發工具,運行速度飛快,這簡直是很多AI Coding Agent夢寐以求的基礎設施工具。
比如Claude Code,就逐漸從Node.js轉向了Bun,還有FactoryAI,OpenCode。
我們一直優先處理Claude Code提出的問題,我和Claude Code的核心負責人Boris Paskalev 也有過多次長談,探討AI編程的發展方向,達成了很多共識。
![]()
2025年12月,Anthropic 收購了Bun,承諾 Bun 將繼續作為開源項目(采用 MIT 協議)存在。
我終于解脫了,不用再去苦苦尋找盈利模式,完全跳過了“變現”章節,專注于構建最優質的 JavaScript 工具鏈。
我是Jarred Sumner,這就是我和Bun在過去五年的故事。
![]()
最初,我只是想讓 JavaScript 快一點,沒想到撞翻了半個前端世界。
Bun這只兔子能跑多遠? 讓時間回答,讓代碼說話吧。
碼農翻身后記:
寫完這篇文章,我一直在想,AI編程時代來臨以后,像Jarred Sumner這樣“一個人爆改整個系統”的程序員,以后還會出現嗎?
理論上來說,應該會越來越多,因為AI賦予了程序員更強大的編程能力,但是我又覺得能做出這樣創新工作的人,必須得敢想敢干,能挑戰一切權威才行(就像Bun挑戰了Node龐大的生態),而大多數人都是習慣于用別人發明的工具,默默忍受這些工具的缺點,最多吐槽幾句。
所以,即使到了AI時代,創新型的程序員依然會非常稀缺的,你覺得呢?
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.