The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU Coreutils с 87% до 96%"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU Coreutils с 87% до 96%"  +/
Сообщение от opennews (??), 03-Фев-26, 10:01 
Опубликован выпуск проекта uutils coreutils 0.6.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.dev/opennews/art.shtml?num=64730

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

2. Сообщение от Аноним (2), 03-Фев-26, 10:02    Скрыто ботом-модератором+11 +/
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4, #11, #13

3. Сообщение от Аноним (4), 03-Фев-26, 10:05   +/
С такой скоростью разработки к поздней весне достигнут полного паритета по проходжению тестового набора.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5, #66

4. Сообщение от Аноним (4), 03-Фев-26, 10:10   +7 +/
Не обязательно. Много где SWAR хватает.
Там много вот такого

/// `geteuid()` returns the effective user ID of the calling process.
pub fn geteuid() -> uid_t {
    unsafe { libc::geteuid() }
}

Оно и понятно, зачем: на границе libc многие коноплятора заканчиваются.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #6, #9, #33

5. Сообщение от ebassi (?), 03-Фев-26, 10:18   +/
К тому времени Убунта 26.04 появится
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #30

6. Сообщение от Аноним (4), 03-Фев-26, 10:20   +1 +/
Самофикс: без libc можно обойтись раскладкой аргументом по регистрах и вызовом syscall в asm!-блоке. Закат солнца вручную, да, но оно везде так.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #14

8. Сообщение от Маяковский (?), 03-Фев-26, 10:34   +23 +/
где C++, там каждый байт — граната.
где Rust, там каждая строка — петля.
Один рванёт — и нету результата.
Другой удавит, подло, втихаря.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #62

9. Сообщение от Аноним (9), 03-Фев-26, 10:36   +/
Вы специально так криво форматируете?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #10

10. Сообщение от Аноним (4), 03-Фев-26, 10:52   +1 +/
Я случайно форматирование.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

11. Сообщение от Аноним (11), 03-Фев-26, 10:57   +1 +/
> Хочешь оптимизаций добавляй unsafe. Чудес не бывает

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #26

13. Сообщение от Аноним (11), 03-Фев-26, 11:01   +/
>>Проведена оптимизация производительности утилит base32, base64, basenc и df.
> Посмотрел код. Хочешь оптимизаций добавляй unsafe

Ты куда-то не туда смотрел. 😄 Вот pull request этой оптимизации, и unsafe в коде даже не упоминается:

https://github.com/uutils/coreutils/pull/9632/changes

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #15, #21

14. Сообщение от Аноним (-), 03-Фев-26, 11:01   +4 +/
> раскладкой аргументом по регистрах и вызовом syscall в asm!-блоке
> в asm!-блоке

Который точно также будет unsafe и ты поменяешь шило на мыло.
Какой смысл?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #17

15. Сообщение от Аноним (15), 03-Фев-26, 11:11   +3 +/
> Вот pull request этой оптимизации, и unsafe в коде даже не упоминается:

Зато он получил три плюсика и одобрение у всех ему поверившим.
И заодно набросил про невозможность оптимизаций без unsafe.
Молодец!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

16. Сообщение от Аноним (35), 03-Фев-26, 11:17   +14 +/
> В отличие от GNU Coreutils реализация на Rust распространяется под пермиссивной лицензией MIT, вместо копилефт-лицензии GPL.

Настоящая причина создания этого проекта.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #19, #24, #70

17. Сообщение от warlock66613email (ok), 03-Фев-26, 11:20   +/
> Который точно также будет unsafe

Он не точно так же unsafe. В большинстве мест в Rust unsafe нужен в тех местах, где код может стать unsound если программист не проследит. Но ассемблерные вставки всегда sound. Так что unsafe в этом случае имеет иной смысл и просто синоним "я не боюсь".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #51, #65

19. Сообщение от mos87 (ok), 03-Фев-26, 11:24    Скрыто ботом-модератором–3 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

21. Сообщение от Аноним (2), 03-Фев-26, 11:26   +2 +/
Смотреть сюда где +

https://github.com/uutils/coreutils/commit/3c2f35837296bd4b3...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #22, #35, #43

22. Сообщение от Аноним (2), 03-Фев-26, 11:27   +2 +/
Строка 561
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

23. Сообщение от Фонтимос (?), 03-Фев-26, 11:29   +2 +/
> Достигнут уровень совместимости ... 96.28% (было 87.75%)

ага, про date тоже писали, что все пучком, а оказалось не фига, половину опций тупо заглушками реализовали...

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #28

24. Сообщение от Аноним (24), 03-Фев-26, 11:33   –5 +/
> Настоящая причина создания этого проекта.

Так отлична же причина!
Линукс начал очищаться от запретительной GPLv3 в пользу свободных лицензий.
Как тут не порадоваться))

А заодно со временем избавится от гнутых версий util-linux, diffutils, findutils, procps, acl, sed и login. Плюс заменит древнюю дыряху на нормальный язык.
Шикарно же! Тот линукс, о котором мечтают все адекватные люди.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #27, #40

26. Сообщение от Феникс123 (?), 03-Фев-26, 11:34   +2 +/
Что позволяет применять оптимизации которые иначе компилятор не допускает т.к. не может просчитать их безопасность.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #34, #36

27. Сообщение от Аноним (35), 03-Фев-26, 11:42   +1 +/
Вместо бессмысленных споров о свободе хотела бы заметить, что корпорации стали "любить Open Source" как только они осознали, что это фактически бесплатная рабочая сила.
См. также https://opensource.guide/starting-a-project/ и https://opensource.guide/how-to-contribute/ - инструкции, созданные GitHub (в подвале сайта) - т.е. Microsoft.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #29, #128

28. Сообщение от Аноним (29), 03-Фев-26, 11:44   +1 +/
> ага, про date тоже писали, что все пучком

Так с date и было "было пучком" на момент написания что "всё пучком".
А почему убунтоводы взяли версию месчной давности - вопрос к убунтоидам.

Ну и нужно понимать что это за цифры. Это успешность прохождения тестового набора GNU Coreutils. Если что-то тестом не покрыто, то отличие в имплементации будет даже при 100% прохождении тестов.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #67

29. Сообщение от Аноним (29), 03-Фев-26, 11:49   +6 +/
> как только они осознали, что это фактически бесплатная рабочая сила

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

> opensource.guide

Первый раз вижу этот сайт.
Вы бы хотя бы какое-то Open Source Initiative привели в пример, а не вообще непонятно что.

А с другой стороны - гитхаб бесплатно предоставил ресурсы и возможности для сотен тысяч открытых проектов. Даже к тем, о которых МС даже не знает.
Не сказать им спасибо - быть крайне неблагодарной мра.. ну вы поняли.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #31, #32, #129

30. Сообщение от Аноним (-), 03-Фев-26, 11:54   +/
> К тому времени Убунта 26.04 появится

Будем надеяться что они всё успеют и утилиты будут поставляться с LTS версией.
Может еще sudo-rs затянут.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

31. Сообщение от Аноним (35), 03-Фев-26, 11:58   +/
> Open Source Initiative

Они больше по юридической части.
opensource.guide - что-то вроде "почему вам стоит заниматься open-source" ака работать за бесплатно - т.е. фокус на обычных людей.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

32. Сообщение от Аноним (35), 03-Фев-26, 12:06   +1 +/
"крайне неблагодарной" В принципе согласна, только в добрые корпорации "Don't be evil" больше не верю :)

https://en.wikipedia.org/wiki/Enshittification

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #44, #56

33. Сообщение от Аноним (33), 03-Фев-26, 12:12   –2 +/
Какой ужасный синтаксис, где return?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #41

34. Сообщение от Аноним (34), 03-Фев-26, 12:22   +/
> если код у тебя safe то постоянно добавляются накладные расходы

А пример привести сможете?
Напр. на godbolt с асм выхлопом.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #58

35. Сообщение от Аноним (35), 03-Фев-26, 12:22   +2 +/
Смотреть сюда https://github.com/uutils/coreutils/pull/9632/commits "remove unsafe" и 2 и 3 коммит
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #38

36. Сообщение от Аноним (11), 03-Фев-26, 12:24   +2 +/
> Я это тоже заметил в расте, если код у тебя safe то постоянно добавляются накладные расходы, т.к. компилятор много чего просчитать не может.

Safe сам по себе не добавляет накладных расходов, которые unsafe сам по себе магически убирает. Если ты САМ пишешь оптимизацию ручками, то да: ее может понадобиться частично или полностью зюобернуть в unsafe. Но само по себе наличие unsafe не дает каких-то моагических возможностей компилятору для автоматических оптимизаций.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

38. Сообщение от Аноним (35), 03-Фев-26, 12:24   +1 +/
И сюда https://github.com/uutils/coreutils/pull/9632/commits/dbeacf...

TL;DR - Изначально в pull request было unsafe - к моменту его принятия unsafe уже не было.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #42, #53

39. Сообщение от Анонимомус (?), 03-Фев-26, 12:27   +/
После перехода с GNU Coreutils на Rust Coreutils правильно будет называть систему Rust/Linux?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #45, #46, #48, #49, #64

40. Сообщение от Аноним (44), 03-Фев-26, 12:29   +1 +/
И вейланд, вейланд!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #71

41. Сообщение от Карлос Сношайтилис (ok), 03-Фев-26, 12:30   +4 +/
Там же, где и begin/end
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33 Ответы: #54

42. Сообщение от Аноним (11), 03-Фев-26, 12:31    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #77

43. Сообщение от Аноним (11), 03-Фев-26, 12:36   +2 +/
> Смотреть сюда где +

https://github.com/uutils/coreutils/commit/3c2f35837296bd4b3...

А зачем мне смотреть коммит из пулл реквеста 2025 года, где, к тому же, unsafe убрали буквально в следующем коммите?

https://github.com/uutils/coreutils/pull/9632/changes/dbeacf...

Ну и самое главное: тат самый base_common.rs сейчас не содержит ни одного unsafe:

https://github.com/uutils/coreutils/blob/main/src/uu/base32/...

Поэтому повторяю вопрос: куда ты смотрел?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

44. Сообщение от Аноним (44), 03-Фев-26, 12:37    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

45. Сообщение от kravich (ok), 03-Фев-26, 12:38   +/
uutils/Linux
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

46. Сообщение от Аноним (44), 03-Фев-26, 12:40   +1 +/
Systemd/Linux уже забронировал эту возможность
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

47. Сообщение от Аноним (47), 03-Фев-26, 12:41   –1 +/
>удалён код, в котором использовалось ключевое слово "unsafe".

А зачем тогда было добавлять в _НОВЫЙ_ код, который пишется _С НУЛЯ_ этот unsafe. Если надо было сделать быстрее, то смысл проекта утрачивается. Если изначально люди делали которые без unsafe не осилили...а зачем тогда вообще брались ?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #50

48. Сообщение от Аноним (51), 03-Фев-26, 12:42    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

49. Сообщение от Аноним (49), 03-Фев-26, 12:44   +/
Это нужно еще GNU libc убрать
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39 Ответы: #123

50. Сообщение от Аноним (53), 03-Фев-26, 12:47   +/
> А зачем тогда было добавлять в _НОВЫЙ_ код, который пишется _С НУЛЯ_ этот unsafe.

Потому что не все можно сделать без unsafe. Это понимают все, кто пишет на раст.
Если в лоб переписывали кода с бсд утилити, то там без unsafe скорее всего никак, потому что на дыряхе. А чтобы от него избавиться, нужно напр. менять структуры данных и/или взаимодействие объектов.

> Если изначально люди делали которые без unsafe не осилили...а зачем тогда вообще брались

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47 Ответы: #52, #81, #120

51. Сообщение от Аноним (51), 03-Фев-26, 12:49    Скрыто ботом-модератором+1 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

52. Сообщение от Аноним (52), 03-Фев-26, 12:59   –1 +/
>  А чтобы от него избавиться, нужно напр. менять структуры данных и/или взаимодействие объектов.

В некоторых случаях нужно будет менять сам Rust, так как без unsafe он не может в принципе реализовывать некоторые алгоритмы и структуры данных.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #55

53. Сообщение от Аноним (53), 03-Фев-26, 13:01   +/
> TL;DR - Изначально в pull request было unsafe - к моменту
> его принятия unsafe уже не было.

Т.е. таки смогли в оптимизации без unsafe, да?))

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

54. Сообщение от Аноним (-), 03-Фев-26, 13:08    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #63

55. Сообщение от Аноним (4), 03-Фев-26, 13:09    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

56. Сообщение от Аноним (56), 03-Фев-26, 13:24   +/
> в добрые корпорации "Don't be evil" больше не верю :)

Сам слоган "Don't be evil" не декларирует что будут добрыми, а только что не будут злыми.
Можно быть neutral. А еще лучше Chaotic Neutral :)

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

57. Сообщение от Аноним (58), 03-Фев-26, 13:24   +1 +/
> Наиболее значительное повышение совместимости отмечено для утилит sort, ls, date, cksum и tail.

И это всего лишь базовые тривиальные утилиты.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #74, #86

58. Сообщение от Аноним (58), 03-Фев-26, 13:32   +/
Если этого не знаешь - пример не поможет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34 Ответы: #59

59. Сообщение от Аноним (11), 03-Фев-26, 13:40   +4 +/
Он тоже не знает, поэтому примера не будет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58

60. Сообщение от Jh (?), 03-Фев-26, 13:44   –1 +/
Rust создали чтобы всё переписать на Rust.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #97

61. Сообщение от Аноним (61), 03-Фев-26, 13:48   +1 +/
Интересно, а что с производительностью, по сравнению с GNU Coreutils?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #73, #75

62. Сообщение от Аноним (62), 03-Фев-26, 14:01   +1 +/
Но Маяковский в другом стиле писал, а ещё ёлью. Ви таки не настоящий!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #111

63. Сообщение от Аноним (63), 03-Фев-26, 14:11   +/
В аду.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #54

64. Сообщение от Аноним (63), 03-Фев-26, 14:14    Скрыто ботом-модератором–1 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

65. Сообщение от Аноним (65), 03-Фев-26, 14:27   –1 +/
>Но ассемблерные вставки всегда sound. Так что unsafe в этом случае имеет иной смысл и просто синоним "я не боюсь".

Почему rust относится к программисту, как к глупому ребенку? Смотри, здесь ассемблер! Напиши unsafe и будь внимателен!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #80, #92, #127

66. Сообщение от Аноним (65), 03-Фев-26, 14:30   +/
Только полный паритет по тестам не значит полного паритета по работе, что уже раз сто обсуждалось.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

67. Сообщение от Аноним (67), 03-Фев-26, 14:30   +1 +/
> Если что-то тестом не покрыто, то отличие в имплементации будет даже при 100% прохождении тестов.

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

То в чём уверены тестами не обкладывают.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

68. Сообщение от Аноним (68), 03-Фев-26, 14:36   +/
Осталось избавится от glibc, gcc и bash.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #72

69. Сообщение от Аноним (69), 03-Фев-26, 14:45   +/
Голубая луна всему виной - все в округе говорили,
Этой странной любви, этой странной любви, Убунте так и не простили...
Ответить | Правка | Наверх | Cообщить модератору

70. Сообщение от Аноним (-), 03-Фев-26, 14:51    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

71. Сообщение от Аноним (-), 03-Фев-26, 14:54    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

72. Сообщение от Аноним (51), 03-Фев-26, 14:55   –2 +/
> glibc

c-ward

> gcc

clang

> bash

fish

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68 Ответы: #78

73. Сообщение от Аноним (73), 03-Фев-26, 15:02   +/
> Интересно, а что с производительностью, по сравнению с GNU Coreutils?

Что-то лучше, что-то хуже.

Напр. base64 медленнее на некоторых больших файлах.
А tr была в 9.8x slower, а сейчас в 1.58x faster.
sort: 3.72x faster (regular), 1.46x faster (numeric)
factor - медленнее

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61 Ответы: #76, #124

74. Сообщение от Аноним (-), 03-Фев-26, 15:07   –1 +/
Осель же наконец теминал! Кода выучишь sed или awk, bash-скрипт - то познаешь Дзен. И эти базовые утилиты превратятся в незаменимых помощников.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57 Ответы: #83

75. Сообщение от Аноним (-), 03-Фев-26, 15:11   –1 +/
Интересно, а что со временем при компиляции из исходных кодов, по сравнению с GNU Coreutils?

Интересно, а что с размером бинарников, по сравнению с GNU Coreutils?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61 Ответы: #79, #82, #89

76. Сообщение от Аноним (80), 03-Фев-26, 15:18   –1 +/
На каких данных? Как бы не оказалось, что сишный код тоже можно ускорить в 100 раз с минимумом затрат. Просто, какой смысл? Все эти растовские "у нас быстрее" такой идиотизм всегда. Я проверял, плюсы могут гораздо эффективнее работать с файлами -- скажем, с чтением разница не на уровне погрешности. Нужно всего лишь извратиться со стандартной библиотекой немного и с шланговой libcxx хуже работает, чем с гнутой. Зависимость от тулчейна. Только в итоге всё равно видно в основном на быстрых на ssd и гигантских файлах (читающихся целиком в память).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73 Ответы: #85, #88

77. Сообщение от Аноним (96), 03-Фев-26, 15:22   +1 +/
> Ой как нехорошо вышло. 😳 Но это уже и не важно: плюсиков
> персонаж нахватал

кармадрочер?


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42

78. Сообщение от Аноним (80), 03-Фев-26, 15:22   +2 +/
С опытом к тебе придёт понимание, что это не конкуренты. В целом, польза от альтернатив имеется, только в итоге некоторые опенсорсные проекты корпорации завязывают на эти кривые альтернативы, и вот это уже не айс.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72 Ответы: #84

79. Сообщение от Аноним (80), 03-Фев-26, 15:24   –1 +/
Не забывай про сотни гигабайт временных файлов. Ресурс ссд не бесконечный, такие "разработчики" сознательно уничтожают железо конкурентов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75

80. Сообщение от Аноним (80), 03-Фев-26, 15:27   –1 +/
Идея такова, что этих программистов успешно заменит чатгпт, который натренируют на их коде. И чатпгт глупее ребёнка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65

81. Сообщение от Аноним (96), 03-Фев-26, 15:29   +/
> А чтобы от него избавиться, нужно напр. менять структуры данных и/или взаимодействие объектов.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

82. Сообщение от Аноним (85), 03-Фев-26, 15:29    Скрыто ботом-модератором+1 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75 Ответы: #87

83. Сообщение от Аноним (83), 03-Фев-26, 15:30   +/
>выучишь sed или awk, bash-скрипт - то познаешь Дзен

Кто то где то не умеет, sed или awk (думаю это 0,01% на планете), и не познал Дзен.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

84. Сообщение от Аноним (4), 03-Фев-26, 15:30   –2 +/
Скажем так. На GNU et al. свет клином не сошелся, а многим пуританские плащи пошивочной фабрики им. пятилетки FSF жмут в плечах.

> конкуренты

Иногда даже не нужно ничего спрашивать, и воспитанники культур с zero-sum thinking сами о себе расскажут.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78

85. Сообщение от Аноним (85), 03-Фев-26, 15:31   +1 +/
> Как бы не оказалось, что сишный код тоже можно ускорить в 100 раз с минимумом затрат.

"Я тоже так могу, просто не хочу" (с)

> Нужно всего лишь извратиться со стандартной библиотекой немного

Как же хорошо что нормальные разабы не извращаются :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76

86. Сообщение от Аноним (86), 03-Фев-26, 15:34   +/
> И это всего лишь базовые тривиальные утилиты.

Ох уж эти опеннетные непризнанные гении от п(р)ограммирования. ls на 5(!) с гаком тыщ строк им тривиален 🙄
https://cgit.git.savannah.gnu.org/cgit/coreutils.git/tree/sr...
tail на 2500 тоже ...
как в прочем и date c вооот-такенным маном и поддеркой RFC/ISO/локалей/часовых поясов (и их сокращений) и т.д и т.п.

Как жаль, что гении не пишут код ☹

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57

87. Сообщение от Аноним (86), 03-Фев-26, 15:42   +/
> Разумеется больше из-за статической линковки.

Неа. Скорее где-то больше из-за кривых рук^W сборок:

pkg rquery %sh-%n coreutils rust-coreutils
18.5MiB-coreutils
11.3MiB-rust-coreutils

Зависимости:
pkg_deps_all coreutils | xargs -n1 pkg rquery "%sh-%n"
12.6KiB-indexinfo
2.00MiB-gettext-runtime

pkg_deps_all rust-coreutils | xargs -n1 pkg rquery "%sh-%n"
1.02MiB-onigurum

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82

88. Сообщение от Аноним (-), 03-Фев-26, 15:44   +/
> сишный код тоже можно  ускорить в 100 раз с минимумом затрат. Просто, какой смысл?

Действительно.
Оно ж всё равно останется дырявым.
Будешь так же ловить CVEшки и выдавать какирам рут, но быстро-быстро))

> Нужно всего лишь извратиться

Как обычно)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76 Ответы: #91

89. Сообщение от Аноним (86), 03-Фев-26, 15:45   +/
> Интересно, а что с размером бинарников, по сравнению с GNU Coreutils?

pkg rquery %sh-%n coreutils rust-coreutils

18.5MiB-coreutils
11.3MiB-rust-coreutils

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75 Ответы: #93, #95, #105

90. Сообщение от Аноним (90), 03-Фев-26, 15:52   +/
> Обращения к стандартной библиотеке libc заменены на эквивалентные защищённые вызовы, предоставляемые пакетом nix.

Чем безопаснее ещё одна прокладка? libc та же, вызовы те же, всё тот же Rust...
Чтобы в исходниках проекта было красиво, без unsafe? Как-то нелепо, учитывая nix и статическую линковку.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #98, #104

91. Сообщение от Аноним (80), 03-Фев-26, 15:53   +/
Ну так лучше дырявое, но не падающее в сегфолты и паники по кд. Я оценил рипгреп -- подобные косяки у всех растописак, как я посмотрю. Может, когда-нибудь станет юзабельно, не в ближайшие 10 лет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #88 Ответы: #94

92. Сообщение от Аноним (92), 03-Фев-26, 15:57   +1 +/
> Почему rust относится к программисту, как к глупому ребенку?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65 Ответы: #96

93. Сообщение от Аноним (80), 03-Фев-26, 16:10   +/
Так там 1 блоб против раздельных файлов?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89 Ответы: #102

94. Сообщение от Аноним (-), 03-Фев-26, 16:40   –1 +/
> Ну так лучше дырявое, но не падающее в сегфолты и паники по кд.

Лол, т.е тебе норм что твой комп будет как общественный туалет где-то на трассе М5?
Твое право.

> Я оценил рипгреп -- подобные косяки у всех

есть.
Вопрос в последствиях.


> Может, когда-нибудь станет юзабельно, не в ближайшие 10 лет.

Вангования от ыкспердов это всегда весело (нет).
Вон уже Linux From Scratch выкидывает дидовые копролиты.
Так что может уже лет через пять оплотом гнутых утилит будет всякая маргинальщина, как сейчас с системд.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #91 Ответы: #101, #110

95. Сообщение от Аноним (58), 03-Фев-26, 16:42   +/
Дак на расте ещё не вся функциональность сделана.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89

96. Сообщение от Аноним (96), 03-Фев-26, 16:43   –2 +/
> Не то что компилятор дыряхи - овно на вход, овно на выход.
> "И так сойдет" (с)

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

И, кстати, какое овно на вход? Что передал на вход то и будет. Или у вас в расте бывает иначе?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #92 Ответы: #99

97. Сообщение от Аноним (58), 03-Фев-26, 16:43   +/
> всё переписать

Когда Qt перепишут?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60 Ответы: #106

98. Сообщение от Аноним (4), 03-Фев-26, 16:43   +/
For many system APIs, Nix provides a safe alternative to the unsafe APIs exposed by the libc crate. This is done by wrapping the libc functionality with types/abstractions that enforce legal/safe usage.

```
// libc api (unsafe, requires handling return code/errno)
pub unsafe extern fn gethostname(name: *mut c_char, len: size_t) -> c_int;

// nix api (returns a nix::Result<OsString>)
pub fn gethostname() -> Result<OsString>;
```

То есть: libc дает лезвие, острое, заточеное со всех сторон и без ручки. Nix обматывает лезвие армированой изолентой. Не то, чтобы очень удобно, но хоть порезаться шансов меньше.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90 Ответы: #100

99. Сообщение от Аноним (99), 03-Фев-26, 16:49   +/
> Такой и должен быть системный язык и его компилятор. Ты на ассемблере
> когда-нить писал без всяких этих проверятелей боровов? Не что там так же?

Писал. А теперь сравни средний размер программы на асме и на сишке.

> Что передал на вход то и будет.

Будет где? В скомпиленом бинарнике у юзверя.

> Или у вас в расте бывает иначе?

Бывает. Компилятор показывает ошибку и даже пишет программеру что он написал фигню.
Ошибка исправляется прям на месте и не попадает к юзверю. Шикарно же!


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #96 Ответы: #112

100. Сообщение от Аноним (90), 03-Фев-26, 16:54   +/
Склалывается впечатление, что тут просто добавили прокладку, чтобы со взимодействием с libc парился кто-то другой.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #98 Ответы: #103

101. Сообщение от Аноним (80), 03-Фев-26, 16:55    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #94

102. Сообщение от Аноним (86), 03-Фев-26, 17:02   +/
> Так там 1 блоб против раздельных файлов?

Э-э ... и чо? Тот же busybox/toybox (или бздшный /rescue ) -- тайно переписали на расте или "это другое!"?


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #93 Ответы: #107

103. Сообщение от Аноним (4), 03-Фев-26, 17:02   +/
В том числе. Пусть ꙮ глаз смотрят в несколько мест. В каждом проекте свои обертки над unsafe  API - так себе затея.
То есть, та же история, что и с clap, serde, rand и рядом других.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #100

104. Сообщение от Аноним (104), 03-Фев-26, 17:04   +/
> Чем безопаснее ещё одна прокладка? libc та же, вызовы те же, всё тот же Rust...

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

Напр. gethostname (github.com/nix-rust/nix/blob/master/src/unistd.rs#L1332)

Создали буфер, сделали unsafe запрос, убедились что результат null-terminated, вернули или его, или ошибку.
И так бы это все пришлось писать в каждом вызове gethostname.

Это практически со всеми функциями - возврат нормального Result вместо int, который тупо можно проигрорить.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90

105. Сообщение от Аноним (80), 03-Фев-26, 17:04   +/
Подозреваю, зависимости очень криво тобой посчитаны. Зависимости  uutils-coreutils так и вовсе зачем-то пытаются линковаться с гццшной либстд.

Вот, к примеру, gnu coreutils (собрано раздельными файлами, не учитывает openssl, gnupg, и всё остальное)

  * sys-apps/coreutils-9.9-r12
         Total files : 250
         Total size  : 7.07 MiB

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89 Ответы: #108

106. Сообщение от Аноним (106), 03-Фев-26, 17:10   +/
Спроси у владельцев Qt.

Хотя те решили сделать что-то иное: https://www.qt.io/press/qt-group-unveils-expansion-plans-for...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #97

107. Сообщение от Аноним (80), 03-Фев-26, 17:12   +/
Статическая линковка в 1 блоб устраняет довольно много паразитных данных бинарей динамической линковки, только в конечном счёте динамическая линковка выгоднее всегда. Если же статически линковать в раздельные файлы, то пакет получится совсем уж раздутый одними и теми же данными. Когда вызываешь этот блоб тысячу раз в секунду, становится заметно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #102 Ответы: #109

108. Сообщение от Аноним (86), 03-Фев-26, 17:14   +/
> Подозреваю, зависимости очень криво тобой посчитаны. Зависимости  uutils-coreutils так
> и вовсе зачем-то пытаются линковаться с гццшной либстд.

Подозревай. На реальность это никак не влияет.

% pkg rquery %dn rust-coreutils    
oniguruma
% pkg_deps_all rust-coreutils | xargs -n1 pkg rquery "%sh-%n"
1.02MiB-oniguruma

pkg_deps_all coreutils | xargs -n1 pkg rquery "%sh-%n"    
12.6KiB-indexinfo
2.00MiB-gettext-runtime

Прикол тут в вот этом, маленьком нюансе:
% pkg rquery "reponamme %R-%sh-%n" coreutils rust-coreutils                              
reponamme FreeBSD-18.5MiB-coreutils
reponamme FreeBSD-11.3MiB-rust-coreutils


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #105

109. Сообщение от Аноним (86), 03-Фев-26, 17:19   +/
> Если же статически линковать в раздельные файлы, то пакет получится совсем уж раздутый
> одними и теми же данными.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #107 Ответы: #116

110. Сообщение от Аноним (58), 03-Фев-26, 17:41   +/
> комп будет как общественный туалет

Нет, у меня нету карги и раста.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #94

111. Сообщение от онанист (?), 03-Фев-26, 18:16   +/
реинкарнация
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #62

112. Сообщение от Аноним (65), 03-Фев-26, 18:39   +/
>Компилятор показывает ошибку

Ты не поверишь, но есть написать флаги для проверки кода, то компилятор покажет ошибки.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #99 Ответы: #115

113. Сообщение от Кошкажена (?), 03-Фев-26, 18:42   +/
> среди прочего способной работать на платформах Windows, Redox и Fuchsia

Очень нужно (нет).

Ответить | Правка | Наверх | Cообщить модератору

114. Сообщение от Аноним (114), 03-Фев-26, 18:50   +1 +/
Раст уже не модно, уже есть более безопасный Lean, пора на нём все переписывать
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #117

115. Сообщение от Аноним (-), 03-Фев-26, 18:57   +/
> Ты не поверишь, но есть написать флаги для проверки кода, то компилятор покажет ошибки.

Ты не поверишь, но в ведре однажды решили включить -Werror.
И все развалилось в прямом смысле.
По причине того что криворукие у№№№№ использовали хаки-kakи для костыляния своего кода.
Пришлось это здравое начинание отктывать.

Но самое главное нужно "написать флаги".
Чего ленивые разработчики делать не будут.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #112 Ответы: #119

116. Сообщение от Аноним (80), 03-Фев-26, 19:03   +/
Так без KSM только динамические библиотеки шарят память. При статической линковке ничего не шарится. Загрузка в память имеет значение, если вытеснено из кэша, а так предсказать сложно без профилирования.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #109

117. Сообщение от Аноним (-), 03-Фев-26, 19:05   +/
> Раст уже не модно, уже есть более безопасный Lean, пора на нём все переписывать

Э... ты это серьезно?

Тут у неосиляторов опилки в голове подгорают от "нипанятных значков" в расте, а ты предлагаешь lean на котором можно писать так


example (x : Nat) : 0 < match x with
  | 0   => 1
  | n+1 => x + n := by
  grind

вот так


example (x y : Int) :
    27 ≤ 11*x + 13*y → 11*x + 13*y ≤ 45
    → -10 ≤ 7*x - 9*y → 7*x - 9*y > 4 := by
  grind

И даже так:


theorem exists_prime_factor :
    ∀ n, 1 < n → ∃ k, IsPrime k ∧ k ∣ n := by
  intro n h1

Дыpяшeчнеков просто на куски порвет когда они попытаются это хотя бы осознать.

А если без шуток - то интереная штука.
Человеческая лицензия, современный С++, интеграция с Visual Studio Code.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #114 Ответы: #126

118. Сообщение от anonymous (??), 03-Фев-26, 19:13   +/
Вот, правильный никс. Мы не выбрасываем старый добрый софт, мы его замещаем, ориентируясь на сохранение совместимости.

Вяленому стоило бы поучиться.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #130

119. Сообщение от Аноним (96), 03-Фев-26, 19:40   +/
Пф-ф-ф, а на расте ваще ядра нету.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #115 Ответы: #121

120. Сообщение от Аноним (120), 03-Фев-26, 19:51    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #122

121. Сообщение от Аноним (-), 03-Фев-26, 19:51   +/
> Пф-ф-ф, а на расте ваще ядра нету.

А это что?
github.com/redox-os/kernel

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

Сравни это c Хурдом который пилят уже 30+ лет, а он всё еще не умеет в юсб))

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #119 Ответы: #132

122. Сообщение от Аноним (-), 03-Фев-26, 19:53   +/
> Что такое дыряха?

Любой ЯП созданный с целью производить плохой код CVE/RCE и тд.
В данном контексте недоязык под названием СИ.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #120

123. Сообщение от Аноним (123), 03-Фев-26, 20:06   +/
Ну это вообще идеально было бы. Musl не дотягивает пока.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49

124. Сообщение от Аноним (123), 03-Фев-26, 20:08   +/
>  дофига работы чтобы поддерживать ее в актуальном состоянии

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73 Ответы: #125

125. Сообщение от Аноним (125), 03-Фев-26, 20:26   +/
> Пара промптов и пара скриптов на баше в помощь.

Это не пара промптов.
Нужно сделать для каждой утилиты набор данных, на которых будет измеряться производительность с разными опциями.
Это если делать нормально.

Но согласен что оно не сильно и нужно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #124

126. Сообщение от Смузихлеб забывший пароль (?), 03-Фев-26, 20:31   +/
Прямо-таки уже представляется крупный проект на этом, который пилили неск лет и который заср*н всеми этими способами вперемешку от разных разработчиков и ещё десятком пока неизвестных
Тип, что будет потом заниматься поддержкой этого проекта, с первой же выплаты сможет купить себе персональную ракету и космическую станцию, т.к больше никто и за меньшее за это не возьмётся )
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #117

127. Сообщение от Аноним (-), 03-Фев-26, 21:07   +/
> Почему rust относится к программисту, как к глупому ребенку? Смотри, здесь ассемблер! Напиши unsafe и будь внимателен!

Unsafe - это не про внимательность, а про разграничение ответственности. Сишнику этого не понять.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65

128. Сообщение от анондирован (?), 03-Фев-26, 21:13   +/
Linux foundation также хочет продать программистов выкатив open source ai
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

129. Сообщение от анондирован (?), 03-Фев-26, 21:14   +/
Microslop обучали ChatGPT OpeyAI на открытых проектах c GitHub 🫢
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

130. Сообщение от Аноним (130), 03-Фев-26, 21:19    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #118

131. Сообщение от анондирован (?), 03-Фев-26, 21:20   +/
Embrace extend extinguish. M$ всегда так делают.
Ответить | Правка | Наверх | Cообщить модератору

132. Сообщение от Аноним (96), 03-Фев-26, 21:26   +/
На osdev.org куча земелкопов, которые пишут ядра в одиночку на Си и тоже все запускается и работает на реальном железе.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #121

133. Сообщение от Аноним (133), 03-Фев-26, 21:34   +/
Сам факт того как долго пилятся аналоги гнутых утилит(ведь это не файломенеджеры или сапры) красноречиво указывает на переусложнённость и раздутость кода этих самых утилит. GNUды просто взяли и разрушили лёгкий и понятный фундамент системы.
Ответить | Правка | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру