URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 138169
[ Назад ]

Исходное сообщение
"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "

Отправлено opennews , 25-Окт-25 08:01 
Опубликован выпуск проекта uutils coreutils 0.3.0 (Rust Coreutils), развивающего аналог пакета GNU Coreutils, написанный на языке Rust. В состав coreutils входит более ста утилит, включая sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln и ls. Целью проекта является создание кроссплатформенной альтернативной реализации Coreutils, среди прочего способной работать на платформах Windows, Redox и Fuchsia...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=64114


Содержание

Сообщения в этом обсуждении
"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Медведь , 25-Окт-25 08:01 
> Заявлен уровень совместимости 83.91% (было 87.06%)

То есть добавление тестов выявило новые проблемы? Кто бы мог подумать... Пилите, Шура, пилите, они золотые.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 08:09 
Казалось бы более просто управление памятью должно было помочь растикам быстрее разрабатывать софт. В итоге они разрабатывают софт в 10 ращ медленнее. Оказалось все дело не в языке, а в голове.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Медведь , 25-Окт-25 08:18 
На самом деле rust не так уж прост в управлении памятью: например, утечки памяти из-за циклических связей в структурах с объектами со счетчиками ссылок (Rc) в нем вполне себе имеют место быть, и borrow checker от этого не спасает. Но т-с-с-с-с, я этого не говорил, а то сейчас набигут растеры и побьют меня.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 08:44 
но ведь утечки памяти безопасны, oom киллер перегрузит приложение, станок/автопилот/робот перезапустятся полностью и все.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Медведь , 25-Окт-25 08:46 
> но ведь утечки памяти безопасны, oom киллер перегрузит приложение, станок/автопилот/робот перезапустятся полностью и все.

Какая прелесть! В цитатник! Не забудьте, пожалуйста, донести эту ценную мысль до разработчиков .net, скажем -- а то они ерундой маются, разруливают циклические ссылки, освобождают зачем-то память...

Стоп, а зачем ее вообще освобождать? Ну свалится софтина в OOM -- но безопасно же свалится, вот что главное! Эврика!


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено 12yoexpert , 25-Окт-25 09:18 
так .net/c# это не язык, просто NIH-пародия на джаву.

да и течь, как джава, оно не может, даже киллер-фичу языка толком не осилили


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено morphe , 25-Окт-25 22:32 
> так .net/c# это не язык, просто NIH-пародия на джаву.

Когда через 25 лет в жаве осилят project valhalla - тогда может быть, но сейчас VM и GC шарпов намного лучше спроектирована для большинства задач. В жаве слишком долго полагались на оптимизацию gc вместо того чтобы просто хранить вещи на стеке/inline в других объектах, escape analysis не считается потому что кроме простых случаев не работает.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено laindono , 25-Окт-25 09:58 
https://doc.rust-lang.org/reference/unsafety.html

Что именно является unsafe в контексте rust достаточно недвусмысленно определено. Утёкшая память никак не относится к безопасному доступу к памяти (memory-safety). Rust даёт гарантии по части доступа к памяти, а не гарантии безопасности в общем смысле.

Протёкшая память может максимум привести к атаке denial-of-service. Может быть критическим багом, но на полноценную уязвимость не тянет. Безусловно неприятно, но не тоже самое, что use after free или прочие сишечные забавы.

Кроме того DoS наверняка проще провести над .net приложухой, чем над аналогичной rust приложухой. Всёж таки у шарпов рантайм жирненький. Да и не только на исчерпание памяти такие атаки проводятся.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 10:06 
>Может быть критическим багом, но на полноценную уязвимость не тянет.

Описание большинства ошибок работы с указателями в Си.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 10:30 
> Описание большинства ошибок работы с указателями в Си.

Особенно когда это remote code execution))
Загляни в соседнюю тему, так десятки взломов "c использованием уязвимости, связанной с переполнением буфера".


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Медведь , 25-Окт-25 10:40 
Вы опять привычно свернули в сторону гарантий раста по работе с памятью. Это замечательно, что он защищает от (сравнительно узкого) класса ошибок работы с памятью, но, во-первых, даже в случае памяти -- не от всех, а во-вторых -- какой ценой? Давайте для каждого класса критических ошибок придумаем по языку, и будем яростно спорить, какой из них наиболее критически защищен.

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

Кстати, в какой-то мере необходимость защиты от утечек понимали даже сами растеры: в начальных версиях раста был опциональный GC, который потом был вышвырнут на мороз во имя пуризма и чтобы zero-cost'у раста больше доверяли. Но зато позже наплодили библиотечных реализаций GC, неудобных и лишенных языковой поддержки... Песня!


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 11:18 
>в начальных версиях раста был опциональный GC, который потом был вышвырнут на мороз

Т.е. они пожертвовали безопасностью работы с памятью ради производительности? Кого-то это мне напоминает...


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Медведь , 25-Окт-25 11:29 
> Т.е. они пожертвовали безопасностью работы с памятью ради производительности?

Учитывая, что GC был опционален и производительности особо-то и не мешал, очень странное решение. Ну ввели бы что-то типа #![no_gc], есть же у них #![no_std] -- и гарантировали бы предсказуемость времени жизни объектов и всё такое там, где оно надо.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено laindono , 25-Окт-25 11:29 
> Это замечательно, что он защищает от (сравнительно узкого) класса ошибок работы с памятью

А больше ничего и не предполагалось. Rust в первую очередь язык для системного уровня и ниже.
Сборка мусора не бесплатна, виртуальные машины не бесплатны. Есть некоторый набор задач, где это критично.

> защита от критических ошибок доступа к памяти должна быть аппаратной

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

> Давайте придумаем

Давайте вы лучше научитесь читать (документацию), а не заниматься придумыванием и развенчиванием собственных же мифов.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 11:45 
>Сборка мусора не бесплатна, виртуальные машины не бесплатны. Есть некоторый набор задач, где это критично.

Ну так ввели бы директиву no_gc, как предложили выше, но делать этого не стали, потому что сложнее было бы рекламироваться.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 11:41 
> Это замечательно, что он защищает от (сравнительно узкого) класса ошибок работы с памятью,

Насколько узкого?
Можно посмотреть на кол-во CVE в ядре и узреть, что этот узкий класс составется примерно большинство.

> но, во-первых, даже в случае памяти -- не от всех,

Но от тех, которые могут принести существенный вред.

> а во-вторых -- какой ценой?

Сколько там процентов насчитали вулнов из-за "ошибки памяти"? 70%? Мало?

> Давайте для каждого класса критических ошибок придумаем по языку, и будем яростно спорить, какой из них наиболее критически защищен.

Если вы представите руст2.0 который покроет еще один класс широко распространенных ошибок, то я вам пожму руку и поблагодарю.

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

А АРМ такая защита уже давно... но что-то это не сильно помогает.
Интересно почему?)

Гуглу приходится то MiraclePTR добавлять, то фаззингом обамзываться, то ультиматично выкидывать код на с/с++ и заменять. А всё вышеперечисленное стоит денег.
ChkTag еще и будет стоить памяти. Уверен админы серверов обрадуются)

> Кстати, в какой-то мере необходимость защиты от утечек понимали даже сами растеры: в начальных версиях раста был опциональный GC, который потом был вышвырнут на мороз во имя пуризма и чтобы zero-cost'у раста больше доверяли.

И много вы знаете системных ЯП со сборщиком мусора?
Смогли бы совместить одновременно развитие GC и borrow?

И да, вы лукавите.
GC из раста убрали еще в 2014 году, в версиях 0.11-0.12
Т.е просто сменилась парадигма развития.

> Но зато позже наплодили библиотечных реализаций GC, неудобных и лишенных языковой  поддержки... Песня!

Пф, слышать такую критику от адепта языка, где даже строк нормальных нету в std...
Как там было в пословице про бревно в глазу))?



"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Медведь , 25-Окт-25 11:57 
> Если вы представите руст2.0 который покроет еще один класс широко распространенных ошибок, то я вам пожму руку и поблагодарю.

Нет уж, увольте, с меня хватает дичи и в rust 1.0 )))

> ChkTag еще и будет стоить памяти. Уверен админы серверов обрадуются)

Стоимость памяти ничтожна по сравнению с последствиями простоя для большинства бизнес-процессов.

> А АРМ такая защита уже давно... но что-то это не сильно помогает

Возможно, потому, что из-за очень недавнего появления стандарта на это дело пока что поддержка в компиляторах хромает? Я вообще не очень в курсе, насколько широко MTE используется в софте на ARM прямо сейчас. Поделитесь статистикой, насколько используется и насколько не помогает?

> И много вы знаете системных ЯП со сборщиком мусора?

Я выше писал, что для системного ПО его было бы правильнее отключать в коде, а не выбрасывать вообще.

> Смогли бы совместить одновременно развитие GC и borrow?

А вот это -- правильный вопрос. Borrow вообще трудно совместить со многими концепциями, которые из-за этого никогда не будут реализованы в rust. Но вам не кажется, что это обрекает его на стагнацию как ЯП?

> И да, вы лукавите. GC из раста убрали еще в 2014 году, в версиях 0.11-0.12

Я где-то утверждал что-то другое, кроме того, что он изначально был в rust?

> Пф, слышать такую критику от адепта языка, где даже строк нормальных нету в std...

Пф, std::string в моем любимом C++ меня вполне устраивают...


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 13:03 
> Нет уж, увольте, с меня хватает дичи и в rust 1.0 )))

Раз добровольцев нет - будем использовать то, что есть)

> Стоимость памяти ничтожна по сравнению с последствиями простоя для большинства бизнес-процессов.

Так ChkTag просто убьет процесс.
На серваке. Например БД в процессе транзакции. Вот админы обрадуются!

>> А АРМ такая защита уже давно... но что-то это не сильно помогает
> Возможно, потому, что из-за очень недавнего появления стандарта на это дело пока  что поддержка в компиляторах хромает?

Я бы не назвал технологию представленную в 2018, а выкаченную в 2019 новой.
community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/enhancing-memory-safety

> Я вообще не очень в курсе, насколько широко MTE используется в софте на ARM прямо сейчас.

source.android.com/docs/security/test/memory-safety/arm-mte
Есть мааааленькая загвоздка
Caution: Apps that enable MTE should be thoroughly tested on an MTE-compatible device before being shipped to the Play Store. Failure to do so may lead to critical bugs being discovered only on MTE-capable devices, which may harm usability of the app

Сколько у нас на данный момент выпущено процессоров без ChkTag?
Сколько лет у них будет поддержка?

> Поделитесь статистикой, насколько используется и насколько не помогает?

Могу поделиться насколько не помогает)
2021 год - всё еще не помогло 🤷🏻‍♂️
security.googleblog.com/2021/04/rust-in-android-platform.html
Жалуются на Limitations of detection и что выполнить "The Rule Of 2" очень сложно.

А тут уже какой-то прогресс, правда не связанный с MTE
security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html
To date, there have been zero memory safety vulnerabilities discovered in Android’s Rust code.

> Я выше писал, что для системного ПО его было бы правильнее отключать в коде, а не выбрасывать вообще.

Вон D так умеет.
Но по какой-то причине никому не нужен.

>> Смогли бы совместить одновременно развитие GC и borrow?
> А вот это -- правильный вопрос. Borrow вообще трудно совместить со многими  концепциями, которые из-за этого никогда не будут реализованы в rust.

Не уверен что это плохо.

> Но вам не кажется, что это обрекает его на стагнацию как ЯП?

Нет. Большая часть языков это "или GС, или ручное управление" без выбора.
И они работают и выполняют свои функции (как могут))).
Делать из ЯП мегакомаbн типа NeroBurning с редактором этикеток, ну такой себе.
Могут позволить далеко не многие.

> Я где-то утверждал что-то другое, кроме того, что он изначально был в rust?

А был ли тот раст, растом?

> Пф, std::string в моем любимом C++ меня вполне устраивают...

Добавили, но не в первой версии. Примерно как в расте убрали GC.
Был ли С++ без string С++ или это был какой-то другой язык?

А а utf без костылей уже может)?



"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Медведь , 25-Окт-25 13:26 
> Добавили, но не в первой версии. Примерно как в расте убрали GC. Был ли С++ без string С++ или это был какой-то другой язык?

Есть некоторая разница -- строки в C++ добавили и они есть, а сборщик мусора из rust выкинули -- и его нет.

Остальное у вас -- переливание из пустого в порожнее насчет того, что действительность такова и больше никакова. Но действительность меняется, подождем...


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 16:51 
> Это замечательно, что он защищает от (сравнительно узкого) класса ошибок работы с памятьи

Не узкого, а более 70% тех, что приводят к уязвимостям. Гугл с МС приводили статистику.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 16:22 
> Rust даёт гарантии по части доступа к памяти, а не гарантии безопасности в общем смысле.

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

Может ли Раст проверять корректность логики в вопросе доступа к неопределённо-вероятностным блокам памяти, исчисляемых во время выполнения и зависимых от окружения и входных данных?


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Чтото знающий , 26-Окт-25 01:48 
>Гарантии безопасного доступа к памяти может дать только корректность логики приложения и подлежащих слоёв, обеспечивающих выполнение.

Не могли бы вы привести пример на безопасном Rust, который подтверждал бы ваше утверждение? Типа, вот здесь на корректность доступа к памяти влияет исключительно логика приложения, а не компилятор, который в вашем примере просто пропустит некорректное обращение к памяти.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 09:55 
станок/автопилот/робот перезапустятся полностью и все.

да, и самолёт и ядерный реактор :-)


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 16:26 
>самолёт и ядерный реактор

Ядерный реактор на расте с кореутилс.
кхд)кхд)


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 17:12 
> перезапустятся полностью и все.
> да, и самолёт и ядерный реактор :-)

А что, предлагаешь писать ПО для самолетов и ядерных реакторов на языках с GC? Эксперт выше ведь именно о GC вещал.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 18:29 
Короч спросил у гжпт, Rust используется в вспомогательных системах ядерных реакторов и самолетов, но не массово, пока что C++,
Основными системами управляет (RTOS), такие как VxWorks, QNX, INTEGRITY, RTLinux.
Но не в критических модулях, в критических модулях управляют специальные встроенные системы.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 22:15 
> спросил у гжпт

Странно, что он тебе не рассказал, как космические корабли на расте бороздят просторы большого театра.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено НеАноним , 25-Окт-25 22:38 
Да двигатель м драйв который, кажется в 2017 сделали.
Бороздит просторы)
Люди во всю колонизируют другие планеты.
И занимаются терраформингом других планет.
Там кстати щас набирают экспедицию на марс, но долгтй полет.
Правда пока набирают. Года так с 2018, любой может. Короч где то видел на сайте, серьезно.
Вообщем только)
Только ты с Linux)
хд)хд)

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 11:15 
Дак вот почему боинги падают... Программисты на расте переполняют память при работе с закрылками...

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 10:05 
> утечки памяти из-за циклических связей в структурах с объектами
> со счетчиками ссылок (Rc) в нем вполне себе имеют место быть

А не подскажите, в каком языке без garbage collection эту проблему решили?
И решаема ли она в принципе?))

> и borrow checker от этого не спасает

Вообще в доке раста расписано от чего borrow спасает, а от чего нет.
И даже черным по белому написано "Preventing memory leaks entirely is not one of Rust’s guarantees" doc.rust-lang.org/book/ch15-06-reference-cycles.html
Но кто же читает доку...

> а то сейчас набигут растеры и побьют меня.

Фууу, конечно нет! Это было бы сравнимо с пинанием щеночков-дayнов!
Мерзко с одной стороны, и абсолютно бесполезно с другой.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 16:47 
> утечки памяти из-за циклических связей в структурах с объектами со счетчиками ссылок (Rc) в нем вполне себе имеют место быть, и borrow checker от этого не спасает

А как работающий во время компиляции borrow checker должен спасать от ошибок во времени выполнения? Иди проспись.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено morphe , 25-Окт-25 22:39 
>  На самом деле rust не так уж прост в управлении памятью: например, утечки памяти из-за циклических связей в структурах с объектами со счетчиками ссылок (Rc) в нем вполне себе имеют место быть, и borrow checker от этого не спасает. Но т-с-с-с-с, я этого не говорил, а то сейчас набигут растеры и побьют меня.

Циклические ссылки нужно создавать либо явно (Rc::new_cyclic), либо у тебя внутри Rc должно быть interior mutable значение, потому что по дефолту содержимое Rc immutable

И в обоих случаях у человека есть возможность задуматься, а то ли он вообще делает, и не нужна ли ему арена/хранилище объектов с передачей хендлов (индексов)/какая-то графовая структура/gc. И все эти способы решения в Rust имеются, и использовать их удобнее чем другие.

Посмотри как сложный софт на Rust пишется, например Bevy ECS для игр, и увидишь что за счёт выразительности языка даже такая стрельба по ногам является опциональной, и проблема скорее для тех кто недостаточно в Rust погружен и пытается решать проблемы методами из других языков.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Медведь , 26-Окт-25 02:10 
Это все замечательно, но вот только циклические взаимосвязи в реальных предметных областях встречаются очень часто, и раст со своим боровчекером в таких задачах неуклюж, как бегемот в посудной лавке.

Стандартный ответ растера: "ты просто не понял раст!". Но если для того, чтобы выразить тривиальную взаимосвязь из реального мира, нужно навертеть тонны откровенно ненужных сущностей, возможно, не я "недостаточно погружён", а просто rust недостаточно выразителен или слишком ограничен? Скажем, биться с боровчекером, растыкивая Rc::new_cyclic просто из-за ограничений модели владения, как по мне, удовольствие сильно ниже среднего, не находишь?


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Чтото знающий , 26-Окт-25 02:32 
>раст со своим боровчекером в таких задачах неуклюж, как бегемот в посудной лавке.
>чтобы выразить тривиальную взаимосвязь из реального мира, нужно навертеть тонны откровенно ненужных сущностей

Если вам нужны циклические зависимости, вы или используете unsafe, либо вам неважна утечка памяти, о возможности которой честно сообщают в доке.

>просто rust недостаточно выразителен или слишком ограничен?

Ограничен? Да,безусловно. Не даёт протекать в код примерно 70% типовых ошибок.
Недостаточно выразителен? Глядя на то, сколько кода уже написано на этом языке в разных предметных областях, закрадывается сомнение в вашей объективности.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Медведь , 26-Окт-25 02:48 
> Если вам нужны циклические зависимости, вы или используете unsafe, либо вам неважна утечка памяти, о возможности которой честно сообщают в доке.

А-а-а, погодите, так "честная дока" оправдывает все косяки дизайна языка, про которые она "честно сообщает"? Упс, а ведь доки по C совершенно честно говорят, что ответственность за косяки с памятью лежит на программисте. Всё, никаких претензий, ведь так?


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено morphe , 26-Окт-25 02:47 
> Это все замечательно, но вот только циклические взаимосвязи в реальных предметных областях
> встречаются очень часто, и раст со своим боровчекером в таких задачах
> неуклюж, как бегемот в посудной лавке.

Я и не сказал что таких не существует, я сказал что большинство таких случаев решаются способами более удобными чем через Rc<RefCell<T>>: арены, графы, хендлы, опять же сборщик мусора/cборщик циклов


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Медведь , 26-Окт-25 02:59 
> арены, графы, хендлы, опять же сборщик мусора/cборщик циклов

Про тонны ненужных сущностей я уже писал...


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено morphe , 26-Окт-25 03:02 
> Про тонны ненужных сущностей я уже писал...

Т.е в условных сях ты можешь использовать счётчик ссылок для циклических структур и при этом не получать утечки/use after free? Нука покажи свою магию


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено morphe , 26-Окт-25 03:03 
> Про тонны ненужных сущностей я уже писал...

Гвозди надо забивать микроскопом, стены сверлить им же...


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 17:18 
> разрабатывают софт в 10 ращ медленнее

Сколько времени у GNU/coreutils заняло развиться до этого уровня? Лет тридцать? Ок…


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 17:42 
Предлагаете подождать 30 лет до работоспособного состояния uutils?

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 22:01 
> Предлагаете подождать 30 лет до работоспособного состояния uutils?

Так уже используют. Да, вылезли первые ошибки. И еще не одна вылезет. Но паровоз уже тронулся (не умом). И через 30 лет (если оба доживут) разница в списках CVE за этот период у растовского варианта будет в разы ниже чем у сишного.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 26-Окт-25 00:08 
Если в 10 раз медленнее, то 300 лет надо ждать.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 22:36 
В 1990-м в целом уже готово было

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Я , 25-Окт-25 11:04 
Это, как раз, нормально.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено morphe , 26-Окт-25 01:05 
> То есть добавление тестов выявило новые проблемы? Кто бы мог подумать... Пилите, Шура, пилите, они золотые.

Там исправили проблему от которой неподдерживаемые аргументы игнорировались

Вопрос скорее в том, что это за тесты, которым без разницы обрабатываются аргументы или нет


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено 12yoexpert , 25-Окт-25 09:00 
> по сравнению с GNU Coreutils утилита sort теперь быстрее в 3.72 раза

конечно, если в половине кода вставлять успешно завершающиеся загрушки

инвалиды умственного труда


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 10:53 
Дак это же те самые uutils, которые сломали обновления в Убунте!

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 13:49 
Ну к слову это не их вина, что убунтовцы взяли пакет, который на 80% совместим со старым и при этом не удосужились проверить что все используемые функции работают как надо

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 22:36 
А фальш-заглушка в эти 80%, прошедших тесты, входит? Если да, то их вина.

К тому же, какие ещё "они" и "убунтовцы"? Разраб с самым большим количеством коммитов в uutils - подписался как Ubuntu Developer. Это, плюс-минус, те же люди.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено morphe , 25-Окт-25 22:42 
> Ну к слову это не их вина, что убунтовцы взяли пакет, который на 80% совместим со старым и при этом не удосужились проверить что все используемые функции работают как надо

Убунта даже не удосужилась обновить пакет, несмотря на то что в uutils каждый день что-то дорабатывают и фиксят, и фикс проблемы был уже давно, просто по привычке убунта взяла версию трёхмесячной давности


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 16:28 
>Дак это же те самые uutils, которые сломали обновления в Убунте!

Ну все прям можно убунту даже ставить.
Нет спасибо, я после убунт 21.10 еще до релиза разочаровался.
Все  понятно куда они линию гнут.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 16:57 
>> по сравнению с GNU Coreutils утилита sort теперь быстрее в 3.72 раза
> конечно, если в половине кода вставлять успешно завершающиеся загрушки

В смысле, растовый sort бысрее сишного потому что как-то частично/неполноценно сортирует, или что ты хотел сказать?


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено 12yoexpert , 25-Окт-25 18:47 
чувак, для начала тебе нужно понять, что слова маркетологов о том, что их товар быстрее свободного ПО, могут быть неправдой

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 19:36 
> слова маркетологов о том, что их товар быстрее свободного ПО, могут быть неправдой

Хочешь сказать, растовый sort сортирует так же или медленнее сишного?


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 20:55 
А если наработки по сортировке перенесут на С.... Вообще взлетит

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 09:23 
>Заявлен уровень совместимости 83.91% (было 87.06%). Снижение уровня совместимости объясняется добавлением в тестовый набор 16 новых тестов.

Никто не измерял насколько они тесты переписали? В свете последних новостей возникают сомнения в их правдивости.
Также встаёт вопрос, исходя из цели переписать 1 в 1 GNU Coreutils почему у них стабильно ломается то одно, то другое, если им достаточно просто повторить код? Неужели Rust оказался настолько сложным для восприятия человеком, что даже ИИ не может помочь?


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 09:36 
А зачем им повторять CVE из gnu? Тут стараются сразу писать корректно.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Медведь , 25-Окт-25 09:39 
> Тут стараются сразу писать корректно.

10/10 за чувство юмора!


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 09:44 
>Тут стараются сразу писать корректно.

А когда это у них начнёт получаться?


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Чтото знающий , 26-Окт-25 02:02 
Уже получается. Просмотрите на количество пройденных тестов, что ли.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 26-Окт-25 02:36 
Результат пока не впечатляющий и правдивость тестов вызывает вопросы.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 10:55 
opennet.ru/opennews/art.shtml?num=64108

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 21:15 
И где тут CVE?

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 22:21 
Ты сказал "Тут стараются сразу писать корректно", что является враньём.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 22:22 
P.S. Ах, да... "стараются". Но кроме старания нужна ещё и квалификация, которой у них нету.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 22:55 
Ты вырвал фразу из текста, корректность была про CVE.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено нах. , 25-Окт-25 10:21 
Ну наоборот жыж - в свете последних новостей выяснилось, что если ты тестируешь что ключик -r обрабатывается - какой-то умный вася может взять и заткнуть тест, поставив заглушку, и ачивмент анлокт!

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

Не то что эти диды, которым в голову не пришло что тут может быть диверсия на ровном месте.

> если им достаточно просто повторить код?

повторить != скопипастить.

А бегать от борова да, труднее чем просто абы как решить задачу, а обрабатывать corner cases когда-нибудь в следующей версии - как оно было при разработке gnu. (потому что таки да, надо проверять untrusted input на входе, а не совать в date форматную строку из внешнего источника, и надеяться что как-нибудь обработается)

опыт руффлятины не даст соврать - пять лет на голый парсер. С все еще "79%" api. (Причем по сути кроме парсера своего там почти ничего не было, от ффмпега до совсем ужасных лефтпадов неведомых васянов взято готовыми. Макромедии пришлось почти все писать с нуля, ничего готового не было. Да еще под три несовместимых даже в мелочах компилятора.)


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 21:17 
> Не то что эти диды, которым в голову не пришло что тут может быть диверсия на ровном месте.

Это те диды, которые писали оригинал? https://github.com/advisories/GHSA-vg73-g8m4-q62r


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 12:06 
>Улучшена совместимость с эталонным тестовым набором GNU Coreutils

Т.е. проходить стала меньше тестов - 532 (было 538)
неудач стало больше - 68 (было 52)
и полностью пропускать приходится больше - 33 (было 27)

Но это улучшение... тут скорее продолжена работа над улучшением или типа того


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 12:26 
Только программисты на расте умеют безопасно разрабатывать программы обратно во времени!

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Медведь , 25-Окт-25 13:30 
Что ж тут непонятного. Отрицательное улучшение, в лучших традициях.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 16:25 
"Отрицательный рост"... Хотя нет, правильно так: "отрицательный Раст"!

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 12:29 
Если даже coreutils заржавеют и сгниют, останутся busybox и toybox.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 13:36 
>производительность некоторых утилит, например, по сравнению

Осталось выяснить, за чей счёт банкет. Если ускорение не за счёт simd для каких-то угловых случаев, очевидно, новый вариант менее оптимален (впрочем, для когда на ржавчине довольно классически).


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 18:43 
Гнутый софт, честно говоря, кривой и медленный.

Grep тормознее хипстерских аналогов заметно.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 18:56 
Греп хоть не падает рандомно. Рипгреп одна из худших представителей поделок, по умолчанию на медленных носителях ощутимо тормознее и больше долбит диск впустую. Что есть у гнутого софта (во всяком случае, когда касается компонентов ОС, вроде coreutils) -- это стабильность и предсказуемая работоспособность.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Чтото знающий , 26-Окт-25 02:06 
>по умолчанию на медленных носителях ощутимо тормознее и больше долбит диск впустую

Ссылки будут на результаты тестирования или очередное "экспертное мнение"?


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 26-Окт-25 09:15 
На какие тестирования, у тебя всё хорошо? По умолчанию он в несколько потоков долбит и это значительно медленнее 1 потока.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 22:45 
>Гнутый софт

Да.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено freehck , 25-Окт-25 19:05 
>>производительность некоторых утилит, например, по сравнению
> Осталось выяснить, за чей счёт банкет. Если ускорение не за счёт simd
> для каких-то угловых случаев, очевидно, новый вариант менее оптимален (впрочем, для
> когда на ржавчине довольно классически).

С учётом того, что у них задача -- сделать сравнение в свою пользу, бьюсь об заклад, что они сравнивали (условно) стоковый coreutils из какого-нибудь Debian, скомпилированного под amd64 для древнючих архитектур, и uutils, скомпилированный со всеми возможными и невозможными оптимизациями спецом под тестовую тачку.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Чтото знающий , 26-Окт-25 02:08 
>С учётом того, что у них задача -- сделать сравнение в свою пользу

Зачем бы им заниматься подтасовками? Или вы по себе судите?


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 26-Окт-25 09:20 
>>С учётом того, что у них задача -- сделать сравнение в свою пользу
> Зачем бы им заниматься подтасовками? Или вы по себе судите?

Ну, вот, автор мусл заявляет, что его либц значительно лучше и производительнее глибц примерно во всём, смотри брошюрки на сайте. Есть те, кто в это верят. А на практике, все мы знаем.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено warlock , 25-Окт-25 14:13 
Круть!

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 25-Окт-25 15:55 
Ерундой люди занимаются, что доказала недавняя новость про убунту.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Чтото знающий , 26-Окт-25 02:12 
1. Чем хотят, тем и занимаются. Вам какое дело до этого?

2. А что она доказала? Авторы утилит ведь показывают, что все тесты они пока не проходят. На это и номер версии намекает. Почему же вы считаете их виноватыми в том, что дистрособиратели Убунты решили взять в свой продукт сырое ПО?


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 26-Окт-25 02:40 
Авторы утилит и дистрособиратели Убунты - это одни и те же люди.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Чтото знающий , 26-Окт-25 02:14 
Ух, сколько борцунов с Rust набежало. Чуют недоброе, ох чуют, что скоро только легаси и останется им поддерживать.

"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 26-Окт-25 07:11 
> Ух, сколько борцунов с Rust набежало. Чуют недоброе, ох чуют, что скоро только легаси и останется им поддерживать.

Когда примерно 15-ть лет назад выходили новости про пермиссивные аналоги GNU утилит, были единичные посты о том, что корпорасты собираются заменить всю системную часть GNU/Linux. Многие говорили: "это же Open Source, форки же всегда бывают, может у кого-то из разрабов своё видение, о том каким должна быть программа. Посмотри на ядро, кто бросит "вызов" Линусу?". Ну, не верили. Кстати, сам Р. Столлман тоже был насторожен такой тенденцией.

На 2025 год уже нет, ни у никого нет сомнений в том, что корпорасты хотят максимально избавится копилефтного кода. Получится ли это у Red Hat, Canonical, Oracle? Да, получится. А те компании, которые собирают собственные дистры на основе их дистрибутивов будут вынуждены подстроится.

Смогут ли корпорасты частично или полностью вытеснить GNU? Нет, не получится. GNU - это самостоятельный игрок, который создан с нуля Свободным Сообществом.

Программисты всего мира! Мой вам совет, не принимайте участие в разработке и тестировании корпорастических дистрибутивов. Не тратьте на это своё время. Так вы делаете корпорастов сильнее. И не забывайте, что пермиссивщик легко превращается в проприетарщика.


"Выпуск uutils 0.3, варианта GNU Coreutils на языке Rust "
Отправлено Аноним , 26-Окт-25 10:30 
> И не забывайте, что пермиссивщик легко превращается в проприетарщика.

Проприетарщик проприетарщику рознь. Одно дело когда это мегамонополисты, и совсем другое дело когда мелкий ремесленник Васян пытается заработать на хлеб закрытой тулзой.

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

Я об этом уже много раз писал лет 20 назад. Но воз и ныне там.

Смысл в том, что не нужно кидаться в крайности.