Los últimos reportes de salarios en programación comprueban la popularidad que tiene C++, al menos en los que a buscar nuevos talentos especializados respecta. Sin embargo, durante una conferencia en CPP North (un evento que se celebra en Canadá para reunir a especialistas en C++) Chandler Carruth, un ingeniero de Google, presentó Carbon: un sucesor experimental de C++.
¿Qué es Carbon?
Carbon es un nuevo lenguaje de programación que está siendo desarrollado principalmente por personas dentro de Google, pero es que es esencia un proyecto de código libre y que de hecho se encuentra en GitHub, así como con una comunidad activa en Discord. Tampoco sería la primera vez que Google es responsable de desarrollar un lenguaje (Go es el mejor ejemplo de un proyecto de Google que se convirtió en una herramienta extremadamente popular).
¿En qué se diferencia Carbon de C++?
La principal tarea que tiene Carbon es el poder crear ‘software de desempeño crítico’, pero más importante su objetivo es que sea completamente operativo con lenguaje y código en C++ existente. Esto es porque el objetivo final de C++ es que este lenguaje sirva como una alternativa ante el envejecimiento de C++ de manera que los desarrolladores puedan migrar aquí si así lo desean.
Además de esto, estos son algunos otros elementos que se destacaron de Carbon:
– Palabras clave de introducción y una gramática simple
– Los parámetros de entrada de la función son valores de solo lectura
– Usar expresiones para nombrar tipos
– Importar API a través de su nombre de paquete
– herencia única; las clases son finales por defecto
– Genéricos potentes y de definición comprobada
¿Pero no que Rust era el nuevo C++?
Sí, pero no. Aunque muchos aseguran que Rust era el siguiente paso de C++ tiene un problema enorme: es muy complicada la migración. A diferencia de lo que ocurre con Java y Kotlin, convertir proyectos de C++ a Rust no es un lenguaje que tenga una operatividad bi direccional. Cosa que Carbon sí (en teoría).
Significa que Carbon es perfecto
Para nada. De hecho, muchos han apuntado a que tiene algunas limitaciones que pueden hacerlo una de esas herramientas que es mejor no tocar. La mayor, sin duda, es que por ahora está limitado a los estándares de Google y no usa el estilo de sintaxis de C… lo que significa que realmente no cuenta con soporte completo.
Imágenes: Captura de pantalla
“alternativa ante el envejecimiento de C++ …”
¿Se puede afirmar esto con un nuevo estándar cada 3 años? En mi opinión, no.
Su sintaxis me acuerda más a Go que a C++. Es posible que sea un lenguaje para corregir todos los defectos de Go, que son bien incómodos. Por otro lado, Rust me parece jodidamente complicado.