Stroustrup’s Rule and Layering Over Time
Dave Herman (via Ehud Lamm):
One of my favorite insights about syntax design appeared in a retrospective on C++ by Bjarne Stroustrup:
- For new features, people insist on loud explicit syntax.
- For established features, people want terse notation.
I call this Stroustrup’s Rule. Part of what I love about his observation is that it acknowledges that design takes place over time, and that the audience it addresses evolves. Software is for people and people grow.
Stroustrup's Design and Evolution of C++, while a bit dated, is a great book on language design. It's also one of the funniest technical books around. (in stark contrast to the extremely dry C++ language reference)
An excerpt I have in my quotes file:
"Tom [Cargil]'s suggestion with a further idea: Proposers of new [C++] features should be required to donate a kidney. That would - Jim [Waldo] pointed out - make people think hard before proposing, and even people without any sense would propose at most two extensions." -- Bjarne Stroustrup