Después de una primera versión prometedora, Meta, la empresa matriz de Facebook, lo vuelve a hacer con una segunda versión de su sistema de compilación llamado Buck2. Este último está destinado a desarrollar aplicaciones mucho más rápidamente y es utilizado por miles de desarrolladores en Meta. Estos realizan millones de acciones de construcción por día, explica la empresa.
El código se publicó el 6 de abril en GitHub o en el sitio web de Buck2. El sistema, escrito en Rust, es capaz de diseñar aplicaciones escritas en cualquier lenguaje y de forma simultánea. Por ejemplo, si los desarrolladores tienen un binario de Python que importa una biblioteca Rust que depende de una biblioteca OCaml, vinculada a un archivo C, Buck2 puede ayudarlos, señala Meta.
Varias ventajas de cambiar a Rust
Para cada lenguaje, se debe escribir una regla genérica que describa lo que significa compilar en ese lenguaje específico y cómo proporciona características estándar, como probar, ejecutar y vincular con C. Buck2 viene con reglas para ensamblador, C/C++, Erlang, Go, Haskell, Java, JavaScript, Julia, OCaml, Python y Rust. Para agregar o volver a implementar reglas de lenguaje en Buck2, los desarrolladores pueden usar el lenguaje de programación Starlark, un dialecto de Python.
Buck2 también presenta una separación entre las reglas específicas del kernel y del lenguaje, mayor paralelismo, integración de ejecución remota y sistemas de archivos virtuales, y una consola de salida renovada. El núcleo de Buck2 se escribió en Rust, mientras que las reglas del lenguaje, como cómo construir C++, se escribieron en una implementación Rust de Starlark. Separar las reglas del lenguaje del núcleo hace que las reglas sean más fáciles de modificar y comprender, dijo Meta. Un único gráfico de dependencia impulsa el sistema de compilación, eliminando muchos tipos de errores y mejorando el paralelismo, mientras que la API de reglas está diseñada para ofrecer funciones avanzadas de rendimiento. Escribir Buck2 en Rust ofrece ventajas como la ausencia de pausas en la recolección de basura, mientras que Java, que Meta utilizado para escribir Buck1, trae beneficios que incluyen mejores herramientas de creación de perfiles, dijo Meta.
Otras noticias que te pueden interesar