Orthodox C++

It’s been quite some time since anyone has paid me to write C++, but once upon a time they actually did. Since that time, at least watching questions on StackOverflow, “modern” C++ has seemed increasingly foreign and arcane. Excessive meta-programming, compile time evaluation, references, traits, autos, lamdas, move constructors… Seems like one has to spend more time managing the language than the problem domain.

I get C++ is a powerful language with immense utility but does it really need every possible language feature? I have always maintained that the audience for source code is other humans, not the compiler. Source code is the mechanism to describe to our colleagues (and future selves) what the software is attempting to accomplish. The fact that it is easier and safer to author than assembler or machine code is an important but secondary benefit.

I like the simplifying tenants of Orthodox C++. But then again, no one pays me to write C++ any more.