Google presentó Carbon, el que es el último lenguaje de programación creado en el seno de Google (aunque también con desarrolladores externos), y que aspira a ser el sucesor de C++, uno de los lenguajes más recurrentes por parte de los desarrolladores, sobre todo para las capas más profundas del sistema operativo Android.
Durante la convención Cpp North celebrada en Toronto, Chandler Carruth, que es el responsable técnico de los lenguajes de programación y las bases de software de Google, compartió la visión de un nuevo lenguaje de programación llamado Carbon e hizo hincapié en cómo muchos de los lenguajes de programación más populares de hoy en día tienen sucesores que permiten a los desarrolladores ser más productivos.
En el proyecto, aunque han participado desarrolladores de Google, no es exclusivo de esta empresa y busca integrar a todos los desarrolladores que tengan interés en este proyecto.
Con esta base, Carruth ha recordado que los desarrolladores de Android saben que Kotlin es el sucesor de Java, al igual que los desarrolladores de iOS saben que Swift es el sucesor de Objective-C. TypeScript, de Microsoft, ha mejorado JavaScript. C++, que se utiliza mucho en Google, es también una especie de sucesor del lenguaje de programación C original.
Aunque para muchas personas C+++ ya tendría un sucesor, que es Rust (originalmente un proyecto de Mozilla), ya que se ha ido haciendo más imprescindible en Android y muy querido entre los desarrolladores y también por Google, Carruth considera que aunque Rust es un gran lenguaje para empezar un nuevo proyecto, no tiene la misma «interoperabilidad bidireccional» de Java y Kotlin, lo que dificulta una migración constante. Según el experto, si Rust funciona, es una buena opción, pero trasladar un ecosistema C++ a Rust es difícil.
A lo largo de los años, Google ha creado diversos lenguajes de programación, algunos de los cuales se han hecho más populares como es Golang (o simplemente Go) se creó en 2009 con el propósito de centrarse en servidores y sistemas distribuidos hasta llegar a ser adoptado por el público. Por su parte, el lenguaje de programación Dart, originalmente pensado como una especie de alternativa a JavaScript para la web, no alcanzó popularidad hasta el lanzamiento de Flutter.
Características de Carbon
Aunque Carbon tiene muchos de los mismos objetivos que Rust, como ayudar a los desarrolladores a crear «software de rendimiento crítico», Carbon también pretende ser totalmente interoperable con el código C++. Además, el objetivo es hacer que la migración de C++ a Carbon sea lo más fácil posible.
Carruth compartió algunos aspectos destacados de este lenguaje de programación. Entre otros:
- Palabras clave de introducción y una gramática sencilla
- Los parámetros de entrada de las funciones son valores de sólo lectura
- Importar APIs a través de su nombre de paquete
- Los tipos implementan explícitamente las interfaces
El código del proyecto está alojado públicamente en GitHub y está abierto a solicitudes de extracción, mientras que la cultura de Carbon se perfila como accesible e inclusiva para los empleados de las empresas y también para particulares, del mismo modo.
Aunque Carbon se inició en Google, el equipo considera que para que tenga algún éxito en el futuro, Carbon necesita ser «un proyecto independiente e impulsado por la comunidad», no sólo impulsado por los propios usos de Google. Carbon es actualmente sólo un experimento. De hecho, los desarrolladores interesados pueden descargar el código fuente y experimentar con él en sus dispositivos.