
Youtube link: https://www.youtube.com/watch?v=nOSxuaDgl3s
John Jensen 是知名的 Rust 布道者、實況程式開發者,擁 MIT 博士、曾任 AWS 工程師,現為歐洲最大 AI 國防科技公司 Helsing 的 Principal Engineer。本篇文章完整整理他對 Rust、Go、C++、AI、產業採用、人才市場、編譯器、宏(Macro)、工具鏈、職涯選擇以及軟體工程未來十年的看法。Rust 的起源:要同時兼顧安全、速度與易用性的語言
Rust 起源於一個老問題:
過去的語言往往要在「安全」、「效能」、「易用性」三者中取捨,而 Rust 嘗試一次提供全部。
多數語言若想讓程式易寫,就要加入 runtime 與 GC,使效能下降;若追求極致性能,又容易引入錯誤。Rust 嘗試跨越這個矛盾,提出零成本抽象、所有權系統與強大的型別系統。
MIT 的文化:探索、合作與好奇心的溫床
Jensen 描述 MIT 是個高度好奇與開放的地方:
- 教授多採 open-door policy,學生可以直接討論研究。
- 他每週舉辦桌遊夜,許多靈感在這種交流中產生。
- MIT 接受嘗試新工具,因此 Rust 1.0 出來後,他直接用它實作博士論文資料庫系統的第二版原型。
AWS 經驗:Rust 在大型企業的採用模式
Jensen 在 AWS 負責 Rust 建構系統(build system),供所有 AWS 內部 Rust 專案使用。
企業採用 Rust 的推力與阻力
阻力主要來自:
- 既有系統的慣性與切換成本高
- 員工需重新學習新語言
- 生態系部分領域尚未成熟
但推力則來自:
- Rust 的 尾延遲(tail latency)表現遠優於 Java/Kotlin(GC 誘發的不確定性消失)。
- 使用者主動要求採用 Rust,而非上層強迫。
Rust 採用率低但最受喜愛:為什麼?
Rust 年年在 Stack Overflow 榜上拿下「最受喜愛語言」,但使用率只有 12–14%。
Jensen 的解釋:
- 越是得不到的東西,人們越嚮往。
- 企業採用門檻高,直接限制使用範圍。
- 並不是學習曲線,而是「整家公司要切語言」的成本太巨大。
哪些產業最能從 Rust 受益?
他列出 Rust 採用最積極的三大領域:
1. 嵌入式系統
Rust 與 C/C++ 直接競爭,安全性是決定性優勢。
2. CLI 工具
主要因為 clap 等 crate 提供出色開發體驗。
3. 安全關鍵領域(國防、汽車、太空領域)
Rust 可將錯誤排除於編譯時,極具價值。
什麼時候不應採用 Rust?
例如 Discord 放棄大型 Go→Rust 遷移計畫。Jensen 列出可能的阻礙:
- 需要深度介接龐大 C++ 生態(CUDA、DPDK、Unity、driver SDK) 時,Rust 的 FFI 成本過高。
- 舊有系統表現良好時,重寫本身風險太大。
- 人才缺乏,無法維運大型 Rust 代碼庫。
如何向 Go 與 C++ 團隊推銷 Rust?
對 Go 團隊:
「Rust 讓 runtime 錯誤大幅減少,型別系統能讓更多邏輯錯誤在編譯期被抓到。」
Go 雖無記憶體安全問題,但仍會有邏輯錯誤、nil 問題。
對 C++ 團隊:
「Rust 讓 concurrency bugs 在編譯期消失,C++ 只能靠 sanitizers 去“偵測已發生的錯誤”。」
另外,Rust 的依賴管理與 build system 更具一致性。
Rust 的人才市場:大量初階、稀缺資深
優秀的 Rust 資深工程師很難找,這對公司造成挑戰:
- 初階工程師多,但缺乏能帶隊的資深。
- 公司不敢只有初階就啟動 Rust 專案。
Jensen 的個人影響力能帶動興趣,但不會讓資深開發者放棄現有工作。
薪資:美國與歐洲差距巨大
Jensen 給出的數字:
- 挪威資深 Rust:約 150k 美金/年
- 美國(AWS)資深 Rust:總包約 40 萬美金/年
但美國需要承擔醫療等高額成本,他仍選擇回歐洲生活。
為何拒絕區塊鏈/加密貨幣工作?
「因為我看不到它真正改善世界的地方。」
他認為技術迷人,但應用大多負面或無意義,因此拒絕 Crypto/Web3 職缺。
而 Rust 在加密圈盛行,他推測原因包括:
- 并行、分散式架構需要高性能
- 從零開始選語言,Rust 很容易被選中
- cryptography 本身很適合 Rust 的安全性模型
但對整個 Crypto 生態,他仍持懷疑態度。
比特幣 ETF 的出現是否改變他對 Crypto 的看法?
沒有。
「比特幣仍然是賭博,就像部分股市也是賭博一樣。」
AI 過度被神化:核心問題是「不會理解」
Jensen 認為 AI 的進步令人驚艷,但全球普遍「誤解了它真正能做到的事」。
核心原因:
- LLM 不懂物理、邏輯或底層模型,只擅長預測與模仿。
- 研究顯示 LLM 無法從軌道資料推導出行星運動背後的真實物理規律。
- 它們能生成正確程式碼,但難以處理需要真正「理解」的設計。
「我不認為它能理解。」
他正在刻意測試 AI 的極限,看看是否能推翻自己的看法。
AI 會奪走工程師工作嗎?
會被取代的:模板化、重複性高的工作
如 WordPress 模板製作。
不會被取代的:需要創造力、推理、系統設計的工作
如高複雜度架構、底層優化、新框架發明。
關鍵建議:
「不要像鋸木廠出現就放棄木匠工作,學會用工具做更高階的事。」
用 AI 提升自己,而不是與其競爭。
AI 寫 Rust 特別難
因為 Rust 有:
- 所有權模型
- 借用檢查器
- 生命周期
需要邏輯一致性。
AI 在沒有真正理解的情況下,很容易產生錯誤或不符合借用規則的程式碼。
Rust 在 AI 基礎設施裡的位置:研究用 Python,部署用 Rust
理由:
研究階段不應用 Rust
- 研究者需要快速迭代、丟棄原型
- Rust 強迫你「事前思考」,與研究流程背道而馳
部署階段唯有 Rust 最合理
例如車用、自駕、國防系統,都不能讓 Python 上路。
因此:
- 研究:Python
- 部署:Rust
- 橋接:ONNX Runtime、Candle、WASM…
十年後的軟體工程:AI 是加速器,但不是替代品
他不認為 AI 能在 10 年內具備真正「推理」能力,因此:
- AI 會大幅提升工程師效率
- 會自動處理大量樣板化工作
- 但無法取代需要理解架構、類型系統、創造性思考的工程師
人類工程師仍會是主角。
Rust 學習曲線:最難的是「建立新的大腦模組」
相比其他語言只是換語法,Rust 要學習的是真正的新概念:
- 所有權
- 借用
- 生命周期
這讓人痛苦,但也讓人變強。
借用檢查器為什麼其實能讓你成為更好的工程師?
因為它迫使你理解:
- 記憶體何時有效
- 物件何時釋放
- 物件是否仍被引用
- 程式架構如何拆解才能合理流動資料
Jensen 認為這是可遷移的技能,甚至寫 JavaScript / Go / C++ 時也變得更精準。
Rust 編譯器與 Cargo:最大的優勢與缺點
最棒的地方:錯誤訊息
Rust 的錯誤訊息清楚、有用、具教育性,是學習曲線的核心助力。
Cargo 的評價
不是完美,但與其他語言相比是頂級體驗。
缺點
Rust 生態常有:
- 過時、未維護的小型 crate
- 慢編譯
- 巨大磁碟使用量
- Debug 工具落後
這些都可改進,但根源是語言的複雜度與 monomorphization。
是否過度使用宏?
Jensen 認為沒有「過度使用」:
- 多數情況是因為語言缺功能,宏成為唯一手段。
- 手寫 Procedural macro 會拖慢編譯,但可改善。
Jensen 的開發環境:100% 終端機,NeoVim 500 行設定
他是老派 Vim/NeoVim 使用者,偏愛純終端工作流。
IDE 功能強大,但他不需要,也不習慣。
Rust 與其他語言的整合能力
- 與 C:非常好
- 與 Python、Ruby:很好(作原生模組)
- 與 C++:還在改善(CXX crate 仍年輕)
- 與 Java:JNI 笨重但可行
Rust 的整合能力其實優於許多語言。
Rust 的演進與治理:不是大公司在操控
雖然 AWS、Meta 等公司雇用 Rust 團隊,但:
- 他們不指揮 Rust 方向
- 主要作決策的仍是社群與各個 Rust 團隊
- 大公司只提供人力,而非施壓
Rust 的開發仍是「去中心化、社群主導」。
若 Rust 明天消失,世界會失去什麼?
對世界:
- 一個介於 C++ 高性能與 Python 安全方便之間的空缺
- Zig、D、Julia、Swift 都無法完全填補
對 Jensen 個人:
- 他會失去最重要的東西:
Rust 社群本身。
結語:Rust 與 AI 的未來皆值得期待
Jensen 對未來保持理性但樂觀:
- AI 不會奪走所有工程師的工作,但會重塑工具與流程。
- Rust 不會適用所有場景,但在安全、效能關鍵領域無可替代。
- 軟體工程仍需要理解系統與創造新事物的人類。
- Rust 的演進方向正確,社群健康,前景明亮。























