Goose: lenguaje de sistemas seguro en memoria y rápido

Fuentes: Goose: A memory-safe systems language faster than C++ and Rust

Goose es un lenguaje de programación de sistemas diseñado para ofrecer seguridad de memoria sin las sobrecargas típicas de los lenguajes modernos. Su arquitectura elimina el montón de memoria (heap), el recolector de basura (GC) y las anotaciones de vida, basándose en pila de datos gestionados por el compilador. Esto permite que el crecimiento de memoria sea una simple operación de puntero y que la liberación de memoria sea instantánea al salir del alcance, sin destructores ni conteo de referencias.

En términos de rendimiento, Goose supera a C++ y Rust seguros en benchmarks, logrando una velocidad de 3.3 veces superior a C++ idiomatico y 1.16 veces a Rust seguro, mientras consume 1.9 veces menos memoria. La eficiencia estructural se debe a que Goose permite referencias tipadas que permanecen válidas sin mover datos, a diferencia de los índices de Rust o la reserva de memoria en C++. Además, el lenguaje compila a un único archivo C, lo que garantiza compatibilidad con cualquier compilador C y permite llamadas directas a funciones C mediante extern fn.

Goose incluye una biblioteca estándar que soporta genéricos y funciones de orden superior sin sobrecarga, y un sistema de hilos donde cada hilo es un programa separado con memoria aislada, eliminando las condiciones de carrera y los bloqueos. El diseño prioriza la localidad de datos, permitiendo que estructuras complejas como libros de órdenes ocupen menos de 30 bytes en lugar de 160, optimizando el uso de la caché. La especificación técnica y los ejemplos disponibles en el repositorio detallan cómo el compilador infiere la vida de las referencias y cómo se gestionan los errores de forma segura y sin bucle de desensamblado.