Комментарии 20
tmux-rs написан на почти полностью unsafe Rust
Чума. Взять единственное достоинство Rust, безопасность, выкинуть его, и переписать на небезопасной версии. Тут даже фанатам, имхо, сложно понять зачем.
Автор же написал, чтобы сделать safe версию. Не все сразу
Как фанат, объясняю, зачем. Такая хтонь образуется всегда, когда пытаешься написать программу на Rust в тесном содружестве с библиотекой, написанной на неRust. Каждый вызов становится unsafe, и его или группу вызовов нужно обернуть проверками, которые технически тоже unsafe, и в итоге число строк кода с unsafe оказывается на пол-программы.
Я бросил писать VSTi на Rust по этой причине: слишком сама архитектура заточена под сплошной С.
Rust крут, но в нём как в России: надо опять начинать всё с самого нуля, то есть использовать только Rust библиотеки(крейты).
Для буквоедов: пару вызовов DLLок из Rust сделать вообще не проблема. Я говорю о приложениях, где управление скачет из программы в библиотеку и обратно по сто раз на каждое действие.
Я бросил писать VSTi на Rust по этой причине: слишком сама архитектура заточена под сплошной С
это называется заточена под реальность, где критерии unsafe из Rust неприменимы
фрути-лупс например на паскале, попробуйте создать новый вид плагинов не на С++ а на Rust например тогда, хотя там может быть параметризирован менеджер плагинов
пытаешься написать программу на Rust в тесном содружестве с библиотекой, написанной на неRust. Каждый вызов становится unsafe, и его или группу вызовов нужно обернуть проверками, которые технически тоже unsafe, и в итоге число строк кода с unsafe оказывается на пол-программы
Какого цвета ваша функция? ©
Или не так?
На данном этапе это не "версия tmux
на Rust", а эксперимент по трансляции С кода в нечто, что компилируется rustc
. Я никогда с автоматическими трансляторами дела не имел и в заметке говорится, что с ними получилось хуже, но если посмотреть на результат (например, вот здесь) и сравнить с оригиналом (соответственно здесь), то выглядит как автоматическая трансляция. Вручную такой код написать непросто. Думается, что переписывание на идиоматическом Rust'е того, что сразу в глаза бросается, и код сократит, и уберет значительную, если не бОльшую часть unsafe
.
причем, можно на расте брать потоки я уверен стандартные, а если можно тогда задача сводится к GUI druid например. И гуй автору бы дал крутые фишечки на тайловые pane`s*, потомучто они разбивают окно, и дают работу с текстом, как я понял, по описанию tmux. Pane`s* же и текст и консоль, в момент, когда пользователь выбрал pane* конкретный с консолью, а соотв это текстовые фишечки )
Скрытый текст
Welcome to SimpleShell! Type 'exit' to quit.
SimpleShell> java -v
Unrecognized option: -v
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Command exited with code: 1
SimpleShell> java -version
openjdk version "17.0.14" 2025-01-21
OpenJDK Runtime Environment (build 17.0.14+7-1)
OpenJDK 64-Bit Server VM (build 17.0.14+7-1, mixed mode, sharing)
Command exited with code: 0
SimpleShell> exit
Exiting SimpleShell.
тоесть это вроде реально же, причем это посикс, даже доступен ввод с клавы если процессу это необходимо(это на java конечно же)
(*) - текстовое пространство на которое делится окно
Есть же zellij . Жаль только нет ни одного мультиплксора с рабочим поиском в буфере.
Я вот не очень понимаю, почему постоянно появляются новости по типу: на rust написали аналог %программа-нейм%. Люди любят писать свои аналоги ради получения опыта, это понятно, но в чём смысл это освещать, и почему освещаются в основном аналоги, написанные на rust? Едва ли кому-то захочется менять tmux или что-то ещё проверенное временем на очередной аналог на rust/zig/odin/ваш любимый язык.
Потому что людям нравится язык, но они не могут придумать ему применение.
Людям нравиться язык у которого (пока) нет применения :)
Он как бы общего назначения, то есть на нём можно сделать что угодно. Меня скорее удивляют новости, мол то и то переписали на раст, хотя куда логичнее было бы пиарить новые проекты, которые не являются простыми аналогами существующих уже 10 летия утилит.
с ~67 000 строк кода C на ~81 000 строк Rust
почему просто не сделать на языке Rust мультиплексор как даёт Rust и/или как понимаешь
Представлен открытый проект tmux-rs — версия терминального мультиплексора tmux на Rust