| 標準 | 影響特性 |
|---|---|
| 可讀性 | 簡單性、正交性、數據類型、語法設計、抽象支持、表達性 |
| 可寫性 | 簡單性、正交性、數據類型、語法設計、抽象支持、表達性 |
| 可靠性 | 類型檢查、異常處理、別名限制、可讀性/可寫性相關特性 |
基本結構少、特例少 → 易學易讀。但過度簡單(如匯編)導致程序冗長、結構不清,反降可讀性。需平衡。
「少量基本結構 + 少量組合規則 = 大量合法結構」。
優點:規則少、特例少、學習成本低。
缺點:過度正交(如 ALGOL 68)導致組合爆炸、錯誤難檢測、編譯器難優化。
結論:有限度正交最佳。
提供適當的基本類型與結構類型,支持用戶定義類型,增強可讀性與可靠性(類型檢查)。
關鍵字語義清晰、結構語句明確(如 while vs do-while)、避免歧義符號。
「用簡潔非笨重的方式指定運算」。
例:C 的 count++、Ada 的 and then 短路、Java 增強 for 循環。
函數式語言(LISP)以函數調用為唯一結構,極致簡單與正交,但效率限制普及。
規範重載(如 + 做數值加法)簡化語言;濫用重載(如 + 定義為向量首元素相減)嚴重損害可讀性。
Hoare 指出:重要標準相互矛盾(如效率 vs 可讀性、簡單性 vs 功能性),協調滿足是工程核心任務。沒有完美語言,只有適合場景的語言。
作者:Attilax Akbar Al Rapanui (艾提拉/老哇的爪子)
來源:https://www.cnblogs.com/attilax/