Skip to content
Tech News
← Back to articles

Orthodox C++

read original get C Programming Book → more articles
Why This Matters

Orthodox C++ advocates for a minimal, simplified subset of C++ that emphasizes code clarity and compatibility with older compilers, contrasting with the complexity of Modern C++. This approach aims to reduce unnecessary features like exceptions and RTTI, making code easier to understand and maintain, especially in large or legacy projects.

Key Takeaways

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