Carbon , el último lenguaje de programación creado en Google, se presentó hoy como sucesor experimental de C++. A lo largo de los años, Google ha creado algunos lenguajes de programación, algunos de los cuales se han vuelto más populares y destacados que otros. Por ejemplo, Golang (o simplemente Go) se creó con el propósito de mejorar el desarrollo de servidores y sistemas distribuidos y desde entonces ha sido adoptado por el público. Mientras tanto, el lenguaje de programación Dart, originalmente pensado como una alternativa a JavaScript, no alcanzó la popularidad general hasta el lanzamiento de Flutter.
Hoy, en la convención Cpp North en Toronto, tal como lo compartió Conor Hoekstra , quien asistió y documentó las diapositivas, Googler Chandler Carruth compartió la visión de un nuevo lenguaje de programación llamado Carbon. Para preparar el escenario, Carruth mostró cuántos de los lenguajes de programación más populares de la actualidad tienen sucesores que permiten a los desarrolladores ser rápidamente productivos y también aprovechar el diseño de lenguaje moderno.
Los desarrolladores de Android saben muy bien que Kotlin sirve como sucesor de Java, al igual que los desarrolladores de iOS saben que Swift es el sucesor de Objective-C. TypeScript, de Microsoft, ha mejorado completamente JavaScript, sin dejar de ser cómodo de usar y capaz de "transpilarse" de nuevo a JavaScript. C ++, que ve una cantidad significativa de uso dentro de Google, es de manera similar una especie de sucesor del lenguaje de programación C original.
Si bien algunos pueden sugerir que Rust, originalmente un proyecto de Mozilla que desde entonces ha crecido hasta tener un seguimiento público significativo, es un sucesor de C ++, Carruth se pregunta si la analogía aún se mantiene. Si bien Rust es sin duda un gran lenguaje para comenzar un nuevo proyecto, no tiene la misma "interoperabilidad bidireccional" de algo como Java y Kotlin, lo que dificulta la migración constante.
Con ese fin, mientras que Carbon tiene muchos de los mismos objetivos que Rust, como ayudar a los desarrolladores a crear "software crítico para el rendimiento", Carbon también pretende ser totalmente interoperable con el código C++ existente. Además, el objetivo es hacer que la migración de C++ a Carbon sea lo más fácil posible, si se desea.
En cuanto a por qué un desarrollador de C ++ puede querer considerar la introducción de Carbon en su base de código, Carruth compartió algunos aspectos destacados del lenguaje en el escenario.
- Palabras clave de introducción y una gramática simple
- Los parámetros de entrada de la función son valores de solo lectura
- Los punteros proporcionan acceso indirecto y mutación
- Usar expresiones para nombrar tipos
- El paquete es el espacio de nombres raíz.
- Importar API a través de su nombre de paquete
- El parámetro de objeto explícito declara un método
- herencia única; las clases son finales por defecto
- Genéricos potentes y de definición comprobada
- Los tipos implementan interfaces explícitamente
Más allá de las características del lenguaje en sí, el equipo de Carbon llamó la atención sobre el proceso de desarrollo que dará forma al futuro de Carbon. El código del proyecto está alojado públicamente en GitHub y está abierto para solicitudes de incorporación de cambios, mientras que la cultura de Carbon se describe como accesible e inclusiva para empleados de empresas y particulares por igual.
Dicho esto, un aspecto del lenguaje de programación Carbon que no está particularmente bien definido es la participación de Google. Si bien la presentación de hoy fue compartida por un Googler, y los líderes del proyecto actual para Carbon consisten principalmente, pero no en su totalidad, en Googlers, por lo demás, no se menciona que Carbon sea un proyecto de Google.
En realidad, esto es intencional, ya que si bien Carbon comenzó dentro de Google, el equipo entiende y ha compartido en línea que para que tenga éxito en el futuro, Carbon debe ser "un proyecto independiente e impulsado por la comunidad", no solo impulsado por los propios usos de Google. . En el mismo comentario, Carruth enfatiza además que Carbon es actualmente solo un experimento, aunque algunas empresas ya han mostrado un interés temprano.
Si está interesado en comenzar con Carbon, puede descargar el código fuente y experimentar con él en su propio dispositivo. O puede familiarizarse con el lenguaje de programación Carbon directamente en su navegador gracias a la integración con la aplicación web gratuita Compiler Explorer .
Una versión anterior de este artículo afirmaba incorrectamente que todos los clientes potenciales de Carbon son empleados de Google. Pedimos disculpas por el error.