NEO.K / PLDST程式語言設計師風格譜系
編號PLDST-018
版本v1.0
日期2026-07-30
作者Neo.K
狀態公開版/第三部設計師個案正式研究

下載 PDF ↓回到論文索引 ↗

Yukihiro Matsumoto:程式設計者幸福、語言自然性與社群信任

摘要

Yukihiro “Matz” Matsumoto 經常被描述為 Ruby 的創造者,以及「為了讓程式設計者幸福」而設計語言的人。這個描述捕捉了 Ruby 最著名的價值主張,卻也容易產生四種誤讀:

  1. 把「幸福」理解成只追求語法漂亮或短;
  2. 把「自然」理解成模仿英文句子;
  3. 把「最小驚訝原則」理解成滿足每個人的既有直覺;
  4. 把 Matz 的最終裁決理解成沒有實作、社群與相容性約束的任意個人品味。

Ruby 的起點是 Matz 在 1993 年尋找一門真正物件導向、又適合日常腳本的語言。官方 FAQ 記錄,他熟悉 Perl 與 Python,卻不滿意前者的語言感及後者當時在他眼中的物件模型,希望建立容易使用的物件導向腳本語言。[R1] Ruby 最終綜合:

Matz 的設計重點不是形式最小,而是人使用語言時的感受。2003 年第一手訪談中,他明確把語言評價分成「能做什麼」與「使用時感覺如何」,並說 Ruby 主要強調後者;他也說,自己不是要為每個人設計完美語言,而是先做一門自己樂於使用的語言。[R3]

這種人本設計常被濃縮成「Principle of Least Surprise」。然而,Matz 自己提醒,該說法常被誤解:不同背景的人會對不同設計感到驚訝,Ruby 無法滿足所有人的既有預期;他真正最小化的是自己在充分理解 Ruby 之後的挫折與不自然感。[R3]

本文將 Matz 的設計生涯分成六個相位:

  1. 個人工具尋找期:Perl、Python、Smalltalk、Lisp 等語言的不滿與綜合;
  2. Ruby 核心形成期:一切皆物件、Block、Iterator、Mixin、開放類別與可讀腳本;
  3. 日本社群孵化期:Ruby 0.x/1.x、日文討論、小型核心與 Matz 最終裁決;
  4. 全球化與 Rails 放大期:Ruby 由個人喜好語言成為 Web 生產力平台;
  5. 相容與性能再平衡期:Ruby 1.9/2.x、Keyword argument、Encoding、VM、JIT;
  6. Ruby 3/4 與後期制度期:Performance、Concurrency、Typing、RBS、Ractor、JIT/ZJIT,以及仍由 Matz 保留最終語言方向的多團隊治理。

本文核心判斷為:

Matz 所謂「幸福」不是即時愉悅,而是讓程式設計者把注意力留給問題、創造與表達。\boxed{ \text{Matz 所謂「幸福」不是即時愉悅,} \quad \text{而是讓程式設計者把注意力留給問題、創造與表達。} }

其深層配置可表示為:

自然表達+高彈性物件模型+多種可讀慣用法+實用腳本能力+集中品味與社群信任\boxed{ \text{自然表達} + \text{高彈性物件模型} + \text{多種可讀慣用法} + \text{實用腳本能力} + \text{集中品味與社群信任} }

Ruby 的官方介紹把其設計描述為「Careful balance」,並引用 Matz 的說法:Ruby 追求 Natural 而非 Simple;它表面簡單,內部像人體一樣複雜。[R2] 這是理解 Ruby 的關鍵。Matz 不把完全正交性視為最高美德;他認為正交特徵任意組合可能讓使用者必須在腦中模擬 Compiler,因而偏好「和諧」——功能可以不是理論上最一般,但要在共同語言感中相處自然。[R3]

這種風格的力量與代價也來自同一來源。Ruby 可以像可執行的偽程式碼,Block、Iterator、Mixin、Duck typing 和 Metaprogramming 能快速建立 DSL 與 Framework;但多種寫法、隱式轉換、開放類別和運行期元程式會增加大型系統的工具、安全、追蹤和性能負擔。Matz 的品味能維持整體氣質,卻也讓治理高度依賴社群對個人裁決的信任。

因此,Matz 不應只被分類為「讓程式設計變快樂的人」。更精確的判定是:

他把程式設計者的認知感受提升為語言設計的一級成本,並以長期個人品味協調彈性、實用、自然性、相容性與性能之間的衝突。

關鍵詞: Yukihiro Matsumoto、Matz、Ruby、程式設計者幸福、自然性、最小驚訝、和諧、物件導向、BDFL、社群信任、PLDST


第一部分 研究邊界與多主體歸因

一、本文研究範圍

本文主要分析:

本文不把下列成果全部歸於 Matz:


二、Ruby 的創始權重

Matz 對下列事項具有高度直接權重:

因此稱其為 Ruby 創造者和主要設計者合理。


三、Ruby 是多團隊成果

Ruby 長期演化涉及:

Ruby 官方首頁也明確把豐富生態歸功於社群,並引用 Matz 表示自己「讓程式設計者幸福」的願望是由社群以他單獨無法完成的方式實現。[R4]


第二部分 相位一:尋找一門自己想用的語言

四、Ruby 的誕生問題

官方 FAQ 記錄 Ruby「出生」於 1993 年 2 月 24 日的討論;Matz 想要的是:


五、不是從單一語言繼承

官方 Ruby 介紹將影響列為:

較完整分析可分成:

Perl:文字、正規表示式、Unix 實用性
Smalltalk:物件、方法、動態性
Lisp:Block、高階函數、元程式
Eiffel:物件設計與一致性
Ada:結構與可讀性

Ruby 是綜合,不是其中任何一門的表面翻版。


六、個人品味作為原型測試

Matz 在 Artima 訪談中說,他首先嘗試做一門對自己而言接近完美的語言,而不是假設可同時滿足所有人。[R3]

這種方法的優點:

風險:


第三部分 幸福作為成本函數

七、幸福不是娛樂化

Matz 所說的幸福包括:

可表示為:

Hprogrammer=Focus+Flow+Expressiveness+FeedbackBoilerplateFrictionConfusionH_{\text{programmer}} = Focus + Flow + Expressiveness + Feedback - Boilerplate - Friction - Confusion

八、幸福不是所有人的即時偏好總和

若每位使用者都要求語言符合原語言直覺:

會得到互相矛盾的要求。

因此 Matz 的「最小驚訝」不是民主平均,而是:

熟悉 Ruby 整體品味後,局部行為應與這套品味相容。


九、自然而非簡單

Ruby 官方頁面引用:

trying to make Ruby natural, not simple

以及:

simple in appearance, complex inside

這表示:


十、自然性的社會來源

「自然」來自:

它不是普遍心理定律。


第四部分 和諧高於完全正交

十一、正交性的吸引力

完全正交意味:

這是許多極簡設計的理想。


十二、Matz 的批判

Matz 在 2003 年訪談中說,Consistency 和 Orthogonality 是設計工具,不是最高目的;兩個各自合理的功能任意組合,可能造成普通讀者必須模擬 Compiler,形成複雜爆炸。[R3]

因此他偏好:

Harmony>MaximalOrthogonalityHarmony > MaximalOrthogonality

十三、和諧的含義

和諧要求:


十四、和諧的風險

因為和諧難以形式化,可能造成:


第五部分 Ruby 核心語言感

十五、一切皆物件

Ruby 將:

納入一致物件世界。

這提高:


十六、Block 與 Iterator

Ruby 的 Block 讓:

3.times do
  ...
end

能把控制、資源和集合遍歷交給方法。

其作用包括:

它使程式更接近「描述要做什麼」。


十七、Mixin

Ruby 以 Module 支援 Mixin,避免只用單一繼承階層承擔重用。

優勢:

風險:


十八、開放類別與元程式

Ruby 允許:

這使 Rails、RSpec 等 Framework 得以建立高度自然的領域語言。

同時增加:


十九、多種寫法

Ruby 常允許:

這可使程式依情境自然,也可能降低跨團隊一致性。

因此 Ruby 不是 Python 式「一個明顯做法」設計。


第六部分 日本社群孵化與語言權力

二十、早期社群

Ruby 先在日本形成:

小型社群讓:

ProposalDiscussionMatzDecisionImplementationProposal \rightarrow Discussion \rightarrow MatzDecision \rightarrow Implementation

循環較短。


二十一、語言設計權

Ruby Issue Tracker 的設計流程討論中,曾有核心開發者直接表述:

Ruby is matz'

Matz 對名為 Ruby 的語言保有最終覆寫權;社群可以說服他,或建立 Fork。[R5]

這是參與者的治理陳述,不是中立憲法,但準確顯示 Ruby 長期制度的中心性。


二十二、BDFL 與社群信任

Matz 的權威來自:

這種模式依賴:

Authority+Benevolence+TasteConsistency+CommunityTrustAuthority + Benevolence + TasteConsistency + CommunityTrust

二十三、信任不等於程序透明

Ruby 有:

但外部參與者仍可能難以知道:


第七部分 Rails 與全球化放大

二十四、Rails 不是 Ruby 本身

Ruby on Rails 由 David Heinemeier Hansson 等社群建立。

Rails 使用 Ruby 的:

其成功放大 Ruby,但不能歸為 Matz 的直接 Framework 設計。


二十五、Rails 驗證了自然 DSL

Rails 展示 Ruby 可讓:

has_many :comments
validates :name, presence: true

看起來接近領域陳述。

這是 Ruby 自然性與元程式能力的強證據。


二十六、Rails 也放大 Ruby 的代價

語言能力在大型 Framework 中會形成有效語言。


第八部分 性能不是被永久犧牲

二十七、人本優先不等於不在乎性能

Matz 的優先序通常是:

  1. Programmer experience;
  2. Language consistency/harmony;
  3. Compatibility;
  4. Implementation feasibility;
  5. Performance。

但性能低到妨礙使用時,也會傷害幸福。


二十八、Ruby 3x3

Ruby 3 以:

為三大方向。官方 Ruby 3.0 Release 說明,特定 Optcarrot Benchmark 達到相對 Ruby 2.0 的三倍性能,同時明確警告並非所有環境和 Benchmark 都有三倍。[R6]

這是證據導向而非普遍速度口號。


二十九、Typing without changing Ruby into a static language

Ruby 3 推進:

目標不是移除動態 Ruby,而是:

這延續:

DynamicFreedom+OptionalEvidenceDynamicFreedom + OptionalEvidence

三十、Concurrency

Ruby 3 引入:

Ractor 在 3.0 被標為 Experimental,試圖以不共享一般物件的 Actor-like 模型降低 Thread-safety 問題。[R6]

本文不把它寫成已解決 Ruby 所有並行問題。


第九部分 相容性與自然性的衝突

三十一、Ruby 會破壞相容

Ruby Issue Tracker 的治理論述明確主張:

因此 Matz 並非絕對相容主義者。


三十二、Keyword argument 分離案例

Ruby 2.7/3.0 的 Positional Hash 與 Keyword argument 分離造成大量 Library 遷移成本。

基於 Rails Core 等回饋,Matz 曾決定延後完整分離,顯示:


三十三、自然不只面向新手

一個新規則可能對新手更清楚,卻破壞:

Matz 的自然性是歷史化的,而非只看空白紙。


第十部分 Ruby 4 與後期治理、多主體實作

三十四、Ruby 4:版本號改變而核心方向延續

Ruby 4.0 於 2025 年 12 月正式發布;截至 2026 年 7 月,官方當前穩定版本為 Ruby 4.0.6。Ruby 4 引入 Ruby Box、ZJIT 等實作與隔離方向,但版本號並不表示 Ruby 已捨棄 Ruby 3 的人本、性能、並行及型別工具路線。

Ractor 在 Ruby 4.0 和 4.1 開發版中仍會發出 Experimental 警告,不能把 Ruby 3 的並行實驗描述成已穩定完成的普遍解答。


三十五、Matz 仍是最終方向中心

截至當代 Ruby:

這是:

CentralTaste+DistributedEngineeringCentralTaste + DistributedEngineering

三十六、實作權與語言權分離

例如:

都有專門作者和公司投入。

Matz 可設定方向,但成果取決於實作者。


三十七、Ruby 生態塑造語言

Rails、RSpec、Bundler、RubyGems 和 Shopify 性能工作會反向影響:

Ruby 不是只從 Matz 向下傳播。


第十一部分 風格時間相位

三十八、個人工具期

問題:現有腳本語言不符合自己的物件與語言感
策略:綜合 Perl、Smalltalk、Lisp 等

三十九、Ruby 核心期

問題:如何使腳本自然、物件一致且可表達
策略:Block、Iterator、Mixin、Open object model

四十、日本社群期

問題:新語言需快速形成共同風格
策略:小社群討論+Matz 最終裁決

四十一、全球化期

問題:Ruby 進入大型 Web 生態
結果:Rails 放大生產力與元程式代價

四十二、再平衡期

問題:性能、相容、Encoding 和 VM 壓力
策略:YARV、1.9/2.x 演化、過渡期

四十三、Ruby 3/4 期

問題:動態幸福需支撐大型、並行、性能與隔離需求
策略:3x3、Ractor、RBS、JIT/YJIT/ZJIT、Ruby Box

第十二部分 PLDST 風格指紋

四十四、問題 framing

Matz 的核心問題是:

如何讓程式設計者以接近自己思考和領域表達的方式工作,而不是持續服從機器或語言的機械要求?


四十五、價值優先序

VMatz(ProgrammerHappiness,Naturalness,Expressiveness,Harmony,Productivity,Flexibility,CommunityTrust)V_{\text{Matz}} \approx ( ProgrammerHappiness, Naturalness, Expressiveness, Harmony, Productivity, Flexibility, CommunityTrust )

四十六、核心—擴張偏好

偏好:

不追求極小正交核心。


四十七、顯式—推導偏好

Ruby 偏好:

但也透過命名、慣例和工具保持可讀。


四十八、效率—可讀性偏好

表面優先人類表達;Implementation 承擔:

後期性能改革不改變人本優先,而是降低其成本。


四十九、安全—自由偏好

Ruby 提供 Memory-managed runtime,但保留:

安全更多依賴工具、Library 和組織。


五十、相容性偏好

偏好保護社群慣用法,但若舊設計阻礙理想 Ruby,可經過過渡期破壞。


五十一、治理偏好

核心模式:

CommunityPersuasionMatzJudgmentDistributedImplementationCommunityPersuasion \rightarrow MatzJudgment \rightarrow DistributedImplementation

這比 Python 後 BDFL 更集中,比純私人語言更公開。


第十三部分 反例與限制

五十二、幸福無法直接測量

「讓程式設計者幸福」是價值方向,不是可直接從語法計算的客觀指標。

需要觀察:


五十三、多種自然寫法可能傷害閱讀者

作者的流暢不一定等於團隊的可預測。

Ruby Style Guide、Formatter 和團隊慣例因此很重要。


五十四、元程式能力可能把成本延後

DSL 看起來自然,但錯誤可能出現在:


五十五、Matz 的品味不等於 Ruby 全部現況

實作、標準 Library、Rails 和工具包含大量其他作者決策。


五十六、Ruby 3 性能目標有 Benchmark 邊界

官方明確說明三倍結果限於特定 Benchmark 和環境。[R6]

不能寫成 Ruby 3 所有程式皆比 Ruby 2 快三倍。


五十七、最小驚訝不是正式規格

它不能用來證明某功能必須接受。

Matz 甚至說,更準確是最小化自己的驚訝;真正標準是 Ruby 整體和諧。


第十四部分 設計決策語料

時期 問題 決策 複雜度去向 風格
1993 現有腳本語言不自然 Ruby Interpreter 個人品味綜合
1990s 物件與腳本分裂 一切皆物件、Block、Mixin Runtime 自然表達
1995+ 新語言需共同方向 Matz 最終裁決 創始者 信任治理
2000s Web DSL 與生產力 Rails 生態放大 Framework 延展性
1.9/2.x Encoding、VM、語義修正 YARV、重大演化 VM/遷移 再平衡
2.7/3.0 Keyword 一致與相容衝突 延後、警告、過渡 生態 信任調節
Ruby 3 性能、並行、型別 3x3、Ractor、RBS VM/Tool 人本可持續

第十五部分 人物原型判定

五十八、主要原型

Yukihiro Matsumoto 同時屬於:


五十九、不適合的簡單標籤

不應只稱:

幸福語言發明者
最小驚訝設計者
語法糖設計者
Rails 發明者
Ruby 獨裁者

較精確的描述是:

把程式設計者的認知感受當成核心設計成本,以個人長期品味協調動態自由、語言和諧、實用生態與相容壓力的設計者。


第十六部分 統一評價

六十、最重要的連續性

1993 至 Ruby 3:

機器應為人支付更多轉譯成本\boxed{ \text{機器應為人支付更多轉譯成本} }

六十一、最重要的修正

由:

幸福主要來自自然動態表達

擴張為:

幸福也需要性能、並行、工具、型別證據和可升級生態

六十二、最重要的制度條件

Ruby 的集中品味能長期存在,是因為:

這些條件不是自動永久成立。


第十七部分 結論

Yukihiro Matsumoto 的核心貢獻,不是證明語言只要看起來像英文就會讓人幸福。

他建立的是一種更深的設計立場:

本文對 Matz 的 PLDST 判定為:

Human-Feeling Language DesignerHarmonious Dynamic-Language ArchitectTrust-Centered Language Steward\boxed{ \text{Human-Feeling Language Designer} \rightarrow \text{Harmonious Dynamic-Language Architect} \rightarrow \text{Trust-Centered Language Steward} }

其核心優勢是:

其核心代價是:

最終原則為:

幸福不是最少字元自然不是模仿口語最小驚訝不是迎合所有人\boxed{ \text{幸福不是最少字元} \quad \land \text{自然不是模仿口語} \quad \land \text{最小驚訝不是迎合所有人} }

Matz 真正提出的是:

語言應形成一套可學習、可預測、有節奏的整體品味,使熟悉它的人能把注意力放在問題與創造上;而語言治理者的責任,是在每一次功能、相容與性能衝突中維持這套品味值得社群繼續信任。


附錄 A PLDST 個案卡

人物:Yukihiro Matsumoto
主要語言/制度:Ruby、CRuby language design、Matz-centered governance
核心時期:1993–至今
主要問題:現有腳本語言不能同時提供物件一致性、實用與愉悅
主要策略:自然語法、Block、Mixin、Open class、Metaprogramming
複雜度去向:Interpreter、VM、Tool、Framework、社群慣例
責任去向:機器承擔轉譯,Matz 承擔整體品味裁決
主要保護對象:日常程式設計者、DSL 作者、Web/腳本使用者
主要限制:主觀性、元程式、性能、相容、集中治理
歸因信心:高

附錄 B 來源與參考文獻

[R1] Ruby official FAQ, “What is Ruby?” and origin history.
— 1993 起源、Perl/Python 評價、物件導向腳本需求及名稱歷史。

[R2] Ruby official website, “About Ruby.”
— 影響來源、Careful balance、Natural not simple、表面簡單而內部複雜。

[R3] Bill Venners, “The Philosophy of Ruby: A Conversation with Yukihiro Matsumoto,” Artima, 2003.
— 使用感受、幸福、和諧/正交、最小我的驚訝及人本設計。

[R4] Ruby official homepage and community materials.
— 生態由社群建立、Matz 對社群貢獻的公開評價。

[R5] Ruby Issue Tracker, Feature #7549, “A Ruby Design Process.”
— Matz 最終語言權、說服/Fork、理想 Ruby 與經過過渡期的相容破壞;其中部分表述來自核心參與者,需標示為治理實踐敘述而非正式憲法。

[R6] Ruby official release notes, “Ruby 3.0.0 Released.”
— Performance/Concurrency/Typing、Ruby 3x3 Benchmark 邊界、Ractor、RBS 及 TypeProf。

[R7] Ruby Issue Tracker, Feature #16891 and Ruby keyword-argument transition discussions.
— 生態回饋、相容疼痛、Matz 延後完整分離及過渡政策。

[R8] Yukihiro Matsumoto interviews and talks, including 2021 Evrone interview.
— Developer instinct、Ruby 3、Pattern matching、Ractor 及後期方向;使用時標記為訪談觀點。

[R9] Ruby Core repository and official contributor history.
— CRuby 多作者實作、Core team 及語言/實作分離。


附錄 C PLDST 標記

[T-I] Individual-language search phase
[T-C] Ruby core formation phase
[T-J] Japanese community incubation phase
[T-G] Global/Rails expansion phase
[T-B] Compatibility/performance rebalance phase
[T-3] Ruby 3 sustainability phase

[S-H] Programmer happiness
[S-N] Naturalness
[S-A] Harmony over orthogonality
[S-D] Dynamic object model
[S-M] Metaprogramming/DSL
[S-T] Trust-centered governance


---

# 附錄 D 第二輪史實與歸因校對紀錄

## D.1 Ruby 起源日期與原始需求

第二輪重新核對 Ruby 官方 FAQ:

- Ruby 的命名與最初討論日期被記為 1993 年 2 月 24 日;
- Matz 當時討論的是 Object-oriented scripting language;
- 他熟悉 Perl 4 和 Python;
- 對 Perl 的感受及對當時 Python 物件模型的評價,是 Matz 的歷史主觀判斷,不應被改寫為對兩門語言的普遍客觀結論;
- 第一個公開 Ruby 版本於 1995 年發布。

本文因此把 1993 視為問題及語言形成起點,把 1995 視為公共發布起點。

---

## D.2 影響來源與「自然、不簡單」

第二輪核對 Ruby 官方 About 頁:

- 官方列出 Perl、Smalltalk、Eiffel、Ada 和 Lisp 等影響;
- Ruby 被描述為 Careful balance;
- Matz 的公開說法是追求 Natural,而非 Simple;
- Ruby 表面簡單,但內部可以非常複雜。

本文因此不將 Ruby 分類成極小核心語言,而是分類成「以實作與語義複雜度換取表面自然」的設計。

---

## D.3 幸福、和諧與最小驚訝

第二輪重新核對 2003 年 Artima 第一手訪談:

- Matz 明確區分語言「能做什麼」與「使用時如何感受」;
- 他把 Ruby 的主要差異放在人使用時的感覺;
- Programmer happiness 的目標包括減少工作阻力,讓人專注問題;
- 他說 Consistency 和 Orthogonality 是設計工具,而非最高目標;
- 完全正交的功能組合可能造成認知複雜爆炸;
- 他明確指出 Principle of Least Surprise 常被誤解,接近「least my surprise」。

因此本文沒有把最小驚訝寫成對所有初學者背景的普遍承諾。

---

## D.4 Ruby 的設計權

Feature #7549 中「Ruby is matz'」等論述來自 Ruby 核心參與者對當時實際治理的描述,內容包括:

- Matz 對名為 Ruby 的設計和實作方向保有最終覆寫權;
- 社群可以說服 Matz 或 Fork;
- Ruby 可以為理想方向經過過渡期破壞相容。

它不是經社群投票通過的正式憲法,也不表示 Matz 會忽略:

- Developer meeting;
- 實作可行性;
- Core team;
- 生態回饋;
- 相容成本。

本文因此把 Ruby 治理描述為「信任型創始者最終裁決」,而非無程序私人所有。

---

## D.5 Keyword argument 遷移

第二輪核對 Feature #16891 與相關 Ruby 2.7/3.0 討論:

- Positional Hash 與 Keyword argument 分離造成真實 Rails/Library 遷移壓力;
- 基於生態回饋,Matz 決定延後完整分離的一部分;
- 提案者仍主張逐步警告和最終語義一致;
- Issue 最終狀態為 Rejected,表示特定恢復方案沒有被整體採用,而非所有相容考量被忽略。

本文把此案例用作「語言一致性與生態疼痛之間調節」,不把它寫成永久撤回 Keyword 分離。

---

## D.6 Ruby 3x3 的證據邊界

Ruby 3.0 官方 Release Note 明確記錄:

- 目標為 Performance、Concurrency、Typing;
- Optcarrot 特定單執行緒 Benchmark 達到相對 Ruby 2.0 的三倍;
- 官方同時警告不同環境或 Benchmark 未必三倍;
- Ractor 在 Ruby 3.0 被標示為 Experimental;
- RBS 和 TypeProf 是 Static-analysis 工具,不把 Ruby Runtime 改成強制靜態型別。

本文因此沒有把 Ruby 3 寫成所有工作負載三倍或完整靜態型別語言。

---

## D.7 2026 年 Ruby 4 現況

截至 2026 年 7 月 30 日,Ruby 官方資料顯示:

- Ruby 4.0.0 於 2025 年 12 月 25 日發布;
- 當前穩定版本為 Ruby 4.0.6,於 2026 年 7 月 14 日發布;
- Ruby 4.0 引入 Ruby Box、ZJIT 及多項改進;
- Ruby 4.0 採定期維護版本發布;
- Ractor 在 Ruby 4.0.5 及 Ruby 4.1 開發版中仍輸出 Experimental 警告,API 仍可能變更。

因此本文已把最後相位由「Ruby 3」更新成「Ruby 3/4 與後期制度」,並把 Ractor 定位為持續實驗,不宣稱已穩定完成。

---

## D.8 Ruby 4 並非語言哲學斷裂

Ruby 版本號不採嚴格 Semantic Versioning 意義;Major number 改變不自動等於全面破壞相容或治理模式改變。

本文將 Ruby 4 視為:

- Ruby 3 性能、並行、型別工具方向的延續;
- VM、JIT、隔離和實作多團隊化的加深;
- 不是 Matz 人本哲學被另一套機器優先哲學取代。

---

## D.9 生態歸因

Rails、RSpec、RubyGems、Bundler、YARV、YJIT、ZJIT、RBS 和其他工具都有獨立作者與團隊。

Matz 的可直接歸因主要是:

- 語言核心方向;
- 最終功能品味;
- 宏觀目標;
- 對社群及實作者的協調。

本文沒有把 Ruby 生態的全部生產力或性能工作歸入 Matz 個人。

---

## D.10 PLDST 推論邊界

下列名稱是本文分析原型,不是 Matz 自稱的正式學派:

```text
程式設計者感受導向設計者
語言自然性調音者
和諧高於正交的功能裁決者
信任型創始者治理者

「幸福成本函數」是本文的分析模型,不是 Matz 提出的可量化心理學公式。