Peter Ammon, líder del equipo de desarrolladores de la shell interactiva Fish, ha publicado un plan para trasladar el desarrollo del proyecto al lenguaje Rust. No se pretende reescribir la shell desde cero, sino traducirla gradualmente, módulo por módulo, de C++ a Rust. Según los desarrolladores de Fish, el uso de Rust permitirá resolver problemas de concurrencia, obtener un conjunto de herramientas más moderno y eficaz para la detección de errores, aumentar la seguridad en el manejo de memoria y evitar errores como el acceso a la memoria después de su liberación al procesar cadenas, para las que Fish utiliza el tipo wchar_t.
Se señala que el conjunto de herramientas para el lenguaje C++ es considerado obsoleto por los desarrolladores, y existe la preocupación de que continuar utilizando C++ dificultará aún más la búsqueda de nuevos participantes en el proyecto. El lenguaje Rust es visto como un lenguaje más prometedor y en activo desarrollo, con una comunidad activa y en crecimiento, que ya es familiar para los actuales desarrolladores de Fish y que puede abordar los problemas actuales del proyecto.
Durante el período de transición, la coexistencia de código en C++ y Rust se garantizará mediante vinculaciones FFI (Interfaz de Función Extranjera). En última instancia, se planea completar la transición del proyecto al lenguaje Rust en la próxima versión importante.
Fuente: opennet.ru
