本文以幽默諷刺筆觸,梳理 1972-2002 年 C 家族語言演變關鍵節點:B→C、緩衝區溢出、C++ 面向對象濫用、跨平台神話破滅、Java 營銷狂歡、C# 後發制人。雖屬調侃,實則折射出語言設計權衡、行業營銷泡沫與工程師認知演進的真實縮影。
| 年份 | 事件 | 核心諷刺點 |
|---|---|---|
| 1972 | B 語言誕生 → Dennis Ritchie 接手改造為 C | 「變得難理解、難維護、只能做系統編程、設計指針系統保證程序超 500 行」 |
| 1982 | 97% C 程序出現緩衝區溢出 | 「強制初始化變量的明智決定,無法影響已寫成的 97% 代碼,結果什麼也沒發生」 |
| 1984 | 錯誤指針問題劇增 | 指針帶來的自由與災難並存 |
| 1985 | "C With Classes" 商業化 → 改名 C++ | 「名字太清楚易懂了,必須改成 C++」 |
| 1986 | C 語言成最流行語言,分析師宣稱跨平台 | 「分析師可能因迷幻劑導致大腦被蠱惑」 |
| 1988 | 幻覺破滅:C 開發業務應用增時 5 倍、不可移植 | 分析師轉推 C++:「面向對象、代碼易重用」 |
| 1990 | 所有 C 編譯器變 C++ 編譯器,但多數不用 OO 特性 | 「浮腫代碼結構 + OS 指針,被 OO 編譯器編譯」 |
| 1990 | Sun 創 Oak 語言 (機頂盒) → 借鑒 C/C++、去指針 | 「程序員 DNA 裡有 C 基因」 |
| 1994 | Oak 改名 Java,注入 Internet 基因 | 「3% 業內人士開始明白什麼是 Internet」 |
| 1995 | Sun 贈分析師「免費蘑菇迷魂湯」 | 「Java 是未來可移植高度集成語言」 |
| 1996 中 | 1700 萬篇吹捧 Java 文章,Applet 進入 Web | 營銷機器全速運轉 |
| 1996 末 | 程序員因 Applet 挫折集體自殺,分析師加大劑量 | Applet 性能/體驗災難 |
| 1997 | Corel 用 Java 重寫 WordPerfect | 「迄今比打字機還慢的字處理軟件」 |
| 1998 | Sun 推 Servlet,抄襲 MTS 並自稱創造 | 服務端轉型 |
| 1999 | J2EE 發布,2100 萬文章,實際無人用 | 「太不成熟、太貴」 |
| 2000 | .NET 發布,含 C#,功能覆蓋 J2EE 且免費 | 「C-pound 繼承家族愚蠢命名傳統」 |
| 2001 | 微軟發現市場叫 C# 為 "C sharp" | 市場部與工程師認知脫節 |
| 2002 | C# 成 .NET 一部分,C++ 開發者歡呼托管代碼 | 「終於得到 1991 VB、1995 Java 就有的自動內存管理」 |
「工欲善其事,必先利其器。」—— 了解歷史,是為了不在當下重蹈覆轍。