Open Menu dzosoft
Close Menu dzosoft

   TODO SOBRE INFORMÁTICA Y TECNOLOGÍA


                             




Release your testosterone and observe the extreme increase in muscle mass.

Publish perfectly-optimized content in 1-click



 
 
 

¿Carbon reemplazará a C++?

Marzo 1, 2023

 

 
¿Carbon reemplazará a C++?
 
El proyecto Carbon explora una posible dirección futura para C++ dadas las dificultades para mejorarlo
El lenguaje de carbono es todavía experimental. La hoja de ruta indica el período 2025-2026 para el lanzamiento de la versión 0.2 que marcará el final de la experiencia. La versión 1.0 se espera para después de 2026. El esfuerzo está impulsado por los ingenieros de software de Google que dejaron de participar en la estandarización de C++ y renunciaron a sus funciones oficiales en el comité. Motivo: una votación (en el comité de estandarización) sobre el tema de romper la compatibilidad ABI a favor del rendimiento no les dio la razón. Es a partir de este malentendido que nació el proyecto Carbon, anunciado como el sucesor de C++.
Los desarrolladores de Carbon explican que, si bien C++ es el lenguaje dominante para el software de rendimiento crítico, su legado y su deuda técnica significan que su mejora incremental es una tarea muy abrumadora.
Carbon es un nuevo lenguaje que tiene como objetivo igualar el rendimiento de C++ y mantener una interoperabilidad bidireccional perfecta, así como una curva de aprendizaje suave para los desarrolladores de C++.

El equipo también promete un cierto nivel de traducción de fuente a fuente para código C++. El proyecto tiene paralelismos con TypeScript para desarrolladores de JavaScript, o Kotlin para desarrolladores de Java, aunque la comparación no es exacta. Carbon está diseñado para ser interoperable con código C++ y para facilitar la migración. La cadena de herramientas Carbon admitirá la compilación de código C++.
¿Por qué es difícil mejorar C++? Porque el lenguaje en sí comenzó como una bifurcación de C. Según el equipo de Carbon, los diseñadores de C++ agregaron características del lenguaje en lugar de reemplazarlas con el tiempo, creando interacciones complejas entre las características. Preservar la compatibilidad binaria es otro problema heredado. Además, la placa de C++ y el proceso de evolución están orientados a la estandarización y no al diseño, son lentos y, a veces, fallan en la toma de decisiones.
El lenguaje Carbon resultará familiar para los desarrolladores de C++ y C, pero también hay muchas diferencias. Las funciones se declaran con la palabra clave fn y las variables con var. También hay tuplas fuertemente tipadas. La inferencia de tipo es compatible con la palabra clave auto. Los punteros son compatibles pero no la aritmética de punteros; las únicas operaciones de puntero son el direccionamiento y la desreferenciación. Las clases admiten herencia única pero no herencia múltiple.
La seguridad de la memoria es una consideración importante, pero no es el objetivo principal. "La diferencia entre el enfoque de Rust y el de Carbon es que Rust comienza con la seguridad y Carbon comienza con la migración", se lee en la documentación. El enfoque es simplificar el lenguaje para crear espacio para las funciones de seguridad y luego rediseñar los cimientos para modelar y hacer cumplir la seguridad.

Después de 31 años, un segundo lenguaje hace su debut para el desarrollo del kernel de Linux: Rust. El soporte de Rust para el desarrollo del kernel de Linux se considera "un paso importante para poder escribir controladores en un lenguaje más seguro". Rust de Mozilla Research es el tipo de lenguaje de programación que les interesa a quienes escriben código para sistemas básicos de entrada/salida (BIOS), gestores de arranque, sistemas operativos, etc. Según observadores informados, es el futuro de la programación de sistemas en lugar de lenguajes como C o C++.

________________
 
 
Fuente: Semáforo 
Leave comment
          

Guardar apodo y correo electrónico en este navegador para la próxima vez.



Cargando...     

Publish perfectly-optimized content in 1-click