Blog 2 Min. Lesezeit

Orthodoxe C++-Fans: Sind sie eine Minderheit oder eine schweigende Mehrheit?

Diesen Artikel teilen
Orthodox C++ Fans: Are They a Minority or a Silent Majority?

Blogger, Influencer und das C++-Standardisierungskomitee setzen sich aktiv für den Einsatz von Modern C++ ein. In Artikeln, Tutorials und sozialen Medien stellen Blogger und Influencer die Vorteile und innovativen Funktionen der neuesten C++-Standards heraus, um die Entwicklergemeinschaft zu informieren und zu inspirieren. Gemeinsam möchten sie Entwickler dazu bewegen, Modern C++ einzusetzen und dessen fortschrittliche Möglichkeiten zu nutzen, um effizienteren, wartbareren und robusteren Code zu schreiben.

Allerdings befürworten aus unterschiedlichen Gründen nicht alle C++-Entwickler die Einführung von Modern C++. Daraus entstand der Ansatz „Orthodox C++“, der dafür plädiert, nur eine minimale Teilmenge von C++ zu verwenden.

Orthodox C++, wie es von seinenAnhängern

Orthodox C++ (manchmal auch alsC+) ist eine minimale Teilmenge von C++, die C verbessert, dabei aber alles vermeidet, was aus Sicht dieses Ansatzes im sogenannten Modern C++ unnötig ist. Damit stellt sie praktisch das genaue Gegenteil dessen dar, wofür Modern C++ steht.

Zusammengefasst orientieren sich Anhänger von Orthodox C++ an dem C++, das Bjarne Stroustrup vor 40 Jahren vorgestellt hat:

https://www.youtube.com/embed/69edOm889V4

Hier einige Projekte, die den Orthodox-C++-Ansatz veranschaulichen:

Bevorzugte Regeln von Orthodox C++:

  • C-ähnliches C++ ist ein guter Ausgangspunkt. Wenn der Code keine zusätzliche Komplexität erfordert, sollte man keine unnötige C++-Komplexität hinzufügen. Grundsätzlich sollte der Code für jeden lesbar sein, der mit der Sprache C vertraut ist.
  • Vermeiden Siethis, denn bei Orthodox C++ sollte die „Designbegründung“ unmittelbar nach „Quite simple, and it is usable.EOF“ enden.
  • Verwenden Sie keineExceptions.
  • Verwenden Sie kein RTTI.
  • Verwenden Sie für C-Runtime-Includes keine C++-Runtime-Wrapper (<cstdio><cmath>, usw.); verwenden Sie stattdessen die C-Runtime (<stdio.h><math.h>, usw.).
  • Verwenden Sie keine Streams (<iostream><stringstream>, usw.); verwenden Sie stattdessen Funktionen im printf-Stil.
  • Verwenden Sie keine Komponenten der STL, die Speicher allokieren.
  • Setzen Sie Metaprogrammierung nicht exzessiv als akademischen Selbstzweck ein. Verwenden Sie sie maßvoll, nur wenn sie erforderlich ist und die Komplexität des Codes tatsächlich reduziert.

Wie wir sehen, plädieren Befürworter von Orthodox C++ für eine minimale Teilmenge von C++. Online-Ressourcen lassen jedoch vermuten, dass sie eine Minderheit darstellen. Tatsächlich unterstützt die Mehrheit den Einsatz von Modern C++. Mit Blick auf die gesamte C++-Entwicklergemeinschaft bleibt dennoch die Frage: Nutzen die meisten Entwickler moderne C++-Features aktiv, oder verlassen sie sich hauptsächlich auf grundlegende C++-Konzepte?

Eine präzise Antwort darauf gibt es nicht. Klar ist jedoch, dass viele Projekte aufgrund ihrer Legacy-Codebasen weiterhin dem Orthodox-C++-Ansatz folgen. Das erschwert Entwicklern häufig den Umstieg auf Modern C++ und führt dazu, dass grundlegende C++-Konzepte weiterhin im Vordergrund stehen.

Diesen Artikel teilen