Релиз оболочки Fish 4.0. Полностью переписана на Rust. Все началось с шутки

Релиз оболочки Fish 4.0. - 966017123475
Вышел новый релиз командной оболочки Fish 4.0. Весь основной исходный код fish 4.0 был переписан с языка программирования C++ на Rust. Отмечается, что для пользователей данное изменение должно пройти относительно незаметно, при этом значительно изменяются зависимости и способы сборки программы.
fish 4.0
fish 4.0
Оболочка fish (friendly interactive shell) — это многофункциональная командная оболочка для Linux, BSD, MacOS и Windows (wsl, cygwin). fish не совместима с POSIX, имеет встроенную подсветку синтаксиса, широкие возможности автодополнения команд, интерактивный поиск и так далее.

Переход на Rust

Примерно два года назад один из разработчиков fish создал предложение (задачу/Pull Request) по переписыванию fish на Rust, причем сделал это, скорее, в качестве шутки. Но сообщество восприняло инициативу очень серьезно, и она стала самой популярной и обсуждаемой среди всех остальных.

За два года fish был полностью переписан на Rust. Для компиляции теперь требуется Rust 1.70 (или новее) и компилятор C, который нужен для сборки некоторых компонентов и тестов. Компилятор C++ не требуется.

Рекомендуемой системой сборки остается CMake (3.15 или новее).

Библиотека ncurses больше не используется. Зависимость от библиотеки/базы данных terminfo сохраняется.
Примеры выполнения команд в fish 4.0
Примеры выполнения команд в fish 4.0

Причины перехода на Rust

Как написано в блоге разработчиков — «Rust — это круто. Это весело.» Разработчики отмечают, что Rust имеет отличный инструментарий, который очень быстро настроить, ошибки компилятора максимально информативны, включает удобные программные средства для работы с потоками и так далее.

Так как это первый релиз на Rust, пока рано говорить о серьезных изменениях, которые коснуться пользователей. Но ожидается, что использование новой кодовой базы в конечном итоге позволить повысить производительность, стабильность и безопасность программы, а также привлечет новых программистов.
fish functions
fish functions

Комментарии

Комментариев нет.