Ein zehn Jahre alter Programmiertext sorgt auf Hacker News erneut für Diskussionen. Orthodox C++ fordert, fast alles wegzulassen, was modernes C++ ausmacht. Hinter der Provokation steckt eine Frage, die jedes Entwicklerteam kennt.
drweb.de als bevorzugte Quelle auf Google hinzufügenQualitätsgeprüfte Inhalte direkt in Google News & DiscoverJetzt hinzufügenOrthodox C++ beschreibt einen bewusst kleinen Ausschnitt der Sprache, der C verbessert, aber den Ballast von Modern C++ meidet. Branimir Karadžić, Autor der Grafikbibliothek bgfx, hat den Text bereits 2016 veröffentlicht. Auf der Startseite von Hacker News taucht er gerade wieder auf, und die alte Debatte läuft von Neuem.
Das Wichtigste in Kürze
- Orthodox C++ verzichtet auf Ausnahmen, RTTI, die C++-Streams und auf alles aus der STL, das im Hintergrund Speicher anfordert.
- Das Ziel besteht in Code, der sich leichter lesen lässt, schneller baut und auch mit älteren Compilern übersetzt.
- Prominente Projekte wie DOOM 3 BFG, Dear ImGui und bgfx selbst halten sich an diese Regeln.
- Die Mehrheit der C++-Community hält dagegen und setzt weiter auf Modern C++.
Was steckt hinter Orthodox C++?

Reduktion. Karadžić nennt seinen Ansatz scherzhaft auch C+, also C mit einem kleinen Plus. Erlaubt ist alles, was den Code lesbar hält, und C++-Mittel kommen nur dort dazu, wo sie die Komplexität tatsächlich senken. Andere Entwickler sollen den Quelltext ohne Spezialwissen über die neuesten Sprachstandards verstehen.
Warum lehnen die Befürworter moderne Features ab?

Laufzeitkosten. Ausnahmen gelten als das einzige C++-Feature, das selbst dann Kosten verursacht, wenn niemand es nutzt. Der Compiler muss bei jedem Objekt versteckten Code für mögliche Fehlerfälle vorhalten und kann weniger aggressiv optimieren. RTTI und die Streams aus iostream stehen aus ähnlichen Gründen auf der Streichliste.
Speicherkontrolle. Container aus der Standardbibliothek fordern im Hintergrund Speicher an, oft an Stellen, die im Quelltext nicht sichtbar sind. Viele Studios aus der Spieleentwicklung schreiben deshalb eigene Datenstrukturen, die jede Anforderung offenlegen. Der Preis dafür ist mehr Eigencode, der Gewinn liegt in vorhersagbarer Leistung.
Die Diskussion dreht sich nie um C++ allein. Jedes Team fragt sich irgendwann, ob es die nächste Abstraktion wirklich braucht oder nur mitschleppt.
— Markus Seyfferth, Chefredakteur Dr. Web
Was bedeutet das für Webentwickler?

Dieselbe Grundfrage. Im Frontend taucht der Streit in anderer Form auf. Ein Framework wie React verspricht Struktur, bringt aber Build-Schritte, Abhängigkeiten und längere Ladezeiten mit. Für eine schlanke Seite reicht oft sauberes HTML mit etwas CSS und wenig JavaScript, wie unsere Checkliste vor dem Go-live zeigt.
Bewusst entscheiden. Orthodox C++ liefert kein Patentrezept, sondern eine Haltung. Prüfen Sie bei jeder Bibliothek, ob sie ein konkretes Problem löst oder nur Gewohnheit ist. Genau diese Disziplin trennt wartbaren Code von einem Projekt, das unter seinen eigenen Abhängigkeiten ächzt. Den vollständigen Originaltext stellt Karadžić frei auf seiner Projektseite bereit.