Goose: lenguaje de sistemas seguro en memoria sin recolector de basura

Fuentes: Goose: A memory-safe systems language without garbage collection

Goose es un lenguaje de programación de sistemas diseñado para ofrecer seguridad en memoria sin utilizar un recolector de basura, un asignador de memoria dinámico ni anotaciones de vida. Su arquitectura elimina la necesidad de gestión manual de la memoria, permitiendo que los valores dinámicos vivan en pilas de datos gestionadas por el compilador. Este enfoque resulta en un rendimiento superior a C++ y Rust en benchmarks, con velocidades entre 1,16 y 3,3 veces más rápidas y un uso de memoria un 1,9 veces menor, gracias a una estructura de datos optimizada que evita las sobrecargas típicas de las lenguajes de alto rendimiento.

El modelo de memoria de Goose se basa en pilas de datos con punteros de crecimiento, lo que garantiza que las referencias permanezcan válidas durante el crecimiento de las estructuras. A diferencia de C++ o Rust, Goose no requiere anotaciones de vida ni reglas de exclusión, ya que el compilador infiere automáticamente la raíz de cada referencia. Además, el lenguaje soporta tipos de datos algebraicos (ADT) con dos modos de almacenamiento: uno fijo para indexación y otro variable para ahorrar memoria, reduciendo el consumo en un 40% frente a Rust. Goose compila a un único archivo C, lo que permite ejecutarlo en cualquier entorno con un compilador C estándar, y ofrece soporte para funciones de orden superior sin sobrecarga. Esta herramienta está dirigida a desarrolladores que buscan la eficiencia de C++ con la seguridad de Rust, eliminando la complejidad de la gestión de memoria dinámica.