Como todos saben, el lenguaje de programación C++ es, sin duda, el más extenso de los lenguajes de programación. Incluso los programadores que han trabajado con él durante décadas no pueden jactarse de conocerlo completamente. Debido a esto, el comité de estandarización de C++ tomó la difícil decisión de que, para que el lenguaje siga siendo competitivo frente a los nuevos lenguajes de programación como Rust, es necesario eliminar todas las características legacy que fueron implementadas de manera incomprensible por goblins en los años ochenta. Para esto, contarán con la ayuda de desarrolladores de Gnome, bien conocidos en este foro, que en su momento eliminaron todas las características innecesarias de su entorno de escritorio, dejándolo sin competencia. Ellos eliminarán todas las características hasta que se deshagan de todos los 'pluses' y lleguen hasta C, del cual C++ se originó, aunque no se detendrán allí, dejarán del lenguaje solo el C mínimo.
En particular:
- los templates serán eliminados y reemplazados por tipado dinámico opcional (la caída en el rendimiento no será significativa para las computadoras modernas)
- las excepciones serán reemplazadas por códigos de error en el estilo de Go, if err != nil
- se eliminará la necesidad de sistemas de construcción, en su lugar habrá un PM al estilo de composer para PHP
- la herencia múltiple será eliminada junto con las funciones libres, ahora todo será un objeto, y todos los objetos heredarán de la clase base Object
- no se puede eliminar completamente el comportamiento indefinido debido al síndrome de Estocolmo de los desarrolladores, por lo tanto, todos los UB serán automáticamente envueltos en una prueba unitaria que se ejecutará 10 veces, y se le informará al programador qué comportamiento eligió el compilador en la mayoría de los casos
El fundador del lenguaje, Bjarn Stroustrup, ya se ha expresado escépticamente acerca de los cambios, argumentando que los desarrolladores de Gnome no utilizan ni C++ ni Gnome.
Fuente: linux.org.ru
