Версия: | 4.0 |
Дата релиза: | 27 февраля 2025 |
Предыдущий релиз: | 3.7.1 от 19 марта 2024 |
Вышел новый релиз командной оболочки Fish 4.0. Весь основной исходный код fish 4.0 был переписан с языка программирования C++ на Rust. Отмечается, что для пользователей данное изменение должно пройти относительно незаметно, при этом значительно изменяются зависимости и способы сборки программы.

Переход на Rust
Примерно два года назад один из разработчиков fish создал предложение (задачу/Pull Request) по переписыванию fish на Rust, причем сделал это, скорее, в качестве шутки. Но сообщество восприняло инициативу очень серьезно, и она стала самой популярной и обсуждаемой среди всех остальных.
За два года fish был полностью переписан на Rust. Для компиляции теперь требуется Rust 1.70 (или новее) и компилятор C, который нужен для сборки некоторых компонентов и тестов. Компилятор C++ не требуется.
Рекомендуемой системой сборки остается CMake (3.15 или новее).
Библиотека ncurses больше не используется. Зависимость от библиотеки/базы данных terminfo сохраняется.

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

Комментарии
11:31
12:21
13:15
13:20
13:25
13:25
13:39
13:57
/bin/bash
/bin/csh
/bin/dash
/bin/esh
/bin/fish
/bin/ksh
/bin/mksh
/bin/sash
/bin/sh
/bin/tcsh
/bin/yash
/bin/zsh
/usr/bin/bash
/usr/bin/csh
/usr/bin/dash
/usr/bin/esh
/usr/bin/fish
/usr/bin/ksh
/usr/bin/mksh
/usr/bin/sash
/usr/bin/sh
/usr/bin/tcsh
/usr/bin/yash
/usr/bin/zsh
/usr/bin/systemd-home-fallback-shell
14:01
Уверены?
https://ru.m.wikipedia.org/wiki/Almquist_shell
14:07
https://github.com/MalpenZibo/ashell
14:10
14:12
14:11
14:17
13:32
Да еще синее на фиолетовом бррр... вместо правильного на века - зеленое на чёрном-ласкающее взгляд !
13:39
13:51
13:51
13:54
14:01
08:10
14:13
14:35
https://postimg.cc/4KtLhLvr
17:11
Сам пишу на этом языке, так ещё головная боль. Но постепенно ухожу от этого монстра. Безопасный код можно писать не только на Rust.
16:29
18:26
Но какие-то преимущества у Rust всё же есть для разработки программ. Но лично я постепенно буду переходить с этого языка на более удобные и не вызывающие такой головной боли.
18:43
10 февраля Торвальдс против Rust-кода в ядре Linux.
https://www.cnews.ru/news/top/2025-02-10_problema_v_tebelinus_torvalds
19 февраля уже готов сам принимать Rust-код в состав ядра Linux в обход мейнтейнеров.
https://www.cnews.ru/news/top/2025-02-19_sozdatel_linux_pereobulsya.
Запасся попкорном и наблюдаю, как лебедь-раком-щуку разрабатывает ядро Linux.
18:59
17:18
Или нет...
17:06
17:24
18:33
https://pingvinus.ru/note/fish-shell-features-better-than-bash
20:01
posix-совместимость - такая штука, что полного соответствия нет ни у bash, zsh. Но, - это же не мешает, fish - еще менее совместима всего-навсего
08:08
08:06
- кастомизация, настраиваемая из web-браузера! круть!
- отличная работа с подсказками! можно просто табом посмотреть все ключи приложения с краткой справкой! огонь!
- отличная работа с историей командной строки
Пока использую запуская из .bashrc, но подумываю полностью заменить им bash
10:13
Вопрос, есть ли такая необходимость, а именно "полностью заменить им bash"? Что мешает просто не трогать bash и оставить его в качестве оболочки входа, а пользоваться fish? Тут ни .bashrc, ни .bash_profile не нужен. Достаточно терминал(ы) запускать с любимой оболочкой (все решается настройками терминала).
bash может сгодиться, если потребуется что-то делать вне gui, в консоли по Ctrl+Alt+F1(2,3...) или написания собственных скриптов, Вы же не планируете в них в качестве шебанга использовать #!/usr/bin/fish
10:27
21:16
04:56
Копнул... различия есть, ну и ладно пусть пока bash живет на заднем фоне)))