a cross that is sitting in the water

If you’ve looked at a modern C++ specification lately, you might have felt a slight sense of vertigo. With every new standard—C++11, 14, 17, 20, and beyond—the language grows more complex, adding layers of abstraction that can make even veteran developers scratch their heads. But in the corners of the game dev and high-performance systems world, a resistance is forming. They call it Orthodox C++.

Stripping Back the Bloat

Orthodox C++ (sometimes referred to as C+) isn’t a new language or a fork; it’s a restrictive philosophy. The core idea is to use a minimal subset of C++ that improves upon C without falling into the "complexity trap" of modern features. Proponents like Branimir Karadžić argue that by avoiding things like exceptions, RTTI (Run-Time Type Information), and heavy template metaprogramming, developers can regain control over their codebases.

The goal is simple: keep the code readable, keep the compile times lightning-fast, and ensure that the programmer—not the compiler—is the one making the performance decisions. For many in this camp, the Standard Template Library (STL) is often viewed with suspicion due to its hidden allocations and unpredictable performance costs.

Data Over Dogma

This movement isn't just about being a contrarian; it’s deeply rooted in performance. Orthodox C++ often goes hand-in-hand with Data-Oriented Design (DOD). While modern C++ encourages complex object hierarchies and "clean" abstractions, the Orthodox approach prioritizes how data actually sits in memory. By sticking to a C-like subset, it becomes much easier to reason about cache hits, memory alignment, and CPU pipeline efficiency.

It is important to distinguish this philosophy from the "Orthodox Canonical Class Form" (OCCF). While OCCF is a specific technical pattern for class design (ensuring copy constructors and assignment operators are handled correctly), Orthodox C++ is a broader cultural shift toward minimalism. It’s about choosing to ignore the newest features of C++23 in favor of a stable, predictable foundation.

A Niche or a Necessity?

Whether Orthodox C++ is a "silent majority" or a vocal minority remains up for debate. However, as software systems become increasingly bloated, the appeal of a "back to basics" approach is undeniable. For those working on game engines or embedded systems where every byte and cycle counts, going Orthodox might just be the most modern move they can make.

Sources

Media