Hay un nuevo jugador en el mundo de los lenguajes de programación y no es Superman, aunque también tiene una «C» en su emblema. Hablamos de Carbon, un lenguaje que se está gestando con el ambicioso objetivo de sustituir a C++. Detrás de esta propuesta encontramos a Google, quien ha decidido aventurarse en las aguas del código abierto para darle forma. La misión de Carbon, que suena a misión imposible, es lograr una interoperabilidad bidireccional con C++, de modo que ambos lenguajes puedan convivir en armonía. Parece más un capítulo de una serie de ciencia ficción que tecnología, pero es más real de lo que imaginamos. Esto es posible gracias al uso de LLVM, esa pequeña pieza mágica que permite que la compilación se sienta como un juego de niños.
Carbon no sigue las tendencias actuales de muchos lenguajes; aquí no hay recolección de basura automática. Sin embargo, esto tiene un buen motivo: quieren mantener el rendimiento y la compatibilidad, al más puro estilo C++. En cuanto a la sintaxis, los desarrolladores de Carbon se han inspirado en sus mayores: C++, Swift y Rust. Los tipos primitivos incluyen booleanos, enteros y flotantes. Y para añadir algo de testosterona a este asunto tecnológico, tenemos variables que se declaran con «var» y constantes con «let», como en los mejores westerns de programación.
¿Y qué hay de la programación orientada a objetos? Bueno, Carbon ha decidido no implementar métodos de constructor explícitos. Los objetos se inicializan con una sintaxis similar a estructuras; las clases son finales por defecto. Si queremos jugar a ser dioses y permitir la herencia, hay que declararlas explícitamente como base. Carbon propone una curiosa mezcla de genéricos, combinando modelos verificados y basados en plantillas, cual cóctel entre Java y C++.
El futuro de Carbon apunta a implementar temporizadores de vida, metaprogramación y manejo de errores, aunque eso está aún por decidir. En su fase experimental, podemos ir calentando motores y explorando lo que Carbon tiene para ofrecer en plataformas como Compiler Explorer. Ahora bien, la gran pregunta del millón, o mejor dicho, de los doscientos: ¿Será Carbon capaz de desplazar a C++? Las empresas no están tan dispuestas a cambiar de caballo a mitad del río, sobre todo cuando han invertido tanto en C++. Pensemos en el entorno del núcleo de Linux, un lugar donde la modernidad se lo piensa dos veces antes de cruzar la puerta.
Para gamificar nuestro nuevo conocimiento sobre Carbon, ¿por qué no emprender un reto en equipo? Podríamos organizar un hackathon donde se plantee resolver un problema de programación sencillo en C++ y luego hacer la misma implementación utilizando Carbon. Así podremos evaluar las diferencias, ventajas y desafíos de primera mano, convirtiendo el aprendizaje en un divertido evento colaborativo.
Así que, amigos del código y del café, os animamos a que echéis un vistazo a JeiJoLand. Nuestra web está diseñada para aquellos que creemos que la diversión es el mejor maestro. ¡Juego, luego aprendo!