Tuesday, December 20, 2016

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.

1 Comment RSS · Twitter


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

Leave a Comment