C++: El documental
Recepción del documental
- Muchos comentaristas encontraron la película atractiva, bien ritmada y agradable, con elogios para la lista de contribuyentes.
- Algunos señalaron que se siente más como una celebración que como un examen crítico; las críticas a C++ aparecen solo brevemente cerca del final.
- A los espectadores les gustan documentales similares sobre lenguajes (Python, Clojure, Erlang) y ven esto como parte de una tendencia más amplia de la serie.
Reclamos sobre la popularidad y el crecimiento de C++
- El citado “+90% de usuarios en 3,5 años” de una encuesta despertó escepticismo sobre la metodología y las encuestas de proveedores en general.
- Se propusieron explicaciones: cargas de trabajo de IA/ML (C++ bajo la capa de Python), necesidades de rendimiento por vatio y la enorme base de código existente de C++ y los datos de entrenamiento para LLMs.
- Algunos siguen sin estar convencidos de que la IA explique específicamente el crecimiento.
Complejidad, estándares y uso cotidiano
- Varios describen C++ como agotador de mantener: muchos estándares (98, 11, 14, 20, 23), funciones superpuestas e idioms radicalmente distintos entre bases de código.
- Otros sostienen que solo necesitas un subconjunto; los equipos definen sus propios “dialectos”, y con práctica C++ se vuelve natural.
- Existe la preocupación de que el lenguaje siga acumulando funciones sin retirar las antiguas, aumentando la carga cognitiva.
Biblioteca estándar y ecosistema
- Hay un fuerte desacuerdo sobre la STL/biblioteca estándar:
- Un bando la ve como bien diseñada, robusta y más segura que reimplementaciones ad hoc.
- Otro critica el rendimiento (por ejemplo,
regex,unordered_map), las restricciones de ABI, la falta de deprecación y el aumento del tiempo de compilación; los desarrolladores de juegos y audio a menudo la evitan o usan contenedores personalizados.
- La gestión de paquetes y las herramientas se ven como fragmentadas; algunos consideran esto un inconveniente, otros una característica que desincentiva la proliferación de dependencias.
Comparaciones con otros lenguajes
- Rust se cita con frecuencia como un lenguaje que captura “lo que funcionaba” de C++ con un mejor “pozo de éxito”, aunque algunos señalan que Rust puede forzar diseños menos intuitivos para estructuras de bajo nivel.
- C se prefiere en contextos embebidos certificados por seguridad debido a un razonamiento más simple; otros argumentan que los lenguajes modernos con seguridad de memoria serían mejores a largo plazo, pero aún no están certificados.
- Algunos encuentran C++ elegante y potente para quienes disfrutan de modelos mentales precisos de bajo nivel; otros lo ven como una acumulación incoherente de décadas de ideas.
Seguridad y perspectiva futura
- Una minoría argumenta que C++ “debe desaparecer” para proyectos nuevos dada la falta de seguridad de memoria por defecto y las herramientas de explotación cada vez más capaces.
- Otros responden que C++ sigue siendo insuperable para ciertos nichos de rendimiento y sistemas, incluso si otros lenguajes más nuevos son preferibles cuando es posible.