This is my favourite statement from a talk Rob Pike gave in 2001 . Despite its age, despite many flaws, C is still the de facto standard, the lingua franca. Why? As with other older languages, inertia is partly to blame, but this cannot be the only reason. C must possess a near-perfect balance of vital language features.

I can roughly envision the assembly generated by a C statement, so I can make educated guesses about time and space efficiency.

Not only is C easy for humans to understand, but machines too pick up the language quickly. C compilers can be developed rapidly: my favourite example is this International Obfuscated C Contest entry . Perhaps no other language is so ubiquitous. I have seldom worked with a platform without a C compiler.

The canonical reference, Kernighan and Ritchie’s "The C Programming Language" is slim, yet contains much more than the language specification. There are only a few elementary concepts to introduce. Most of the text demonstrates the power of these concepts.

Brevity

Brevity is the soul of wit. We automatically clip, shorten, abbreviate and decapitate lengthy expressions. We enjoy doing so.

In my Eiffel days, I was encouraged to write "integer", not "int", "character", not "char", and so on. I believe Java encourages this practice too. Supposedly clarity is maximized. But how can this be if we do the opposite when we speak? Do you say “taxi cab”, or “taximeter cabriolet”? Redundant utterances are tiresome and worse still, obscure the idea being expressed.