yohhoyの日記

技術的メモをしていきたい日記

The Spirit of C11

C11ではANSI C Rationale以来の “Cの精神(The Spirit of C)” に対して改訂が行われ、安全性・セキュリティに関する配慮が加えられた。

JTC1/SC22/WG14 (PDF)N1250 C - The C1X Charter より引用(下線部は強調)。

6. Keep the spirit of C. The Committee kept as a major goal to preserve the traditional spirit of C. There are many facets of the spirit of C, but the essence is a community sentiment of the underlying principles upon which the C language is based. For the C1X revision there is consensus to add a new facet f to the original list of facets. The new spirit of C can be summarized in phrases like:

(a) Trust the programmer.
(b) Don't prevent the programmer from doing what needs to be done.
(c) Keep the language small and simple.
(d) Provide only one way to do an operation.
(e) Make it fast, even if it is not guaranteed to be portable.
(f) Make support for safety and security demonstrable.

At the WG14 meeting in London, England, in June 2007, the original principles and the principles that were used for C9X were reviewed, and the following observations were added:

12. Trust the programmer, as a goal, is outdated in respect to the security and safety programming communities. While it should not be totally disregarded as a facet of the spirit of C, the C1X version of the C Standard should take into account that programmers need the ability to check their work.