12.34 我很吃驚, ANSI 標準竟然有那麼多沒有定義的東西。 標準的唯一任務不就是讓這些東西標準化嗎?

某些構造隨編譯器和硬件的實現而變化, 這一直是 C 語言的一個特點。 這種有意的不嚴格規定可以讓編譯器生成效率更高的代碼, 而不必讓所有 程序為了不合理的情況承擔額外的負擔。因此, 標準只是把現存的實踐 整理成文。

編程語言標準可以看作是語言使用者和編譯器實現者之間的協議。協議的 一部分是編譯器實現者同意提供, 用戶可以使用的功能。而其它部分則包 括用戶同意遵守, 編譯器實現者認為會被最受的規則。只要雙方都恪守 自己的保證, 程序就可以正確運行。如果任何一方違背它的諾言, 則結果 肯定失敗。

參見問題 11.35

參考資料: [Rationale, Sec. 1.1]。

翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)