Lanzamiento de Rust 1.78. El lenguaje Borgo, que combina las fortalezas de Go y Rust

Se ha publicado la versión del lenguaje de programación de propósito general Rust 1.78, desarrollado originalmente por Mozilla, pero actualmente bajo el patrocinio de la organización sin fines de lucro Rust Foundation. El lenguaje se centra en el manejo seguro de la memoria y proporciona herramientas para lograr un alto paralelismo en la ejecución de tareas, sin necesidad de un recolector de basura y con un runtime reducido a la inicialización básica y el soporte de la biblioteca estándar.

Los métodos de manejo de memoria en Rust eliminan los errores del desarrollador al manipular punteros y protegen contra problemas que surgen del trabajo de bajo nivel con la memoria, como el acceso a áreas de memoria después de su liberación, desreferenciación de punteros nulos, desbordamientos de búfer, etc. Para la distribución de bibliotecas, la gestión de dependencias y la construcción de proyectos, se está desarrollando el administrador de paquetes Cargo. Para alojar bibliotecas, se soporta el repositorio crates.io.

La seguridad en el manejo de la memoria se garantiza en Rust en tiempo de compilación a través de la verificación de referencias, el seguimiento de la propiedad de los objetos, la gestión de tiempos de vida de objetos (ámbitos) y la evaluación de la corrección del acceso a la memoria durante la ejecución del código. Rust también ofrece herramientas para protegerse contra desbordamientos enteros, requiere la inicialización obligatoria de los valores de las variables antes de su uso, maneja mejor los errores en la biblioteca estándar, aplica el concepto de inmutabilidad de referencias y variables por defecto, y ofrece una fuerte tipificación estática para minimizar errores lógicos.

Novedades principales:

También se puede mencionar el lenguaje de programación Borgo, que intenta ser más expresivo que el lenguaje Go, pero menos complicado que el lenguaje Rust. Borgo combina las mejores características de Go y Rust, compensando las debilidades de cada uno de los lenguajes. Por ejemplo, el lenguaje Go es simple y claro, pero no proporciona herramientas avanzadas para garantizar la seguridad al trabajar con tipos. El lenguaje Rust ofrece herramientas para programación segura, pero es demasiado complejo. El proyecto es desarrollado por Marco Sampellegrini, autor del libro «The Simple Haskell Handbook» y desarrollador del sistema de integración continua Quad CI.

Lanzamiento de Rust 1.78. El lenguaje Borgo, que combina las fortalezas de Go y Rust

En Borgo se utiliza la tipificación estática, tipos similares a los del lenguaje Go y una sintaxis parecida a Rust. La inclusión de puntos y coma al final de las líneas en el código de Borgo no es obligatoria. El código en el lenguaje Borgo se compila en una representación en el lenguaje Go, que es completamente compatible con los paquetes existentes del lenguaje Go. El código del compilador está escrito en el lenguaje Rust y se distribuye bajo la licencia ISC. use fmt enum NetworkState { Loading, Failed(int), Success(T), } struct Response { title: string, duration: int, } fn main() { let res = Response { title: "Hello world", duration: 0, } let state = NetworkState.Success(res) let msg = match state { NetworkState.Loading => "still loading", NetworkState.Failed(code) => fmt.Sprintf("Got error code: %d", code), NetworkState.Success(res) => res.title, } fmt.Println(msg) }

Fuente:
opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster