LINUX.ORG.RU
ФорумTalks

В Ubuntu 25.10 решено заменить GNU Coreutils на uutils, написанные на Rust

 , , , uutils


0

4

Замена коснётся более ста утилит, входящих в состав Сoreutils, включая sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln и ls. В настоящее время утилиты uutils уже применяются по умолчанию в дистрибутиве Apertis, основанном на Debian, а также в независимом дистрибутиве AerynOS (SerpentOS). Опубликованный на прошлой неделе выпуск пакета uutils coreutils 0.0.30 успешно проходит 507 тестов (в прошлом выпуске 506, в позапрошлом - 476) из эталонного тестового набора GNU Coreutils. 69 тестов завершилось неудачей, а 41 тест был пропущен. В ближайшие недели также планируется приступить к работе над заменой в Ubuntu утилит su и sudo на пакет sudo-rs. Из рассматриваемых проектов дополнительно упоминаются zlib-rs и ntpd-rs.

Если эксперимент будет признан удачным, то uutils также будут задействованы по умолчанию в LTS-ветке Ubuntu 26.04.

★★★★★

Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от LightDiver

Мы еще увидим ядро линукс, переписанное на раст, вот подожди

Hello! This is Linus Torvalds, and my pronouns are «they/them».

vsnb
()
Ответ на: комментарий от wandrien

Я так понимаю там и аппаратное ускорение для Intel есть. Они реализовали DRM/KMS ioctl, но драйверы у них свои.

X512 ★★★★★
()
Ответ на: комментарий от bread

Да и я тоже на Си-подобных синтаксисах писал большую часть времени.

Только в последние годы пришло осознание, насколько это неудобно.

А что касается семантики, это конечно большая тема, по сравнению с темой «формы скобочек».

wandrien ★★★
()

Ну я вот заметил, как Python похорошел при Rust.

uv заменил venv, pip. Работает быстро и четко.

ruff заменил почти все линтеры кода - работает еще быстрее и четче.

Nurmukh ★★★
()
Ответ на: комментарий от bread

А как записывать шаблоны?

В dlang придумали адекватную альтернативу: foo!(bar) вместо foo<bar>. Но было поздно, рак уже расползся.

wandrien ★★★
()
Ответ на: комментарий от wandrien

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

bread
()
Ответ на: комментарий от bread

Ну да, есть такое. Неопрятный код.

Но можно ли сделать его чище при сохранении тех же возможностей языка. (И крестов касается, и Раста.)

wandrien ★★★
()
Ответ на: комментарий от wandrien

Пока гуру расчехляют гнилые помидоры, скажу вот что: все эти возможности нахер не нужны. Что успешно демонстрируют Go и старый добрый C (внезапно). Для прикладухи есть ещё десяток языков, выбирай не хочу. И все они приятнее раста, даже пхп.

bread
()
Ответ на: комментарий от unC0Rr

Ну вот, есть же Rust-программисты здорового человека!

А не эти,которые ущемляются, когда их говнокод в основную репу Ядра не пускают!!!

Поставил проекту звезду на гитхабе.

shkolnick-kun ★★★★★
()
Последнее исправление: shkolnick-kun (всего исправлений: 1)
Ответ на: комментарий от bread

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

А главное - хейт всегда абстрактен. Раст почему то не нравится просто за то, что раст.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

очень приятный простой язык

Мухаха. На вкус и цвет, как говорится. Я когда-то о перле так думал, и это было большое заблуждение. Жизнь расставила всё по местам.

bread
()
Ответ на: комментарий от bread

Ну я вот сравниваю с Си и резальтат не в пользу си. Я сравниваю с луа, питоном и результат во многом не в их пользу.

Я вижу в чем раст лучше их троих. Понятно, что как сравнивать ноутбук с внедорожником, но всетаки.

Если мне надо будет написать модуль для луа или питона, я теперь скорее всего возьму раст. А кое где теперь скорее всего возьму раст, а не питон. Вот как недавно переписал софтину с питона на раст и не пожалел.

LightDiver ★★★★★
()
Ответ на: комментарий от wandrien

И? Код как код. Тебе регекспы тоже «сложно»? Это просто язык, чтобы его понимать, нужна практика. Как и любой другой язык.

Я сравниваю с си, питоном и луа и вижу его красоту во многом. Понимаю что могу теперь сделать, чего не мог раньше. Где он лучше, а где его лучше не использовать.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

Ну ладно, ты сам напросился))

А главное - фанбойство всегда абстрактно. Раст почему то нравится просто за то, что раст.

wandrien ★★★
()
Ответ на: комментарий от wandrien

Меня удивляет, что у них за шиза с именованием:

infcx: &'a InferCtxt<'tcx>,
generic_param_scope: LocalDefId

Эти соседние строчки как будто разные люди писали. Один типичный абырвалг сишный, а другой — мигрант из жабы. И вот везде там такое.

bread
()
Последнее исправление: bread (всего исправлений: 1)
Ответ на: комментарий от wandrien

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

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

Я же еще изучаю. Я ж нихрена его не знаю. Но то что я знаю, мне почти все нравится.

Из минусов - убогий си-синтаксис. Эти лядские фигурные скобки, до которых надо тянуться. Но тут то же самое и у си, например. Но и плюсов хватает - в том числе в плане чисто визуальной красоты и читабельности.

LightDiver ★★★★★
()
Ответ на: комментарий от bread

Ага infcx будто прямиком из 80-го года, с ограничением в 8 символов на длину идентификаторов в компиляторе.

wandrien ★★★
()
Ответ на: комментарий от LightDiver

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

Ты понимаешь, что это звучит как шиза? В луа и питоне фиксированная система типов, там пользователь языка не может порождать типы (ну если только модули к имплементации языка писать будет, разве что так).

То, что в статически-типизированном компилируемом языке делается через разные костыли статической типизации, в языке наподобие JS, Lua и Питон… просто делается объявлением нужных имён.

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

в том числе в плане чисто визуальной красоты и читабельности.

/перекрестился/

wandrien ★★★
()
Последнее исправление: wandrien (всего исправлений: 2)
Ответ на: комментарий от wandrien

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

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

Вот представь. У тебя «не влезает». А ты ничего с этим сделать не можешь. Ну нету типа нужного. У тебя строка 17 байт. У тебя число 8 байт. У тебя таблица 40 байт. У тебя в таблице не более бла бла итд.

И ты начинаешь извращаться. А с новыми извращениями у тебя падает скорость работы. И ты начинаешь оптимизировать…

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

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 2)
Ответ на: комментарий от LightDiver

Непонятно. То есть ты для себя статически типизированные языки открыл в лице Раста, а до этого на динамических писал?

Сравнивать, с одной стороны, с Си, а с другой в луа - это так себе. С одной стороны полуассемблер с наследием косяков дизайна из 70-х, с другой - ЯП для скриптования игорь.

Сравнивать, тогда уж, надо с C++, C#, D, Zig и т.п.

wandrien ★★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от LightDiver

регекспы тоже «сложно»?

С регекспами можно такое наворотить, что даже Джеффри Фридл заплачет. Вот так и с растом: там такое богатство выразительных средств, что код превращается в головоломку. Я когда-то медитировал над вариантами обработки ошибок в расте. Это просто праздник какой-то, пять что ли разных способов, один другого краше. Потом таи вроде упростили проброс ошибок, но старые способы тоже остались. Вот делать больше нечего программисту кроме как сидеть и обдумывать как бы покрасивее и идиоматичнее записать то или это. Хотя, может как раз и нечего, судя по тому, что на расте пишут.

bread
()
Ответ на: комментарий от wandrien

Дыа.. Я на си раньше писал, но так, как на скриптовом, не понимая о чем он. И он меня все врем посылал, из за кривого использования типов.

Я Си нормально занялся вчера. Но после раста он как то меньше впечатляет, если честно.

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

LightDiver ★★★★★
()
Ответ на: комментарий от wandrien

статически типизированные языки открыл в лице Раста

Вот и секрет популярности раста (множество номинаций «самый желанный» на stackoverflow и т.п.). Фанбои приходят из скриптухи. То есть _весь_ бэкграунд это жаваскрипт. Ну может в лучшем случае питон. И всё.

bread
()
Последнее исправление: bread (всего исправлений: 1)
Ответ на: комментарий от bread

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

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

Кто виноват в том, что ты другие ЯП не изучал? Ну даже хз)

wandrien ★★★
()
Ответ на: комментарий от wandrien

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

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

В этом плане мне больше нравится питон - это такой кайф, не писать все эти триллиарды скобочек.

Nim же. А вообще, если уж так прёт от типов, то стоит в сторону ocaml смотреть. Правда, с практической точки зрения это всё довольно бесполезно. Да и раст этот ваш тоже бесполезный, если честно.

bread
()
Ответ на: комментарий от bread

Ну не знаю не знаю. Перспектива в нем проглядывается. Вон все переходят на него, та же убунта.

А про полезноть - свою полезность мне он уже доказал. Есть в нем удобные инструменты. Тот же egui в нем прекрасен.

Мне только надо разобраться с синтаксисом, с ООП и можно продолжать нормально работать.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

Мне только надо разобраться с синтаксисом, с ООП и можно продолжать нормально работать.

вот разберусь с физикой, сразу пойду на нобелевскую премию!

alysnix ★★★
()
Ответ на: комментарий от alysnix

Мне не нужна нобелевская премия. Мне нужно понять основы - как это все пишется и работает. И проектики у меня не такие сложные. Мне нужна своя панелька и свой ВМ, я так много хочу?

LightDiver ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)