C++ ortodoxo: minimalismo frente al C++ moderno

Fuentes: Orthodox C++

El C++ ortodoxo (también llamado C+) es un subconjunto minimalista del lenguaje C++ que busca mejorar C evitando las características innecesarias del denominado C++ moderno. Surge como reacción a la complejidad introducida por características como RTTI, excepciones, flujos (streams) y el uso extensivo de metaprogramación, que según sus defensores aumentan la carga cognitiva y dificultan el mantenimiento del código sin aportar beneficios reales. Propugna un estilo similar a C: usar printf en lugar de iostream, evitar las envolturas de la biblioteca estándar de C++ para las funciones de C ( en vez de ), y desconfiar de las novedades de cada estándar hasta varios años después de su publicación (por ejemplo, constexpr no fue útil hasta C++14). También rechaza los módulos por su falta de portabilidad y complejidad en la compilación. El objetivo es escribir código más legible, compilable con herramientas antiguas y aceptable para otros proyectos con preferencias similares. Incluye una guía práctica: no usar excepciones ni RTTI, limitar el STL cuando aloca memoria, y adoptar características modernas solo si el año actual es al menos cinco años posterior al estándar (C++year + 5). El repositorio original incluye enlaces a propuestas afines como Embedded C++, Nominal C++ y Sane C++.