The First ANSI/ISO C Standard
As C evolved and became more widely used on a greater variety of systems, the C community realized it needed a more comprehensive, up-to-date, and rigorous standard. To meet this need, the American National Standards Institute (ANSI) established a committee (X3J11) in 1983 to develop a new standard, which was adopted formally in 1989. This new standard (ANSI C) defines both the language and a standard C library. The International Organization for Standardization adopted a C standard (ISO C) in 1990. ISO C and ANSI C are essentially the same standard. The final version of the ANSI/ISO standard is often referred to as C89 (because that's when ANSI approval came) or C90 (because that's when ISO approval came). Also, because the ANSI version came out first, people often used the term ANSI C.
The committee had several guiding principles. Perhaps the most interesting was this: Keep the spirit of C. The committee listed the following idea as expressing part of that spirit:
- Trust the programmer.
- Don't prevent the programmer from doing what needs to be done.
- Keep the language small and simple.
- Provide only one way to do an operation.
- Make it fast, even if it is not guaranteed to be portable.
By the last point, the committee meant that an implementation should define a particular operation in terms of what works best for the target computer instead of trying to impose an abstract, uniform definition.
以上是最近读c primer plus fifth edition里面第一章写C起源的一部分摘录,很有意思,特别是里面的关于标准化委员会制定标准的指导原则——“保持C的精神”,突然给人以一种看到高山的理想。
以下是精神几点清单:
相信程序员
不要阻止程序员做应该做的
保持语言的小巧和简单
一个操作只提供一个方法(真心说,这点我还不是很喜欢)
即使损失可移植性,也要让他更快些
也许有些和人一样,语言也要有理想,不存在十全十美的语言,如同不存在彻头彻尾的绝望,就以此文献给自己这个博客的开始。