譚浩強《C程序設計》累計發行超過 1000 萬冊,堪稱國內計算機教材的「國民級」著作。然而網路上卻充斥著「錯漏百出」、「害人無數」、「作者不懂程式設計」等激烈批評。這種巨大的認知落差,究竟源於何處?
| 時間節點 | 譚浩強狀態 | C 語言/業界發展 |
|---|---|---|
| 1934 年 | 出生 | — |
| 1958 年 | 清華自動控制系畢業(24歲) | C 語言尚未誕生,大型機時代 |
| 1972 年 | 38 歲 | Dennis Ritchie 推出 C 語言第一版 |
| 1989 年 | 55 歲(接近退休) | C89 標準完成,WWW 協議剛誕生 |
| 1999 年 | 65 歲 | C99 標準發布,編譯器支援有限 |
| 2000 年 | 66 歲 | 《C程序設計》出版 |
關鍵洞見:當譚老師著書時,C99 標準剛問世、互聯網極不普及、資訊獲取極度困難。在當時條件下完成這本教材,本身就是巨大工程。
// 註釋、stdint.h、可變長度陣列等)gets()、fflush(stdin) 等危險用法長期未修正「脫離時代背景談一個時代產物,所得到的評價和結論並不准確。假設時光倒退 20 年,回到那個沒有網絡、連外文技術書影印版都沒有的年代……得到的答案可能更加真實。」—— 知乎網友牟旭東
正如牛頓物理學不會因相對論誕生而被否定,畢達哥拉斯否定無理數不影響其數學地位。譚老書的「過時」是軟體產業飛速發展的必然結果,而非個人能力缺陷。
| 階段 | 推薦資源 | 核心價值 |
|---|---|---|
| 入門 | C Primer Plus、C語言程式設計:現代方法 | 現代標準、良好習慣、豐富範例 |
| 進階 | C專家編程、C陷阱與缺陷 | 深度理解記憶體、指標、預處理器 |
| 工程 | Linux C程式設計一站式學習、開源專案原始碼 | 系統程式設計、工具鏈、協作流程 |