This article was originally published as a gist here.
What is Orthodox C++?
Orthodox C++ (sometimes referred as C+) is minimal subset of C++ that improves C, but avoids all unnecessary things from so called Modern C++. It’s exactly opposite of what Modern C++ suppose to be.
Why not Modern C++?
Back in late 1990 we were also modern-at-the-time C++ hipsters, and we used latest features. We told everyone also they should use those features too. Over time we learned it’s unnecesary to use some language features just because they are there, or features we used proved to be bad (like RTTI, exceptions, and streams), or it backfired by unnecessary code complexity. If you think this is nonsense, just wait few more years and you’ll hate Modern C++ too (“Why I don’t spend time with Modern C++ anymore” archived LinkedIn article).
Why use Orthodox C++?
“Within C++, there is a much smaller and cleaner language struggling to get out.” – Bjarne Stroustrup
Code base written with Orthodox C++ limitations will be easer to understand, simpler, and it will build with older compilers. Projects written in Orthodox C++ subset will be more acceptable by other C++ projects because subset used by Orthodox C++ is unlikely to violate adopter’s C++ subset preferences.
Hello World in Orthodox C++
#include <stdio.h> int main() { printf("hello, world
... continue reading