Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 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 . Жаль только нет ни одного мультиплксора с рабочим поиском в буфере.

Why not just use zellij? I like tmux. I want tmux, not something else.

Я вот не очень понимаю, почему постоянно появляются новости по типу: на rust написали аналог %программа-нейм%. Люди любят писать свои аналоги ради получения опыта, это понятно, но в чём смысл это освещать, и почему освещаются в основном аналоги, написанные на rust? Едва ли кому-то захочется менять tmux или что-то ещё проверенное временем на очередной аналог на rust/zig/odin/ваш любимый язык.

Потому что людям нравится язык, но они не могут придумать ему применение.

Людям нравиться язык у которого (пока) нет применения :)

Сейчас, в любой области, от веб-бэкэнда и игр до ядра ос и прошивок микроконтроллеров, будет язык, который лучше подходит для задачи чем раст с точки зрения рантайма, интеграции с существующим кодом и удобства использования. Вряд ли что-то изменится в ближайшие годы.

Он как бы общего назначения, то есть на нём можно сделать что угодно. Меня скорее удивляют новости, мол то и то переписали на раст, хотя куда логичнее было бы пиарить новые проекты, которые не являются простыми аналогами существующих уже 10 летия утилит.

Раст это безопасная © замена Си

Потому и переписывают

с ~67 000 строк кода C на ~81 000 строк Rust 

Memory safe кода в перспективе

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Другие новости