Петер Аммон (Peter Ammon), лидер команды разработчиков интерактивной командной оболочки Fish, опубликовал план перевода разработки проекта на язык Rust. Оболочку планируют не переписать с нуля, а постепенно, модуль за модулем, переводить с C++ на язык Rust. По мнению разработчиков Fish применение Rust позволит решить проблемы с многопоточностью, получить более современный и качественно выявляющий ошибки инструментарий, повысить безопасность работы с памятью и избавиться от ошибок, таких как обращение к памяти после её освобождения, при обработке строк, для которых в Fish используется тип wchar_t.
Отмечается, что инструментарий для языка C++ рассматривается разработчиками как устаревающий, и есть опасения, что при продолжении использования C++ в дальнейшем будут усиливаться трудности с поиском новых участников проекта. Язык Rust рассматривается как более перспективный и активно развивающийся язык с активным и растущим сообществом, который уже знаком текущим разработчикам Fish и способен решить имеющиеся у проекта проблемы.
В переходный период сосуществование кода на С++ и Rust будет обеспечиваться при помощи привязок FFI (Foreign Function Interface). В конечном счёте в следующем значительном выпуске планируют полностью перевести проект на язык Rust.
// cc-by opennet.ru
// converted with crypt’s opennet autoreposter
>>> Подробности