The OpenNET Project / Index page

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



"Выпуск Rust 1.79. Создан консорциум для разработки высоконадёжных систем на Rust"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск Rust 1.79. Создан консорциум для разработки высоконадёжных систем на Rust"  +/
Сообщение от opennews (??), 13-Июн-24, 23:31 
Опубликован релиз языка программирования общего назначения Rust 1.79, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки)...

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

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

Оглавление

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


1. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +22 +/
Сообщение от Аноним (1), 13-Июн-24, 23:31 
Зачем нужен консорциум, если Rust и так безопасный?
Ответить | Правка | Наверх | Cообщить модератору

6. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +10 +/
Сообщение от Аноним (-), 13-Июн-24, 23:37 
> если Rust и так безопасный?

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

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

11. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от 12yoexpert (ok), 13-Июн-24, 23:51 
1) синтаксис
2) борьба с компилятором вместо работы
3) аргессивная реклама и фанатики

Я как плюсовик несколько раз пытался тыкать раст, поддавался на хайп, но это скам, а не язык

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

13. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +9 +/
Сообщение от Аноним (13), 13-Июн-24, 23:59 
Я не топлю ни за раст ни за С++ ни за любой другой язык. Но слышать такое от С++ разраба это вообще дичь. Борьба с компилятором? Это когда ошибки в С++ хер прочтешь это ли не борьба с компилятором? Или когда в С++ куча неявного поведения в стандартной библиотеке? Самое глупое например что я видел это  std::endl который казалось бы должен просто добавлять конце строки в поток. Но он ко всему этому еще и флашит буффер. Почему он делает то о чем его название не говорит? Почему я должен об этом догадаться?  Или почему в мапе если нет значения при использовании с квадратными скобками он создаст значение? Это ж так очевидно, опять делают то что не просят

Все просто! Чтобы эффективно программировать на С++ ты ОБЯЗАН учить абсолютно все к чему притрагиваешься не важно на сколько очевидным оно тебе кажется. Это ж так удобно

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

15. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (1), 14-Июн-24, 00:01 
С rust то же самое, но вдобавок ужасный синтаксис и строгий компилятор, мешающий прототипированию.
Ответить | Правка | Наверх | Cообщить модератору

16. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +10 +/
Сообщение от Аноним (13), 14-Июн-24, 00:04 
> С rust то же самое, но вдобавок ужасный синтаксис и строгий компилятор,
> мешающий прототипированию.

В расте хватает говна согласен и не мало, особенно с избыточностью тех же unwrap(мелочь а бесит) и так далее. Но там чуть больше логики я в этом вижу(могу быть не прав, это субъективно для меня). Плюс все удобства в виде встроенного инструментария тестирования а также пакетного менеджера и нормального билда а не анального траха с CMake  и других таких вещей. Мне по работе необходимо много работать с С++ кодом и это дичь зачастую. Только если у тебя ОЧЕНЬ много опыта в С++ ты сможешь писать достаточно красивый, логичный и эффективный код.

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

23. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –2 +/
Сообщение от Витюшка (?), 14-Июн-24, 00:34 
Zig спасёт отца демократии
Ответить | Правка | Наверх | Cообщить модератору

474. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 17-Июн-24, 09:46 
> В расте хватает говна согласен и не мало, особенно с избыточностью тех
> же unwrap(мелочь а бесит) и так далее. Но там чуть больше
> логики я в этом вижу(могу быть не прав,

Ага, вон там товарисч фрикодер пример подогнал логику! :)


fn foo<'a, T: FromStr, I: IntoIterator<Item = T>, F: Fn(T) -> bool>(
    self: &'a Self,
    first: T,
    callable: F,
    iter: I,
) -> Result<&'a T, T::Err> {
    // ...
}

Ну что, сиплюсплюсеры, обломались?! Вас таки сделали!
Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

545. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Neon (??), 22-Июн-24, 21:59 
Даже у С++ эта абракадабра сломает мозг.) Еще более извращенный синтаксис, чем у С++
Ответить | Правка | Наверх | Cообщить модератору

345. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Советский инженер (ok), 15-Июн-24, 06:59 
>строгий компилятор, мешающий прототипированию

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

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

489. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Серб (ok), 17-Июн-24, 14:03 
> а кому и это сложно, тот вообще прототипипует на питоне.

И потом 20 лет пытается переписать на Си.

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

497. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Советский инженер (ok), 17-Июн-24, 17:03 
главное что у человека эти  20 лет есть хлеб с маслом, и возможно и на икорку хватает.
Ответить | Правка | Наверх | Cообщить модератору

35. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Алиса (??), 14-Июн-24, 01:38 
> Почему я должен об этом догадаться?

Ты должен для начала открыть reference manual чтобы не удивляться очевидному) П.с. Это если твоя IDE не подсвечивает синтаксис))

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

147. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Sw00p aka Jerom (?), 14-Июн-24, 12:25 
А ссылка где?

https://en.cppreference.com/w/cpp/io/manip/endl

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

47. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +2 +/
Сообщение от Аноним (47), 14-Июн-24, 05:25 
Почему до сих самых пор игры пишут на плюсах, а не на расте? В плюсах же - ведь все настолько плохо... а как вообще окна написали? Да и весь остальной код.
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

62. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +2 +/
Сообщение от Прохожий (??), 14-Июн-24, 06:37 
Очевидно, потому, что C++ гораздо раньше появился на свет, и уже успели написать очень много, и переписывать всё на новом языке выйдет довольно дорого (хотя движки игровые уже начали появляться и на Rust). Кроме того, в играх ошибки работы с памятью не особо критичны. Ну упадёт где-то игра, никто особо на деньги не пострадает. Только настроение у игрока испортится. Игру починят, и поедут дальше. В критичных же для бизнеса приложениях подобные ошибки чреваты большими убытками.
Ответить | Правка | Наверх | Cообщить модератору

72. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +2 +/
Сообщение от Аноним (72), 14-Июн-24, 08:40 
Раст уже 9 лет как "стабильный" язык почему на нём ничего не пишут?
Ответить | Правка | Наверх | Cообщить модератору

79. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (79), 14-Июн-24, 08:50 
пишут и много
например в блокчейне
Ответить | Правка | Наверх | Cообщить модератору

84. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +7 +/
Сообщение от Аноним (84), 14-Июн-24, 09:13 
очередное подтверждение, что это скам, а не язык
Ответить | Правка | Наверх | Cообщить модератору

99. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (99), 14-Июн-24, 09:55 
А биток ака "золотой стандарт" внезапно на крестах.
Ну, Вы поняли.
Про скам там уже писали.
Ответить | Правка | К родителю #79 | Наверх | Cообщить модератору

113. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от freecoder (ok), 14-Июн-24, 11:01 
Биткоин появился раньше, чем Rust.
Ответить | Правка | Наверх | Cообщить модератору

115. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (99), 14-Июн-24, 11:04 
Тем не менее, он не написан скажем на жабе.
Ответить | Правка | Наверх | Cообщить модератору

125. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 14-Июн-24, 11:35 
> Тем не менее, он не написан скажем на жабе.

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

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

130. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (99), 14-Июн-24, 11:51 
Вместе с тем бОльшая часть энтерпрайзного софта пишется на ней и на шарпах. По крайней мере из того, что видел лично я. Сейчас не говорю о том, что узкие места обычно пишутся на низком уровне.
Тем не менее Сатоши не воспользовался подобной парадигмой, а написал на крестах все, причем по мнению экспертов сделал это красиво.

Можем ли мы видеть корреляцию компетенций и айсикью в данном примере?
Ведь сама по себе реализация кодовой базы - вопрос прикладного характера, во многом руководствующийся бизнес логикой. Здесь же человек и/или группа людей придумал/и действительно новую фичу, вызвавшую усиление пульса пониже спины у представителей мировой фин системы, да еще и красиво реализовав на крестах. Без шума, пыли, охов и вздохов.
А ведь мог взять какую-нить предтечу раста, да в узких местах наваять на сях. Ан нет, почему-то он так не сделал.

Во истину этот человек гений. По моему скромному мнению.

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

134. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 14-Июн-24, 12:00 
BitShares был написан на плюсах и соскамился. Solana написана на Rust и держится. Нет ли тут корреляции?
Ответить | Правка | К родителю #130 | Наверх | Cообщить модератору

140. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (99), 14-Июн-24, 12:16 
Посмотрите гитхаб юитшарес, узнаете много нового и интересного.

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

Про солану почитайте новости, не так давно минувших дней.

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

347. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Советский инженер (ok), 15-Июн-24, 07:03 
> Раст уже 9 лет как "стабильный" язык почему на нём ничего не пишут?

а что нового за это время написали на плюсах?
все более менее стоящее стартануло сильно раньше.

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

547. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от Neon (??), 22-Июн-24, 22:02 
Так в стабильном языке до сих пор стабилизацию делают. От версии к версии.)))
Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

73. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (13), 14-Июн-24, 08:40 
> Почему до сих самых пор игры пишут на плюсах, а не на
> расте? В плюсах же - ведь все настолько плохо... а как
> вообще окна написали? Да и весь остальной код.

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

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

112. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (47), 14-Июн-24, 10:55 
Rust раз за разом бьет программиста по рукам - раз язык должен себе такое позволять?
Ответить | Правка | Наверх | Cообщить модератору

114. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 14-Июн-24, 11:03 
Бьёт только до тех пор, пока программист не научится программировать на Rust.
Ответить | Правка | Наверх | Cообщить модератору

150. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (47), 14-Июн-24, 12:31 
Язык должен делать то, что пожелает программист... не наоборот. Тем более бить его про рукам.
Ответить | Правка | Наверх | Cообщить модератору

154. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 14-Июн-24, 12:42 
Конечно. Поэтому Rust позволяет программисту делать всё, что он пожелает. Просто желать не нужно скверного.
Ответить | Правка | Наверх | Cообщить модератору

156. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 14-Июн-24, 12:53 
> Конечно. Поэтому Rust позволяет программисту делать всё, что он пожелает. Просто желать не нужно скверного.

Но тем не менее он позволяет делать даже скверное


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

101. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 14-Июн-24, 10:00 
Потому что если в игрушке будет out-of-bounds и она внезапно удалит все файлы юзера, то бідем иметь одну сгоревшую задницу.
А если такое же будет в ядре линукс, но получим удаленное выполнение случайного кода, то попа сгорит у кучи админов и людей с деньгами.

Поэтому в ядро добавляют раст, а на геймеров всем плевать.

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

164. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от JackONeillemail (?), 14-Июн-24, 13:33 
Потому что крупные игры на слуху делают не на языке, а на движках, первая 5ка из которых появились задолго до появления ржавого. По моему тут все просто. На rust идет разработка движков. Да и игры есть, не крупные конечно де пока. Все это гуглится на ура.
Ответить | Правка | К родителю #47 | Наверх | Cообщить модератору

66. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от Аноним (66), 14-Июн-24, 07:08 
> Я не топлю ни за раст ни за С++ ни за любой другой язык.

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

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

74. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (72), 14-Июн-24, 08:41 
Но ведь основа любого пузыря это святая вера.  
Ответить | Правка | Наверх | Cообщить модератору

116. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от freecoder (ok), 14-Июн-24, 11:07 
Вот я уже более пяти лет активно использую Rust в разработке, и у меня всё хорошо. Язык улучшается, экосистема растёт, что не может не радовать. Почему это он вдруг должен "сдуться"?
Ответить | Правка | К родителю #66 | Наверх | Cообщить модератору

146. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 14-Июн-24, 12:24 
Думаю если добавить все добавления в ядро, драйвера от шапки и асаши, то у хейтеров будет вообще кислое выражение лица)
Владельцы линукса решили что им достаточно CVE в ядре и теперь будут исправлять ситуацию
Ответить | Правка | Наверх | Cообщить модератору

106. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –2 +/
Сообщение от Аноним (106), 14-Июн-24, 10:33 
> ты ОБЯЗАН учить абсолютно все к чему притрагиваешься

Да, так всегда в жизни

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

109. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Герострат (?), 14-Июн-24, 10:37 
> Это когда ошибки в С++ хер прочтешь это ли не борьба с компилятором?

Ты читать не умеешь что ли?

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

137. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от _kp (ok), 14-Июн-24, 12:05 
>> когда ошибки в С++ хер прочтешь это ли не борьба с компилятором?

Смените IDE.
Вон, в Visual Studio, ткнёш в ошибку, и предлагаются варианты исправления на выбор, при опечатках и явных плюхах, то есть человеческом факторе, очень ускоряют работу.

>>казалось бы должен просто добавлять конце строки в поток. ... этому еще и флашит буффер.

Кажется - перекрестись и сплюнь.
Если поведение не явно оговорено, то ПО УМОЛЧАНИЮ будет как угодно, ибо иного не обещано, но на самом деле Вы можете настроить срабатывание flush.

>>Почему он делает то о чем его название не говорит? Почему я должен об этом догадаться?

Потому что плохо учились, или мало учились.

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

273. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от нейм (?), 14-Июн-24, 18:59 
тот самый visual studio который чтоб скачать - надо на тридварасов посмотреть?
Ответить | Правка | Наверх | Cообщить модератору

293. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от _kp (ok), 14-Июн-24, 21:45 
Не понимаю, на что у Вас приходится смотреть. Вы с этой планеты пишете?


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

14. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (1), 13-Июн-24, 23:59 
4. Экосистема, завязанная на централизованный обмен пакетами.
Помню был случай, когда разраб для экономии времени сборки запихал в crate блоб.
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

63. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Прохожий (??), 14-Июн-24, 06:41 
Что помешает этому же разрабу проделать подобное с кодом, который не входит в эту экосистему? И причём здесь вообще экосистема, которая всего лишь существенно облегчает поиск нужного тебе пакета и интеграцию в твой проект?
Ответить | Правка | Наверх | Cообщить модератору

86. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (84), 14-Июн-24, 09:15 
нафига это, если есть пакетный менеджер ОС и git?
Ответить | Правка | Наверх | Cообщить модератору

105. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (105), 14-Июн-24, 10:25 
Устанавливайте зависимости напрямую из любого гит репо, кто же вам запрещает.
Ответить | Правка | Наверх | Cообщить модератору

356. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от Аноним (-), 15-Июн-24, 08:26 
> Устанавливайте зависимости напрямую из любого гит репо, кто же вам запрещает.

Билдовка е...чим cargo и потуги качать полинтернета на каждый пшик.

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

371. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 15-Июн-24, 09:51 
>> Устанавливайте зависимости напрямую из любого гит репо, кто же вам запрещает.
> Билдовка е...чим cargo и потуги качать полинтернета на каждый пшик.

Зачем тебе инет?
Ты что, до сих пор не осилил как в toml прописать локальные зависимости?

Почитай хоть доку перед тем как позориться
doc.rust-lang.org/cargo/reference/specifying-dependencies.html

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

375. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 15-Июн-24, 11:26 
> Зачем тебе инет?
> Ты что, до сих пор не осилил как в toml прописать локальные зависимости?

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

> Почитай хоть доку перед тем как позориться
> doc.rust-lang.org/cargo/reference/specifying-dependencies.html

Доки доками а фактическкое состояние дел - это фактическое состояние дел.

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

455. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Прохожий (??), 17-Июн-24, 02:21 
>В каждом проекте это делать несколько задолбает.

Но в Си или Плюсах - это, считай, обязаловка. И тебя это почему-то устраивает.

>ЯП продвигает практики попадения на зависимость от вон той клики корпоративных директоров

Как будто тебя кто-то заставляет попадать к ним в зависимость.

> с единственной репой, увы и ах.

Никто не запрещает создать свою и пользоваться ею.

>Доки доками а фактическкое состояние дел - это фактическое состояние дел.

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

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

464. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (-), 17-Июн-24, 07:15 
>>В каждом проекте это делать несколько задолбает.
> Но в Си или Плюсах - это, считай, обязаловка. И тебя это почему-то устраивает.

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

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

> Как будто тебя кто-то заставляет попадать к ним в зависимость.

Существующие проекты юзающие это - вполне себе. И это недостаток. По сравнению с сями и плюсами, ага. Да, меня волнует "effective rule set" с котторым придется столкнуться а не формальные отмазки.

>> с единственной репой, увы и ах.
> Никто не запрещает создать свою и пользоваться ею.

Кроме того что в сях/плюсах я просто пойду и просто сбилдую а тут - левый гимор с каждым первым проектом.

> То, что тебе мерещится и у тебя паранойя - это не фактическое
> состояние дел, это искаженное восприятие реальности.

Это де-факто состояние дел. И перетрясать каждый первый проект - мягко говоря не рулит.

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

598. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Прохожий (??), 30-Июн-24, 15:25 
> На сях или плюсах я могу либы ставить - системным пакетником.

Добавят Rust сначала в ядро Линукса, а потом и в твой дистр, и будет практически то же самое. Да, понимаю, хотелось бы побыстрее. Но уж как есть.

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

Внезапно Google является активным участником развития ОС Linux. Как и Microsoft, кстати. Наверное, и Amazon там же. А твой дистр основан на ядре Линукса. Тоже внезапно, наверное.

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

Какого конкретно вендора? Вон же, компилятор Rust команда из gcc, вроде как, пилит параллельно.

> Существующие проекты юзающие это - вполне себе. И это недостаток. По сравнению с сями и плюсами, ага. Да, меня волнует "effective rule set" с котторым придется столкнуться а не формальные отмазки.

Дык посмотри, кто стандарты для Си и Плюсов ваяет, и прозрей.

> Кроме того что в сях/плюсах я просто пойду и просто сбилдую а тут - левый гимор с каждым первым проектом.

В чём конкретно его левизна? Твой дистр пока Rust не содержит, в этом всё дело?

> Это де-факто состояние дел.

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


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

19. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –2 +/
Сообщение от Аноним (19), 14-Июн-24, 00:11 
Кивание на синтаксис (вместо оценки семантики), общие слова и не технические аргументы - явные признаки "домашнего" программиста.
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

548. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Neon (??), 22-Июн-24, 22:05 
Конечно, профессиональный программист привык терпеть и чесание левой пяткой правого уха, всё, что от него потребует работодатель, даже абсурдное.
Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Алиса (??), 14-Июн-24, 01:35 
> 12yoexpert

Вот тут соглашусь с каждым пунктом данного одиозного товарисча) Особенно по 3 пункту

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

64. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от Прохожий (??), 14-Июн-24, 06:45 
1) вкусовщина (другими словами непрофессионализм).
2) недостаток знаний, плохое владение предметной областью (то есть, снова не профессионализм).
3) субъективное ничем не подтвержденное мнение (опять он, непрофессионализм).
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

127. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (127), 14-Июн-24, 11:40 
Я как сишник несколько раз пытался тыкать плюсы, поддавался на хайп, но это скам, а не язык.
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

145. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (145), 14-Июн-24, 12:23 
А правда, когда сишнику нужна структура данных типа словаря, то они подумают-подумают, решат, что не сильно то и надо, и сделают обычную таблицу-массив?
Ответить | Правка | Наверх | Cообщить модератору

148. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (-), 14-Июн-24, 12:26 
Однозначно!
По массиву легче идти-идти, а потом раз! и выйти за пределы.
Ну, чтобы жизнь стала интереснее.
Ответить | Правка | Наверх | Cообщить модератору

292. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (292), 14-Июн-24, 21:25 
То мы берем uthash
Ответить | Правка | К родителю #145 | Наверх | Cообщить модератору

482. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 17-Июн-24, 10:48 
> А правда, когда сишнику нужна структура данных типа словаря, то они подумают-подумают,
> решат, что не сильно то и надо, и сделают обычную таблицу-массив?

Или возьмут готовую либу. И будет им - ну вот это вот.

Более того - можно взять скадем toxcore - и на менее чем страницу кода влезет бот распределенного p2p месенжера. И вы даже на питоне каком сильно не отыграете, ибо секрет - в клевой либе с разумным апи "месенжер в либе".

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

В общем сказать что си низкоуровневый - ну вот зависит от. Каким боком целый распределенный месенжер в несколько строк, или HTTP серв так же - низкий уровень? Да, и корутины в нем тоже кстати есть, чисто по приколу - потому что могут.

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

487. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 17-Июн-24, 13:04 
> Или вон там lwan можно взять. И вот уже можно дать мастеркласc игогошнику на тему микросервисов, когда вот вам кастомный вебсервак, аж полстранички сей. С той разницей что это на си, а заодно - можно легко в топичный топ-чарт бенчмарков вломиться, есои хочется. И бинарь в сборе - не 10

мегов, а 120 кил на все.
Хм, а потом вломиться в топ 10 CVE, тк срезали углы как могли?
Не представляю где может иметь значение будет бинарь 10 метров или 1, ктоме какой-то эмбедедовки.

> В общем сказать что си низкоуровневый - ну вот зависит от. Каким боком целый распределенный месенжер в несколько строк, или HTTP серв так же - низкий уровень? Да, и корутины в нем тоже кстати есть, чисто по приколу - потому что могут.

Чисто по приколу можно и на брейнфаке писать, но почему-то мало кто этим занимается))


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

507. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 17-Июн-24, 23:01 
> Хм, а потом вломиться в топ 10 CVE, тк срезали углы как могли?

Да там CVE не лезут оптом, авторы одупляемые, умеют fuzzing и азы секурити. Тут надо просто смотреть на культуру кодеров и их практики. Если какой-то дид просто набивает себе цену а код - ужастик с кучей варнингов, это одно. А если это нормальный современный кодер с best practices - у него и сишку поюзать можно. Если они понимали antibug, security и все такое. Это видно.

Ну и в конце концов, изначально мы делаем софт чтобы он работал и работал хорошо. По прямому назначению. Без этого все остальное, извините, нахрен надо. А в HTTP сервантах основная масса вулнов лезет вовсе не там где вы вещаете. А какие-нибудь path traversal или request spoof и проч. При том если условному админу подшили левый реквест - еще большой вопрос что хуже. Огреть сплойтом hardened код - обломается на раз. А вот левый реквест принятый за админский - сервак сам же и выполнит, легитимным code path. И такой фигни - немеряно у всех.

> Не представляю где может иметь значение будет бинарь 10 метров или 1,
> ктоме какой-то эмбедедовки.

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

> Чисто по приколу можно и на брейнфаке писать, но почему-то мало кто этим занимается))

Ну вы можете писать на чем там вам нравится. А пример от freecoder'а выше, так то, может составить брейнфаку довольно достойную конкуренцию. А то что в новой версии это можно писать менее погано - не гарантирует что в существующем проекте таким кодом не огорошат. Си хорош хотя-бы тем что ТАКОЕ выдать кодер все же забодается и устанет, и забьет на такие потуги. Так что настолько феерично гунявый немайнтенабельный код на нем - просто неудобно.

И за дидом я могу и рефакторнуть ценное алго, подумав за них насчет краевых условий и проверив fuzzing'ом что я прав в моих идеях. Хоть это и позор для них конечно. А вон то - write-only код. Майнтайнить это не будет никто и никак.

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

500. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (500), 17-Июн-24, 17:36 
> а заодно - можно легко в топичный топ-чарт бенчмарков вломиться, есои хочется.

Но лишь топ-чарт ничего не значащих синтетических хелловротов, ага.

> В общем сказать что си низкоуровневый - ну вот зависит от. Каким
> боком целый распределенный месенжер в несколько строк, или HTTP серв так же - низкий уровень?

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

> Да, и корутины в нем тоже кстати есть, чисто по приколу - потому что могут.

А еще можно эмулировать ООП, функциональщину и проч. - но опять же, как обычно, плохенько-кривенько-тормознутенько (гтк передает приветы) и лишь для демонстрации "смотри как я могу".

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

526. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 19-Июн-24, 05:34 
>> а заодно - можно легко в топичный топ-чарт бенчмарков вломиться, есои хочется.
> Но лишь топ-чарт ничего не значащих синтетических хелловротов, ага.

С одной стороны - я себе напилил с пяток хеловорлдвовых ботов. Они спамят меня интересными событиями и проч. И это - за считаные минуты. Без регистраций и смс. И даже локальный сегмент при отвале интернета пашет. Чем оно и круто. Теперь попробуйте это с любым иным месенжеорм на хоть каком яп. Там извините трешак - на уровне невменяемых апей, так что за счтанные минуты не получится ни на чем. Тем более без регистраций и смс. А, да, на хрусте вариант либы тоже пытались. Но оказалось что языком трындеть не мешки ворочать, так что либа как бы есть но как бы недопиленая по фичам. Хрустики слили сишникам при равноценном зарубе :)

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

А так, если так рассуждать - тогду у тех вообще 90% кода будет ненужный brainfart, да еще с периодом полураспада год-два. И уж этим ли господам пенять на эту тему?

> Таким [боком], что что-то сложнее хелловрота написать и поддерживать будет сильно геморно.

ИМХО сильно зависит от ситуации. Ну да, CRM так делать наверное не надо. Однако сейчас в тренде микросервисы, которым как раз сложными быть и не надо.

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

Засилье - нет. Но некую свою нишу нашло. Каки всякие более странные вещи типа libmicrohttpd. Этого юзают когда хотят в существующую программу немного веба добавить. Ну там морду управления грубо говоря.

> А еще можно эмулировать ООП, функциональщину и проч. - но опять же,
> как обычно, плохенько-кривенько-тормознутенько

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

> (гтк передает приветы) и лишь для демонстрации "смотри как я могу".

Этак еще окажется что вы гадили на бошки гномерам - юзая их проги и тулкит, не? Потом нубохрустики и прочие игогошики удивляются чего их считают выскoчкaми и пoзepaми :)

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

531. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (531), 19-Июн-24, 12:31 
>> Но лишь топ-чарт ничего не значащих синтетических хелловротов, ага.
> С одной стороны - я себе напилил с пяток хеловорлдвовых ботов. Они спамят меня интересными событиями и проч.

Еще можно запилить хелловрот на асме и с тем же успехом написать "сказать что си^W Асм низкоуровневый - ну вот зависит от."


>> Таким [боком], что что-то сложнее хелловрота написать и поддерживать будет сильно геморно.
> ИМХО сильно зависит от ситуации. Ну да, CRM так делать наверное не
> надо. Однако сейчас в тренде микросервисы, которым как раз сложными быть
> и не надо.

Где-где эти самые массовые микросервисы, говорите?

>> А еще можно эмулировать ООП, функциональщину и проч. - но опять же, как обычно, плохенько-кривенько-тормознутенько
> Ну вот в lwan корутины так то довольно прикольные. И уж что-что а назвать его тормозным - ну вот нет. Оно в топах чартов, застолбив ряд "профильных" бенчмарков.

Но кроме демок и нишевого применения ничего не видать, а так-то да "все хорошо, прекрасная маркиза!". И ГТК4 ну вот совсем почти не тормозит, ага.


>> (гтк передает приветы) и лишь для демонстрации "смотри как я могу".
> Этак еще окажется что вы гадили на бошки гномерам - юзая их проги и тулкит, не? Потом нубохрустики и прочие игогошики удивляются чего их считают выскoчкaми и пoзepaми :)

Экий спрыг с "в сях можно и то, и это, во!" на "сам дурак!".
Этак еще окажется, что все кто мог, переползли с гномовского тулкита на кути и проч, оставив гномеров с их 3½ аппликухами фанатам. Потом 294ые удивляются, почему их считают балаб^W позерами.


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

533. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 20-Июн-24, 06:23 
> Еще можно запилить хелловрот на асме и с тем же успехом написать
> "сказать что си^W Асм низкоуровневый - ну вот зависит от."

У асма основная проблема - в том что он вообще совсем никак не структурированый. Ни по сегментам кода, ни по абстракциям данных. И если что - я на асме еще и прогал, так что его порблемы знаю из первых рук. А вы?

Хотя прочитать лекцию тому кто асм практиковал, от того кто его на картинке и то не факт что видел - с опеннетных экспертов станется.

> Где-где эти самые массовые микросервисы, говорите?

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

> Но кроме демок и нишевого применения ничего не видать, а так-то да
> "все хорошо, прекрасная маркиза!". И ГТК4 ну вот совсем почти не тормозит, ага.

Все познается в сравнении. Если сравнивать его с HTML, электронами всякими и проч... он даже окажется не такой уж и плохой, пожалуй, в том числе и по этому аспекту :)

> Экий спрыг с "в сях можно и то, и это, во!" на "сам дурак!".

Не спрыг а выражение мнения о тех кто ср@тся на бошку тех на чьих плечах стоит. Вот конкретно хрустики и прочие игогошики - вообще не сделали ни 1 графического тулкита достойного упоминания, так что о чем мы тут вообще? Гнум соревнуется - с секундной стрелкой. С кутями на плюсах. Но точно не с хрустиками и не игогошиками. Эти не смогли - никак.

> Этак еще окажется, что все кто мог, переползли с гномовского тулкита на
> кути и проч, оставив гномеров с их 3½ аппликухами фанатам. Потом
> 294ые удивляются, почему их считают балаб^W позерами.

Так куть, внезапно, на плюсах. Хруситики и игогошики к этому не причастны, опять же. Это все побиваемые их камнями плюсеры, лол.

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

535. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (531), 20-Июн-24, 11:50 
> У асма основная проблема - в том что он вообще совсем никак не структурированый.
> Ни по сегментам кода, ни по абстракциям данных.

Вообще-то, у основных диалектов - макросы и проч были.
structы, как в сишке, с доступом к полям не через ручной расчет смещения адреса (как впрочем и к переменным на стеке), "функции-процедуры" и проч. даже упоминать не будем - кое-кто вообще "эмуляцию" OOP умудрялся делать.
Основная проблема у асма таки привязка к платформе, хоть ОС, хоть железа, там даже миграция с 32-бит на 64 - гемор.

> И если что - я на асме еще и прогал, так что  его порблемы знаю из первых рук. А вы?

В свое время и гуевые приложения на тройку-другую тыщ строк кода на нем писал и парочку под "барметал" и вон там даже HTTP (правда, еще 1.0) сервис был.
Точно хотите померятся "длиной"?

> Хотя прочитать лекцию тому кто асм практиковал, от того кто его на картинке и то не факт что видел - с опеннетных экспертов станется.

Эк самокритично-то, но почему о себе - в третьем лице?


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

569. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 25-Июн-24, 12:13 
> Вообще-то, у основных диалектов - макросы и проч были.

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

> structы, как в сишке, с доступом к полям не через ручной расчет
> смещения адреса (как впрочем и к переменным на стеке),

В асме таки нет каких-то особых проверок типов по настоящему. И в целом - структурирование программирование не про асм.

Понятно что с эн костылей можно сделать подобие си. Но сишка + если очень надо немного asm() или simd интринсиков, будет лучше. Потому что там это все по настоящему и портабельно.

> "функции-процедуры" и проч. даже упоминать не будем - кое-кто вообще
> "эмуляцию" OOP умудрялся делать.

Да понятно что с препроцессором и макро можно развернуться. Я на си сделал себе проверки что не трогаю явно левые биты вон тех регистров MCU, так что ну вот не даст тронуть 33-й бит в 32 бит регистре, да еще сломав все в компилтайме при такой попытке.

> там даже миграция с 32-бит на 64 - гемор.

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

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

> В свое время и гуевые приложения на тройку-другую тыщ строк кода

Я видел огромные проекты на асме, на сотни кило (вы их никогда не увидите, confidential proprietary). С очень сложной логикой, продвинутой математикой и проч. Проблема в том что это почти не подлежало расширению и майнтенансу. Даже мелкую фичу добавить - мучение. На сишке в 100 раз проще.

> Точно хотите померятся "длиной"?

Я могу. Но не факт что хочу. И посмотрев на то - я предпочел уметь сишку.

> Эк самокритично-то, но почему о себе - в третьем лице?

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

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

536. Скрыто модератором  +/
Сообщение от Аноним (531), 20-Июн-24, 14:45 
Ответить | Правка | К родителю #533 | Наверх | Cообщить модератору

319. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (319), 15-Июн-24, 01:46 
> 2) борьба с компилятором вместо работы

Потому что нечего привычные Вам, но опасные, грязные и зачастую неверные приемы работы в сишных проектах тащить в проекты раст.

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

178. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 14-Июн-24, 14:18 
> Полная верификация это долго и очень дорого - можно почитать сколько стоила верификация seL4, поэтому пытаются найти баланс.

Мне кажется, что последняя часть предложения неверна. Баланс между сложностью верификации и качеством результата верификации пытается найти rust сам по себе, точнее он уже нашёл какой-то компромисс, и теперь старается его держаться. Но когда речь заходит о формальной верификации поверх раста, то тут уже качество результата перестаёт быть предметом торга, и выставляется в 100%.

В расте формальная верификация значительно проще чем в C/C++[1], потому что большая часть работы выполняется компилятором, который заставляет программиста писать программу следуя определённым правилам. Там проблемы, я полагаю, в основном про масштабируемость решения. Ну и конечно надо дождаться, когда какой-нибудь из формальных верификаторов раста победит, чтобы я мог бы в Cargo.toml заказать только верифицированные депенденсы, и потом сделать `cargo verify`.

[1] https://graydon2.dreamwidth.org/312681.html

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

184. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 14-Июн-24, 14:47 
> Мне кажется, что последняя часть предложения неверна. Баланс между сложностью верификации и качеством результата верификации пытается найти rust сам по себе, точнее он уже нашёл какой-то компромисс, и теперь старается его держаться.

Ну раст никогда не заявлял целью "верификацию", скорее "исправить самые распространенные ошибки с памятью".

> Но когда речь заходит о формальной верификации поверх раста, то тут уже качество результата перестаёт быть предметом торга, и выставляется в 100%.

Согласен, тут как свежесть осетрины, первая и она же последняя.
Если говорить о формальной верификации то результат действительно должен быть 100%
Но если у нас есть 2 либы которые верифицированы, но радом есть прослойка обычного кода, то о верификации на 100% говорить естественно нельзя, но будет лучше чем без нее)

> В расте формальная верификация значительно проще чем в C/C++[1], потому что большая часть работы выполняется компилятором, который заставляет программиста писать программу следуя определённым правилам.

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

> Там проблемы, я полагаю, в основном про масштабируемость решения. Ну и конечно надо дождаться, когда какой-нибудь из формальных верификаторов   раста победит, чтобы я мог бы в Cargo.toml заказать только верифицированные депенденсы, и потом сделать `cargo verify`.

Вот что пришлось сделать при верификации seL4:
- 8,700 lines of C code and 600 lines of assembler
- создание модели на Хаскеле
- проверка этого при помощи Isabelle/HOL

И какой ценой)
- abstract spec took about 4 person months
- Haskell prototype 2 person years
- significant research and about 9 person years invested in formal language frameworks, proof tool
The total effort for the seL4-specific proof was 11 person years.
We expect that re-doing a similar verification for new kernel, using the same overall methodology, would reduce this figure to 6 py, for a total (kernel plus proof) of 8 person years. [1]

Т.е это очень сложно и дорого.
Но было бы очень классно действительно чтобы для Раста были отдельные либы или крейты которые верифицированы.

[1] web1.cs.columbia.edu/~junfeng/09fa-e6998/papers/sel4.pdf


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

52. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 14-Июн-24, 05:54 
> Зачем нужен консорциум, если Rust и так безопасный?

Раст безопасный, но вон там список CVE по слову Rust почему-то уже довольно длинный.

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

200. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от nonon (?), 14-Июн-24, 15:42 
Это как я случайно делил на ноль в расте)
Сваливался в панику...
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

204. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (99), 14-Июн-24, 15:50 
Это явный баг!
Надеюсь отправили багрепорт.
Ведь современные исследователи полагают, что на 0 делить можно. Даже порой пытаются это доказать!
Ответить | Правка | Наверх | Cообщить модератору

274. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (-), 14-Июн-24, 19:14 
> Это как я случайно делил на ноль в расте)
> Сваливался в панику...

Ну вот... А мог бы как нормальныя языки рута дать!
Или хотя бы произвольный код выполнить.

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

374. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от n00by (ok), 15-Июн-24, 11:25 
>> Это как я случайно делил на ноль в расте)
>> Сваливался в панику...
> Ну вот... А мог бы как нормальныя языки рута дать!
> Или хотя бы произвольный код выполнить.

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

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

4. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –9 +/
Сообщение от Аноним (99), 13-Июн-24, 23:36 
Скорей бы линукс уже на раст переписали! Нужно больше безопасности!
Ответить | Правка | Наверх | Cообщить модератору

88. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от нах. (?), 14-Июн-24, 09:20 
Ну опять двадцатьпять... говорите правильно: _начали_переписывать_!

Нет кода - вот и безопастненько!

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

5. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +8 +/
Сообщение от iiiypuk (ok), 13-Июн-24, 23:36 
> Создан консорциум для разработки высоконадёжных систем на Rust

Каждый второй проект на Rust

> unsafe

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

8. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +2 +/
Сообщение от Карлос Сношайтилис (ok), 13-Июн-24, 23:40 
Каждый любой проект на любом языке использует системные вызовы, которые написаны на языке unsafe by design. И?
Ответить | Правка | Наверх | Cообщить модератору

38. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +3 +/
Сообщение от Аноним (38), 14-Июн-24, 02:44 
> И?

Каков смысл в "безопасном языке", если без unsafe никуда?

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

45. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от MT (ok), 14-Июн-24, 03:44 
Сначала пишем библиотеки-обвязки с `unsafe`, потом используем эти библиотеки уже в безопасном стиле.
Ответить | Правка | Наверх | Cообщить модератору

48. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (47), 14-Июн-24, 05:27 
И это превратит его в безопасный код?
Ответить | Правка | Наверх | Cообщить модератору

51. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Прохожий (??), 14-Июн-24, 05:48 
Это поможет гораздо быстрее находить ошибки.
Ответить | Правка | Наверх | Cообщить модератору

76. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от Аноним (72), 14-Июн-24, 08:44 
Нет не поможет, проснись.
Ответить | Правка | Наверх | Cообщить модератору

320. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Прохожий (??), 15-Июн-24, 01:49 
Я не сплю. Когда возможные проблемные места изолированы, ошибки искать быстрее и проще, чем когда они размазаны по всему коду. Вроде, банальные вещи.
Ответить | Правка | Наверх | Cообщить модератору

344. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от Аноним (47), 15-Июн-24, 06:12 
Вы так рассуждение, как-будто все ошибки и проблемные места будут изолированы в unsafe-блоках... пожалуй, на этом можно и заканчивать. В вашем дивном мире - розовые пони, случайно, не летают..?
Ответить | Правка | Наверх | Cообщить модератору

456. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Прохожий (??), 17-Июн-24, 02:25 
Кто бы говорил про дивные миры. Вы там что-то себе нафантазировали от моего имени и потом пытаетесь это оспорить. Я где-то сказал о всех ошибках?
Ответить | Правка | Наверх | Cообщить модератору

117. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от freecoder (ok), 14-Июн-24, 11:11 
Концепция безопасности в Rust предполагает использование unsafe там, где компилятор не может гарантировать безопасность и её должен гарантировать программист. Unsafe - полноценный и необходимый элемент языка Rust. Если вы ожидали другого - это проблема ваших ожиданий, сам Rust не скрывает важности и нужности unsafe.
Ответить | Правка | К родителю #45 | Наверх | Cообщить модератору

166. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (166), 14-Июн-24, 13:39 
> де компилятор не может гарантировать безопасность и её должен гарантировать программист.

Цепь прочна ровно настолько, насколько прочно её слабое звено. Так что панацеи не получилось, всё равно всё упирается в профессионализм программиста.

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

172. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 14-Июн-24, 14:01 
> Цепь прочна ровно настолько

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

> профессионализм

пока что профессионалы лепять очередное double-free в ядре на сишечке

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

185. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (47), 14-Июн-24, 14:50 
В случае обвязок, аналогия достаточно верная - так как учитывает иерархию. А вот ваша - нет.
Ответить | Правка | Наверх | Cообщить модератору

546. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Neon (??), 22-Июн-24, 22:01 
Если часть дверей гнилые и нет замком, то замена половины дверей лучше точно не сделает. Тут надо всё менять
Ответить | Правка | К родителю #172 | Наверх | Cообщить модератору

428. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 16-Июн-24, 13:26 
Как лучше: проверять каждое звено на гниль, или только 20% звеньев, так как для 80% автоматически гарантирована исправность?
Ответить | Правка | К родителю #166 | Наверх | Cообщить модератору

9. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (-), 13-Июн-24, 23:42 
> Каждый второй проект на Rust

Не каждый. Тут совсем недавно была статистика www.opennet.ru/opennews/art.shtml?num=61251, что только 20% крейтов содержат unsafe.

А которые содержат, чаще всего используют для вызова дыряшечных функций через FFI, что по определению не может быть безопасно. И самый жирый по использованию unsafe - crate-пакет windows, являющийся обвязкой над API платформы Windows.

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

31. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +3 +/
Сообщение от Алиса (??), 14-Июн-24, 01:28 
Unsafe это прям как goto сегодняшних дней. Удобно, эффективно, но небезопасно. Кстати unsafe это больше про системное программирование, там где прям нужно лезть в саму память. Большинство прикладных программ этого не требуют)
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

46. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от cheburnator9000 (ok), 14-Июн-24, 03:49 
Некоторые графические программы хотят более лучше интегрироваться в систему и как-то с ней взаимодействовать. И не изобретать велосипед на каждый чих. Но до сих пор на каждый чих все изобретают свои способы подходы к вопросам. Под макос все просто есть Cocoa API, там по сравнению с WinAPI все куда более организовано. А под линуксом что? 100500 сервисов которые реализованы для общения либо через сокеты, либо через dbus, либо вообще умудряются микро http сервер держать для rest api. И все это ради чего? Правильно чтобы не влезать в "unsafe" мир. Тогда почему Apple это вообще не колышит, а под линуксом каждый второй изобретает велосипеды лишь бы оно не было на C/C++.
Ответить | Правка | Наверх | Cообщить модератору

104. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (104), 14-Июн-24, 10:24 
> И все это ради чего? Правильно чтобы не влезать в "unsafe" мир.

Нет конечно. Просто разработка линукса - это базар в худшем его виде.
Лебедь, рак и щука просто нервно курят в сторонке, глядя на это сборище непризнанный "гениев", засилье NIH и stable anything nonsense. Причем все попытки сделать хоть что-то стандартом де-факто оборачиваются метанием продуктов жизнедеятельности в создателя.

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

131. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (131), 14-Июн-24, 11:53 
Один сделал стандарт де факто, теперь система при разлогине пользователя браузер прибивает.
Ответить | Правка | Наверх | Cообщить модератору

508. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 17-Июн-24, 23:03 
> Один сделал стандарт де факто, теперь система при разлогине пользователя браузер прибивает.

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

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

190. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (190), 14-Июн-24, 15:15 
Апле оно не колышит потому что в году 16 они принудидили своих писак писать на своем растоподобном. Там тоже пытаются обработку всехвсех ошибок во время сборки делать.
Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

299. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от cheburnator9000 (ok), 14-Июн-24, 23:37 
> Апле оно не колышит потому что в году 16 они принудидили своих
> писак писать на своем растоподобном. Там тоже пытаются обработку всехвсех ошибок
> во время сборки делать.

Алее, у Apple API всегда доступны в двух вариантах. В Obj-C, и в Swift. https://developer.apple.com/documentation/foundation/nsnotif...

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

49. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от Аноним (47), 14-Июн-24, 05:29 
Что-то мне подсказывает, без unsafe - особо дальше hello world не уехать.
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

238. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Наноним (?), 14-Июн-24, 17:38 
Даже hello world без ансейва не написать, нужно сделать системный вызов write - а систем вывзов это unsafe операция
Ответить | Правка | Наверх | Cообщить модератору

67. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Илья (??), 14-Июн-24, 07:09 
> Большинство прикладных программ этого не требуют

Прикладные лучше на c# писать. Дотнет вылизали как конфетку последнее время.

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

69. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (69), 14-Июн-24, 08:29 
Последние лет 15 если быть более точными.
Хорошие быстрые и надежные приложения.
Но есть нюансы - смотря какая предметная область - Если какие либо приложения с UI - MS умудрилась ловко забросить годный WinForms, потом так же ловко слить 10 лет назад Сильверлайт и WPF, и сейчас там все довольно туманно - активного развития давно, последние 10 лет, там нет.
Плюс доступных и бесплатных развитых IDE тоже нет -кроме VS Comunity требующий регистрации в MS - свободный и кривой MonoDevelop давно заброшен.
А так да, все конфетно, но с элементами некромагии.
Ответить | Правка | Наверх | Cообщить модератору

169. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Илья (??), 14-Июн-24, 13:51 
> Но есть нюансы - смотря какая предметная область - Если какие либо приложения с UI - MS умудрилась ловко забросить...

Ну я на беке работаю, мне хорошо, тут дотнет только хорошеет. А про UI согласен. Каждые несколько лет Microsoft пилит новый UI фреймворк, а один закапывает. Я бы и рад освоить Blazor, но судя по тенденции, лучше взять React, который никуда не денется еще лет 10.

> Плюс доступных и бесплатных развитых IDE тоже нет

A такие бывают для других технологий? В дотнет мире всё очень даже хорошо с идешками. Visual Studio Community хорош. Для профессиональной разработки есть Rider, но он платен. VS Code - тоже вариант.


> А так да, все конфетно, но с элементами некромагии.

Удивительно, как это у нас получается. У меня на прошлой работе было два проекта. Один на dotnet framework 3.5, а другой на дотнет 3.1. Если вы понимаете, о чём я

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

401. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 15-Июн-24, 21:05 
> Ну я на беке работаю, мне хорошо, тут дотнет только хорошеет. А
> про UI согласен. Каждые несколько лет Microsoft пилит новый UI фреймворк,
> а один закапывает. Я бы и рад освоить Blazor, но судя
> по тенденции, лучше взять React, который никуда не денется еще лет 10.

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

Так что вынесут вас куда-то на уровень кобола, когда оно вроде есть - но уже махровое deprecated, legacy, NRND, в общем - паллиатив для тех кто от батареи отковаться не смог. А остальные будут сабж юзать. Без минусов того переростка.

>> Плюс доступных и бесплатных развитых IDE тоже нет
> A такие бывают для других технологий? В дотнет мире всё очень даже
> хорошо с идешками. Visual Studio Community хорош. Для профессиональной разработки есть
> Rider, но он платен. VS Code - тоже вариант.

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

> Удивительно, как это у нас получается. У меня на прошлой работе было
> два проекта. Один на dotnet framework 3.5, а другой на дотнет
> 3.1. Если вы понимаете, о чём я

О том что этот мусор не на 100% совместим между версиями и порой перенос на более новую версию это боль? Ну это майкрософт, они всегда все свои проблемы конвертят в проблемы даунстримов, кредо у них такое :). И именно поэтому оттуда подрапало немало девелоперс, девелоперс... но до некоторых, вот, как до жирафов ;). Хотя учить реактжыэс - это достойная участь для дотнетчика, конечно. Или как еще эпичнее признать что продолбал море времени и резервов мозга ни на что?!

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

478. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (478), 17-Июн-24, 10:11 
MS кидает всегда.., ну прям как девиз Таргариенов из игры престолов :)

ВПФ, сильверлайт, а теперь еще блазор - то же, но вид сбоку, через несколько лет забросят, но успеют задолбать адептов платными курсами и конференциями.
И поэтому аноним вовремя соскочил обратно на C++ когда работа появилась.

> У майкрософта и их маркетинга теперь новая игрущка - сабж. Они даже в совет директоров вписались

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

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

484. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 17-Июн-24, 11:25 
> MS кидает всегда.., ну прям как девиз Таргариенов из игры престолов :)

Я очень плотно партнерил с ними. Так что отлично в курсе как они работают. И как их саппорт работает. И что может отколоть их маркетинг. И как сие на бошку "партнеров" ощущается.

> ВПФ, сильверлайт, а теперь еще блазор - то же, но вид сбоку,

Да лол, нетчиков уже разок депрекейтили в пользу html плиток на уровне маркетинга. И такой ножик в спину - еще в восьмерке аж, на минуточку. А тут до жирафа что-то доходить стало, лол.

> через несколько лет забросят, но успеют задолбать адептов платными курсами и конференциями.

ЧСХ это знание тоже вскоре придется списать в утиль.

> И поэтому аноним вовремя соскочил обратно на C++ когда работа появилась.

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

> Но все же сабж и донет несколько разные вещи и разные области применения.

Дотнетчикам бы хотелось так думать, но де факто их ниши там и тут - порубали и что им в результате осталось - хрен его знает. Наверное, pre-existing легаси корпоративные проекты которые майнтайнить в виде "приковали кодера к батарее чтоб не сбежал".

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

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

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

486. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 17-Июн-24, 12:57 
> И культура экосистемы мне как-то больше нравится. Вместо потребителей загибающих пальцы относительно объема захаваного - созидатели, которые сообща работают над тем что им нравится. Намного круче имхо.

Классный у тебя Линукс, а где ты такой нашел?

Я вижу типичную ситуацию "лебедь, рак и щука", 100500 дистров которые отличаются нескучными обоями.
Сообщество потербялдей, которые сами нифига не делают, зато ноют в двух случаях:
1. когда корпы что-то добавляют, например системмд
2. когда корпы что-то удаляют, например ХОрг
Причем вклад майкрософта думаю больше чем половины васянов, не зря он все-таки платиновый спонсор

Ну еще есть всякие междуусобчики кто более швободистый каноебут или либрбут.

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

509. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 17-Июн-24, 23:24 
> Классный у тебя Линукс, а где ты такой нашел?

В смысле где, он такой один - kernel.org. Это и есть линукс. Ядро. Те кто его делают на мой вкус самые крутые спецы с которыми я когда либо работал.

> Я вижу типичную ситуацию "лебедь, рак и щука", 100500 дистров которые отличаются
> нескучными обоями.

А я беру дебиан. Это моя стартовая площадка. Модули, из которых я наберу систему которая была нужна в задаче, начав с ультра-минимального фундамента. При том 99% пакетов будут майнтайнить - другие. Так что я могу фокусироваться на специфике задачи и утрясании тех хотелок с этими возможностями в пределах скиллов.

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

Теперь вы понимаете почему я не буду юзать винду даже если мне за это приплатят? У нее швах со всем. С модульностью. Поддержкой платформ. Вертикальным масштабированием. Кастомизацией. Автоматизацией. Предсказуемостью. Подконтрольностью. Всем что я люблю и ценю, в общем.

> Сообщество потербялдей, которые сами нифига не делают, зато ноют в двух случаях:

Вы не по адресу. Я таки стараюсь взаимодействовать с апстримами если поводы есть. И за годы я и патчей много куда раскидал, и помог загасить немало багов, и вообще. А как вы думаете я узнал что с линуксоидами совместно работать - кайфово? :P

> 1. когда корпы что-то добавляют, например системмд

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

> 2. когда корпы что-то удаляют, например ХОрг

Опять же. В моем лексиконе это "проблемный компонент" и я не буду о нем сильно скучать.

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

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

> Ну еще есть всякие междуусобчики кто более швободистый каноебут или либрбут.

А немного конкуренции так то - вообще совсем не есть плохо. Правда для себя я решил что свободнее - ARM и RISCV. И имхо мой следующий воркстейшн будет уже вот чем-то таким. А что, у меня в всех воркфлоу только опенсорсный софт - мне похрен какая там архитектура проца. А вон там уже господа выкатывают RISCV которые начинают выглядеть норм как небольшой воркстейшн для меня. Да, я ценю свободу маневра и возможность отделаться от благодетелей-нагибателей.

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

77. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (72), 14-Июн-24, 08:46 
Большинство производительных прикладных программ написано но Go.
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

89. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (84), 14-Июн-24, 09:21 
и что они производят, кроме тепла и сотен мегабайт мусора на диске для хранения себя же?
Ответить | Правка | Наверх | Cообщить модератору

126. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 14-Июн-24, 11:39 
> и что они производят, кроме тепла

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

А если для вас пара сотен мб это много... значит вы застряли где-то в 90х-2000х.
Потому что сейчас терабайтные ссд даже у самых нищуков есть.

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

132. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (131), 14-Июн-24, 11:56 
Хотелось бы на этих терабайтных ссд хранить ещё что-то помимо программ.
Ответить | Правка | Наверх | Cообщить модератору

174. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Илья (??), 14-Июн-24, 14:04 
> А если для вас пара сотен мб это много... значит вы застряли где-то в 90х-2000х.

Не устану повторять, что дешевизна оперативной памяти - миф.

1. Большинство современных ноутбуков продаётся с распаянной памятью. Расширение памяти по стоимости равно покупке нового устройства.

2. Каждые пару лет необходимо расширять оперативную память в два раза. Не на пару сотен мегабайт, а в два раза.

3. Мне для комфортной работы необходимо 32 гига. А если с запасом брать - то не менее 64 гигов. 32 гига, КАРЛ

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

180. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (180), 14-Июн-24, 14:23 
> Не устану повторять, что дешевизна оперативной памяти - миф.

Можно просто посмотреть статистику цены оперативки за последние лет 10.
И убедиться что это не миф.

> 1. Большинство современных ноутбуков продаётся с распаянной памятью. Расширение памяти по стоимости равно покупке нового устройства.

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

> 2. Каждые пару лет необходимо расширять оперативную память в два раза. Не на пару сотен мегабайт, а в два раза.

Неправда. Есть некие комфортные стандарты.
16 гигов держалось думаю лет 5-8.
32 будет хватать еще лет 5-10.

> 3. Мне для комфортной работы необходимо 32 гига. А если с запасом брать - то не менее 64 гигов. 32 гига, КАРЛ

Для работы!
Мне для работы нужен не только комп, а еще и станок который весит 5 тонн.
5 тонн, Карл!
Обычных юзеров это вообще мало волнует.
Они получают готовый бинарь и раз в 10 лет просто покупают новый комп, а старый отдают тем, кому нужна печатная машинка.


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

176. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (99), 14-Июн-24, 14:14 
>Потому что сейчас терабайтные ссд даже у самых нищуков есть.

Нищуков. Новый перл?!
Как-то до сих пор справляюсь с 256гб. 1тб ссд не имею.
Коли Вы не нищук, подкинете немного криптовалютного лута нищуку, для обновления приборной базы? Или это так  ради "красного словца"?

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

181. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от Аноним (-), 14-Июн-24, 14:30 
> Как-то до сих пор справляюсь с 256гб.

Молодец.
> 1тб ссд не имею.

Сочувствую. Даже интересно, как вы работаете?
Проекты на ссд существенно быстрее собираются. Можно конечно сделать рамдиск гигов на 32 и перекинуть кеш туда...

А у меня 850PRO на 256Гб (ему уже почти 10 лет!) и 860EVO на 2Тб. Не топчик конечно, но пока хватает.
Как только перестанет хватать или по скорости, или по размеру - просто куплю новый.
Сейчас 990 PRO на 4TB стоит 350 баксов. Ну пусть с налогами будет 400.
Кажется это любой айтишник позволить может. И хватит его на ближайшие лет пять точно.
А потом просто перейдет на что-то менее ответственное еще лет на пять.
У меня предыдущая ссд на 120гб с десктопа съехал в ноут, а потом в комп для телека. И жив до сих пор, хотя ему лет 15.

> Или это так  ради "красного словца"?

Прости, нищим не подаем.

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

186. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (99), 14-Июн-24, 14:50 
>Сочувствую. Даже интересно, как вы работаете?

Я свое уже отработал. Мне в этом нет нужды.

>А у меня 850PRO на 256Гб (ему уже почти 10 лет!) и 860EVO на 2Тб. Не топчик конечно, но пока хватает

Кингстон 256гб. Ему 13 лет. Хватает.
Для ускорения сборки полагаю, красный триппер какой овер 100500 ведер надо бы.

> стоит 350 баксов. Ну пусть с налогами будет 400.

Кажется это любой айтишник позволить может.

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


>Прости, нищим не подаем.

А чего так? Только понты кидаете, да про инфантилизм рассуждаете?

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

199. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 14-Июн-24, 15:42 
> Я свое уже отработал. Мне в этом нет нужды.

Ну тогда вам и прикладного софта не так много и нужно)) В 256Гб точно должен влезть.

> Для ускорения сборки полагаю, красный триппер какой овер 100500 ведер надо бы.

Нет, но действительно жду старта продаж Granite Ridge. Но это для рабочего компа. Для домашнего мне хватает уже не помню какой АПУ.

> Наравне с веяниями текущих лет впитали в себя не совсем хорошую совковую привычку оценивать чужой карман.

А что не так? Средняя, медианная и даже минимальная ЗП для IT известны. В разных источниках они чуток плавают, но их тоже можно усреднить. И относительно них вполне валидно давать оценки.

> А чего так?

А тогда не хватит на новый ссд))

> Только понты кидаете, да про инфантилизм рассуждаете?

Я бы понял вас, если бы я хвастался многоголовым серваком на over 9000 ядер + схд на 100500Тб... это да, понты.
А если для вас понты сддешка на 2Тб... ну не знаю, мне вас жаль наверное.
Для меня это обычный рабочий инструмент.

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

207. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (99), 14-Июн-24, 16:05 
>Нет, но действительно жду старта продаж Granite Ridge

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

>А что не так?
> И относительно них вполне валидно давать оценки.

Оно и не так. Такие оценки давать в принципе не очень хорошо. Всегда хорошо смотреть в свой карман. А в чужом хозяин кармана сам разберется.
Кто-то будет инвестировать в конпуктер, кто-то в финансовые инструменты, кто-то в детей...

>А тогда не хватит на новый ссд))

Не факт. Будьте милосердны и обрящете.

>А если для вас понты сддешка на 2Тб..

Для меня понты - это спичи вида: кто не купил ссдшник на &tb тот нищук.
Мир намного глубже и многограннее, чем кажется на первый взгляд.

И потом, что плохого в нищете? Сегодня Вы можете быть на коне, завтра под конем. Легко. Произвол, здоровье...тысячи их. Важно лишь то, кем Вы при этом будете. Речь о личностных качествах.

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

297. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (-), 14-Июн-24, 23:22 
>> А чего так?
> А тогда не хватит на новый ссд))

А, ты и сам нищук, просто "я уже 5 минут как из-за парты, но как же я вас, школьников, уже ненавижу!!!111" видимо.

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

7. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +3 +/
Сообщение от Аноним (7), 13-Июн-24, 23:38 
Оказался недостаточно безопасным для решений требующих повышенной надёжности?)
Ответить | Правка | Наверх | Cообщить модератору

10. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +4 +/
Сообщение от Аноним (-), 13-Июн-24, 23:45 
Разумеется.
MISRA C был предуман не просто так.
Ада была создана для разработки надежных систем, но это не помешало им сделать еще более безопасный Spark.
Всегда можно улучшить надежность дополнительными проверками, ограничениями или админ. палкой.
Ответить | Правка | Наверх | Cообщить модератору

30. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –3 +/
Сообщение от Алиса (??), 14-Июн-24, 01:25 
Безопасность решается методологией написания кода, а не языком. Вот для ознакомления, короткое, но информативное видео: https://www.youtube.com/watch?v=GWYhtksrmhE
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

59. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +3 +/
Сообщение от Прохожий (??), 14-Июн-24, 06:18 
А теперь представь, что вместо изобретаемых организационных правил, не обязательных к соблюдению, тебя контролирует компилятор, который ты не сможешь игнорировать. И подумай ещё раз над тем, что ты сказала.
Ответить | Правка | Наверх | Cообщить модератору

108. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (104), 14-Июн-24, 10:37 
> Безопасность решается методологией написания кода, а не языком. Вот для ознакомления, короткое,
> но информативное видео:

Ты вообще видео отрывала? (открывал?)
Там третье же требование - youtu.be/GWYhtksrmhE?t=101 - не использовать heap.

И этим они пытаются решить типичные сишкопроблемы с памятью.
Т.е. они настолько осознали что сишники не смогут писать нормально, что решили "Тут не исправить уже ничего, Господь, жги!" и просто запретили malloc/free. Классное решение! Невероятно добавляет надежности!
А заодно в очередной раз показывает убогости сишки))

Там есть еще крутые "limit preprocessor" и "restrict pointer usage"))
А что остается от сишки, если выполнить все эти требования? Это же получается другой язык, ну или очень порезанный диалект.

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

275. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (275), 14-Июн-24, 19:31 
> и просто запретили malloc/free

Так и делаю давно, выделяю память и создаю потоки на стороне Java или python, там вся бизнес логика, в сишке супербыстрая числомолотилка. Получается всё хорошо.

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

220. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (220), 14-Июн-24, 17:10 
Сейчас бы не понимать разницы между гарантиями языка и надёжностью системы. Впрочем, иного от хейтерков ожидать не приходится.
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

402. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 15-Июн-24, 21:13 
> Оказался недостаточно безопасным для решений требующих повышенной надёжности?)

Safety и security это 2 довольно разных аспекта. Они местами пересекаются, по той линии что вулны это таки тоже - "незапланированное поведение программы". Но в целом это все же разные аспекты.

Можно написать безопасную в плане вулнов программу, которая однако хренова с точки зрения надежности. В частности хрустовский panic на любую проблему - надежности не подарок. И в линух кернеле это вылезло во весь рост. Оказывается, все вырубить при сбое - это хреновая идея для ядра ОС. По линии надежности работы такой ОС. И вот уже в сабже появились всякие try_* и прочие, и чем это так уж от alloc/free и проверок успеха отличалось - а вот ктулху его знает?! Те же грабли, другой синтаксис? ORLY? :)

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

414. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (319), 15-Июн-24, 23:13 
> И вот уже в сабже появились всякие try_* и прочие, и чем это так уж от alloc/free и проверок успеха отличалось - а вот ктулху его знает?!

Смею дилетантски предположить, что разница всё-таки есть. Именно в сочетании озвученных Вами надежности и безопасности. При условии что правильно понял Вашу претензию. В случае сишных (условных) "alloc/free и проверок успеха" если где-то забыть сделать "проверку успеха", то какая-нибудь вулна, радостно потирая ладошки, (опять же, условно) тихо перепишет область за границами массива нужным ей куском кода и поимеет систему и это может произойти совсем незаметно для жертвы. А в случае со ржавым, если забудешь сделать try_* и вулна попытается воспользоваться этим, вылезет panic, который уронит систему. Для надежности, конечно, нехорошо, но всё же лучше, чем зараженная система. Я правильно понял? Если да, это подтверждает Вашу претензию насчет синтаксиса для достижения надежности, но возникает большая разница в плане достижения безопасности.

> Те же грабли, другой синтаксис? ORLY? :)

В случае с си с его "alloc/free и проверок успеха" у нас нет ни надежности, ни безопасности.
В случае со ржавым у нас так же нет надежности, но зато есть значительно, кардинально бОльшая безопасность (потому что подавляющее большинство именно вулнов вызвано именно теми сишными ошибками работы с памятью).

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

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

420. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 16-Июн-24, 02:15 
> Смею дилетантски предположить, что разница всё-таки есть. Именно в сочетании озвученных
> Вами надежности и безопасности. При условии что правильно понял Вашу претензию.

Я не понимаю чем проверка успеха try_* отличается от проверки успеха *alloc и ко. Так просто и банально. Те же яйца, вид в профиль вроде. Может эксперты по хрусту расскажут

> А в случае со ржавым, если забудешь сделать try_* и вулна
> попытается воспользоваться этим, вылезет panic, который уронит систему.

Это тоже может быть CVE, если вызывается ремотно - "атакующий может вызвать отказ в обслуживании".

> Для надежности, конечно, нехорошо, но всё же лучше, чем зараженная система.

Возможность уронить систему - это тоже вулн, внезапно.

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

Насколько она там "кардинально" - это мы еще будем посмотреть. Ибо вон там пачка CVE уже висит, несколько сотен.

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

ЯП может это все так изгадить что сделать более-менее надежно и предсказуемо станет вообще малореально. Хруст правда совсем так не смог - но под ядро его пришлось сурово костылить, в том числе и try_*.

> мотивам) - создание отказоустойчивого сервиса на каком-нибудь эрланге с фреймворком OTP,

Ну покажите отказоустойчивый линукскернел на этом?

> где система будет построена по шаблону супервайзера с кучей перезапускаемых при
> сбоях процессах-воркерах.

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

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

433. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Советский инженер (ok), 16-Июн-24, 14:14 
>Я не понимаю чем проверка успеха try_* отличается от проверки успеха *alloc и ко.

если не проверил try_* - будет варнинг.
не проверил *alloc  - ничего не будет

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

472. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 17-Июн-24, 08:44 
> если не проверил try_* - будет варнинг.
> не проверил *alloc  - ничего не будет

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

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

12. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +5 +/
Сообщение от TydymBydym (ok), 13-Июн-24, 23:52 
> применяет концепцию неизменяемости [...] переменных

Вот за что мы его и любим! Просто не надо менять переменные и всё будет в поряде!

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

223. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (220), 14-Июн-24, 17:13 
Ещё один открыл для себя языки с неизменяемыми переменными. От функциональных ЯП небось вообще мозг взрывается, да? Шутка ли, мало того что переменные неизменяемые, так ещё и выполнение участка кода может быть отложено! Ну ничего, наберёшься опыта, научишься программировать, попустит.
Ответить | Правка | Наверх | Cообщить модератору

295. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от TydymBydym (ok), 14-Июн-24, 23:02 
Как для "менструирующих людей" есть правильное слово, так и для "неизменяемой переменной". А пока авторы язычка будут баловаться подобной е#аниной - счастья не будет.
Ответить | Правка | Наверх | Cообщить модератору

318. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Прохожий (??), 15-Июн-24, 01:46 
>счастья не будет

Кому? Вон и Гугл, и Майкрософт, и Клаудфлэр не нарадуются. И производительность программистов выше, и качество кода.

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

332. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от TydymBydym (ok), 15-Июн-24, 02:41 
>>счастья не будет
> Кому? Вон и Гугл, и Майкрософт, и Клаудфлэр не нарадуются. И производительность
> программистов выше, и качество кода.

Ну да, ну да. Вскрытие покажет. Я много инициатив видал, но которые конторки не чета вышеперечисленным не могли не нарадоваться. И где всё это сейчас?..

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

342. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Прохожий (??), 15-Июн-24, 04:08 
А что-то есть вечное в этом мире?

И что там вскрытие ещё должно показать, если уже есть отчёты счастливых разработчиков?

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

513. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 18-Июн-24, 01:26 
> А что-то есть вечное в этом мире?

Базовые законы физики, вероятно. Они будут существовать столько сколько существует этот мир. Если они изменились - ок, это вероятно уже другой мир, с другими свойствами.

Алгоритмы тоже вероятно можно причислить в эту категорию. Через N лет DCT так и останется DCT, а рид-соломон - рид-соломоном. То что не все из них может быть целесообразно применять через N лет это уже второй вопрос.

> И что там вскрытие ещё должно показать, если уже есть отчёты счастливых разработчиков?

...но что-то мне подсказывает что сишка пережиет и вас и меня. Он по своему прекрасен в своей простоте.

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

549. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Neon (??), 22-Июн-24, 22:07 
Они то может и радуются, вот только пользователи как то не радуются. Постоянным фейлам с теми же обновлениями у M$
Ответить | Правка | К родителю #318 | Наверх | Cообщить модератору

488. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 17-Июн-24, 13:35 
> Как для "менструирующих людей" есть правильное слово, так и для "неизменяемой переменной".

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

Константа небось? Но неизменяемая переменная не константа. Неизменяемость растовых переменных локальна, их значение меняется сквозь жизнь программы, часто их время жизни ограничено и меньше времени жизни всей программы. Это _не_ константы. Но C/C++ программистам конечно сложно понять, потому что они таким тонкостям необучены.

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

494. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +3 +/
Сообщение от n00by (ok), 17-Июн-24, 15:50 
> какое слово ты знаешь для неизменяемой переменной
> мне очень интересно, что это?

Пере-менная означает "меняющееся". "Неизменяемое меняющееся" называется одним словом - "чушь".

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

499. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (500), 17-Июн-24, 17:16 
> "Неизменяемое меняющееся" называется одним словом

Да и "постоянная переменная" (как и constant variable), по моему, ничем не лучше.
Менять (присваивать) значение мы можем: один раз - (обычно) с неопределенного на что-то другое (возможно, тоже неопределенное, кхе).
Но вот как назвать кратко и точно, без "выноса мозга"?


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

520. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 18-Июн-24, 12:12 
>> "Неизменяемое меняющееся" называется одним словом
> Да и "постоянная переменная" (как и constant variable), по моему, ничем не
> лучше.
> Менять (присваивать) значение мы можем: один раз - (обычно) с неопределенного на
> что-то другое (возможно, тоже неопределенное, кхе).
> Но вот как назвать кратко и точно, без "выноса мозга"?

В стандарте Си называют объектами. У объекта есть тип, в определении он предшествует имени объекта. Константные объекты для краткости называют константами, а изменяемые - переменными.

В функциональных языках похожая на определение переменной запись на самом деле является функцией:

let i = 0;; (* чистая ф., возвращает значение 0 типа int *)

Rust в конструкции как эта (из #6.430)

let sum = {
    let a = 1;
    let b = 2;
    a + b
};

отличается от функционального OCaml:

let sum =
  let a = 1 in
  let b = 2 in
  a + b
;; (* двойное ;; не всегда требуется *)

лишь слабой попыткой выглядеть как Си, за счёт спецсивмолов. ИМХО авторов испугал неудачный опыт Hackell и они принялись скрывать функциональную основу. Вместо того, что бы парить мозг "замена Си", следовало бы делать упор на "быстрый функциональный язык с возможностью писать интересные штуки на нижнем уровне абстракции".

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

551. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Neon (??), 22-Июн-24, 22:09 
А на фига такие сложности ?! Мало проблем, так их нужно еще и самим создать ?
Ответить | Правка | К родителю #488 | Наверх | Cообщить модератору

17. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Доктор Альбаemail (?), 14-Июн-24, 00:08 
Давайте перепишем всё на Rust, например, GNOME.
Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от iiiypuk (ok), 14-Июн-24, 00:17 
Gnome на Vala переписывать начали...
Ответить | Правка | Наверх | Cообщить модератору

39. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (39), 14-Июн-24, 03:15 
Что за внезапный прелестный сон?
Ответить | Правка | Наверх | Cообщить модератору

94. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Axel (??), 14-Июн-24, 09:29 
Pantheon
Ответить | Правка | Наверх | Cообщить модератору

407. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (407), 15-Июн-24, 22:23 
Так ему 10 лет в обед, и это не шутк
Ответить | Правка | Наверх | Cообщить модератору

475. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 17-Июн-24, 09:50 
> Так ему 10 лет в обед, и это не шутк

Так и сабжу в общем то - тоже. Так что инновация то уже - рядом с плесневелым сыром и настоявшимся вином.

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

24. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (24), 14-Июн-24, 00:34 
>объявила о создании консорциума "Safety-Critical Rust Consortium

Снова? Никогда не было и вот опять.

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

25. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +4 +/
Сообщение от Витюшка (?), 14-Июн-24, 00:36 
Новость хорошая. Но изучать эти кракозябры не очень охота.
Ответить | Правка | Наверх | Cообщить модератору

40. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +3 +/
Сообщение от Аноним (39), 14-Июн-24, 03:16 
То же самое хотел написать. Отличный язык! Но программировать на нём я конечно не буду
Ответить | Правка | Наверх | Cообщить модератору

50. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +4 +/
Сообщение от Аноним (47), 14-Июн-24, 05:31 
Программировать можно, но как потом читать все это безобразие? Я всегда считал плюсы ужасными, но раст одним махов их переплюнул.
Ответить | Правка | Наверх | Cообщить модератору

91. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +5 +/
Сообщение от нах. (?), 14-Июн-24, 09:22 
пиши в write-only style, ну как некоторые на перле в 90х.

Зачем его потом читать, он же - безопастный! Понадобилось что-то поменять? Просто удали код и пиши заново, это называется refucktoring, во!

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

323. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Прохожий (??), 15-Июн-24, 02:04 
>Зачем его потом читать, он же - безопастный!

Ещё один "юморист", наверное претендующий на остроумие. Уже 100500 раз обсудили, что Раст от всех возможных ошибок не страхует. Должно уже было дойти, даже до самых невменяемых. А поди ж ты.

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

296. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (296), 14-Июн-24, 23:17 
Приведи пример нечитаемого раста.
Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

322. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Прохожий (??), 15-Июн-24, 02:00 
Набор символов одинаков, что в Плюсах, что в Расте. Так, к слову.
Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

26. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +3 +/
Сообщение от Аноним (26), 14-Июн-24, 00:44 
Просто писать на Ада не вариант? Надо обязательно сделать то же самое самим?
Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от Алиса (??), 14-Июн-24, 01:22 
Ada хотя бы читабельная, а тут не пойми что, какой-то набор символов.
Ответить | Правка | Наверх | Cообщить модератору

58. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –2 +/
Сообщение от Прохожий (??), 14-Июн-24, 06:05 
Если не читать документацию, тогда, конечно, будет "не пойми что". А если читать документацию, всё будет относительно просто и понятно. Примерно, как с математикой.
Ответить | Правка | Наверх | Cообщить модератору

149. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от Bottle (?), 14-Июн-24, 12:29 
Не, ты что! Язык с одним компилятором против десятка коммерческих, без стандарта против языка со стандартом ISO, язык с арифметикой, разнящейся на машинах против языка с гарантиями точности, точно нужен!
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

314. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (314), 15-Июн-24, 00:43 
Да что вы с этими стандартами ЯП возитесь? Как будет готов язык и желающие создать другие компиляторы этого ЯП, то наверняка найдётся хитрый антимонопольный комитет какого-нибудь Евросоюза, который и попросит стандартизировать. Хотя можно и без стандарта, но тогда начнётся недобросовестная конкуренция. Всегда можно попросить какого-нибудь Абрамовича стандартизировать ЯП. Вам от этого легче станет? Сразу побежите по стандарту свой компилятор клепать?
Ответить | Правка | Наверх | Cообщить модератору

377. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 15-Июн-24, 11:58 
Стандарт нужен, когда у двух экспертов возникает спор. Решает его не тот, кто умело применяет риторику и доказывает по аналогии, а способный найти нужный пункт в стандарте.
Ответить | Правка | Наверх | Cообщить модератору

381. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от Bottle (?), 15-Июн-24, 12:29 
Потому что язычки без стандарта и языки с плохим стандартом обречены на раздробленную экосистему, что мы наблюдаем на примере C и C++. То собери этим компилятором строго этого года строго под Windows XP Service Pack 1, это симейком, а это базелем, а это ещё одной системой сборки с данными флагами компилятора. И молись, чтобы всё запустилось.
Даже т.н. легаси не спасёт языки от забвения, если совместимость не продумана наперёд.
Ответить | Правка | К родителю #314 | Наверх | Cообщить модератору

408. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (407), 15-Июн-24, 22:30 
Сишка под винду собирается на раз два чем угодно
Ответить | Правка | Наверх | Cообщить модератору

419. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Bottle (?), 16-Июн-24, 00:20 
Кроме оффтопика, который с восьмой версии стал шпионской помойкой, есть и другие платформы. А вон там уже всплывают все грабли и костыли, заботливо расставленные Ритчи и коллективом по стандартизации.
Ответить | Правка | Наверх | Cообщить модератору

287. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от warlock66613 (ok), 14-Июн-24, 21:01 
Попробуйте объявить на Ада Unicode строку. Только без дураков — чтобы на уровне типов было зафиксировано, что строка именно Юникод. Неважно что это будет — UTF-8, UTF-16 или UTF-32, но чтобы строго Юникод.
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

304. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (304), 14-Июн-24, 23:48 
Ой, а а каком языке с этим вообще нормально? Вот чтобы len('👩‍🚀') было 1?

Мне в голову из популярных только Swift приходит.

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

333. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Прохожий (??), 15-Июн-24, 02:49 
Нормально там, где присутствует строгая семантика. То есть, авторы библиотеки осознанно подходят к работе с Юникодом и его спецификой. В Расте есть такие библиотеки, хотя они и не являются стандартными. Авторы стандартной библиотеки решили, что для простоты и скорости они будут работать с кодами, а не символами. Но при этом в Расте нет проблем с объявлением строк в Юникоде.
Ответить | Правка | Наверх | Cообщить модератору

552. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Neon (??), 22-Июн-24, 22:11 
Эти библиотеки должны стать стандартом языка, не так, что захотели авторы библиотек, какая моча им в голову ударила
Ответить | Правка | Наверх | Cообщить модератору

27. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (27), 14-Июн-24, 00:55 
>let foo = [const { None }; 100];

Говнище какое. Кажется скоро будет такая же лажа как плюсовый auto.

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

41. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (39), 14-Июн-24, 03:17 
Что эта линия значит?
Ответить | Правка | Наверх | Cообщить модератору

56. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Прохожий (??), 14-Июн-24, 06:01 
И что же здесь плохого?
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

82. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от Пользователь (?), 14-Июн-24, 09:01 
То что максимально странный синтаксис.
Поди разберись что это: словарь, массив или вообще что-то другое

Уж лучше Swift от Apple, он хотя бы выглядит красиво и дает тебе все те же плюшки с безопасностью

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

103. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 14-Июн-24, 10:05 
Разве свифт это не ARC ?
Я понимаю, что даже в objc можно было писать всякие autorelispool, а в свифте обмазываться UnsafeRawPointer, MemoryLayout...
Но зачем?
Ответить | Правка | Наверх | Cообщить модератору

122. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +2 +/
Сообщение от freecoder (ok), 14-Июн-24, 11:28 
Фигурные скобки обозначают блок, квадратные скобки - массив, срез или доступ по индексу. Так понятнее?
Ответить | Правка | К родителю #82 | Наверх | Cообщить модератору

302. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +2 +/
Сообщение от Аноним (302), 14-Июн-24, 23:42 
> Фигурные скобки обозначают блок, квадратные скобки - массив, срез или доступ по
> индексу. Так понятнее?

И какой логический смысл блока { None }; в типа-массиве? Если это интуитивно - то для кого? Ящеры не палятся?

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

393. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от _kp (ok), 15-Июн-24, 17:37 
Там и в let смысла нет. Начали б с const и не меньше употребляли разные нехорошие вешества.
Если язык спроектирован грамотно, то в общих случаях синтаксис ясный и лаконичный.

Кстати, в Swift синтаксис хороший, сам язык только узкоспециализированный.

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

403. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +2 +/
Сообщение от Аноним (-), 15-Июн-24, 21:19 
> Там и в let смысла нет.

Я тоже не понимаю чего они паскальское := не стырили. Оскорбляло меньшинства своим видом?

> Начали б с const и не меньше употребляли разные нехорошие вешества.

Ну до них и try_* дошел только сильно опосля. И вот оказалось что если пчелы против меда, тогда потом в улье жрать нечего. А системный яп не могет в системные задачи. И пришлось городить такие вот костыли. Вот уже почти совсем, закостылили, стабильной версией собирается - вчера закомитили, сегодня ночью отрелизились, проверяйте стабильность :))). Поэтому дрова на этом всем и болтаются в режиме эксперимента - тулчейн телепают на каждую фигню.

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

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

> Кстати, в Swift синтаксис хороший, сам язык только узкоспециализированный.

Ну, мне он ни в 3.14, ни в красну аpмию...

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

431. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от freecoder (ok), 16-Июн-24, 13:49 
> Там и в let смысла нет. Начали б с const

Если бы начали с const, то это было бы объявление константы foo. Так можно, но семантика приведённого выше выражения в другом: само foo не является константой, константным является только выражение, результат вычисления которого определяет значение элементов объявляемого массива.

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

438. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от _kp (ok), 16-Июн-24, 16:44 
Вспомнилось..
Где деньги?
Я всё объясню.
Нет, объяснить я и сам могу что угодно. Где деньги?
;)
Ответить | Правка | Наверх | Cообщить модератору

493. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 17-Июн-24, 15:09 
Вы ломитесь в открытую дверь: константы объявлять в Rust можно, но упомянутый пример не об этом. Он об использовании выражений как констант.
Ответить | Правка | Наверх | Cообщить модератору

512. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от _kp (ok), 18-Июн-24, 00:09 
Я больше про неопределенный артикль - let.
Если есть "const", то смысловая польза от "let", как от сиволов валюты в perl/php. Просто засиоают ис0одник, в угоду примитивизму компиляторов/интерпретаторов.


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

518. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 18-Июн-24, 09:38 
> Я больше про неопределенный артикль - let.
> Если есть "const", то смысловая польза от "let", как от сиволов валюты
> в perl/php. Просто засиоают ис0одник, в угоду примитивизму компиляторов/интерпретаторов.


const FOO: [i32; 5] = [1, 2, 3, 4, 5];

Вот вам определение константы. Где вы тут let видите?
Ответить | Правка | Наверх | Cообщить модератору

432. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от freecoder (ok), 16-Июн-24, 13:56 
> И какой логический смысл блока { None }; в типа-массиве?

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

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

510. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 17-Июн-24, 23:32 
>> И какой логический смысл блока { None }; в типа-массиве?
> Данный конкретный пример - искусственный, для иллюстрации, как в принципе можно делать.

А, понятно, сбили автомобилем вертолет - но системы ПВО все же не продаете. Чисто ради эффектов. Только вот в случае яп большой вопрос фича ли это. Если можно хреначить такой бред - ну его и будут хреначить. И с майнтенансом такого кода, очевидно, начнутся проблемы.

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

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

Может, им стоило бы волевым усилием сделать какой-нибудь хруст-2.0 где все будет менее ректально?

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

516. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 18-Июн-24, 09:29 
> кажись составили достойную конкуренцию в борьбе за первое место на тему
> неочевидных конструкций и кривого синтаксиса.

Конструкция более чем очевидна и логична в рамках синтаксиса и семантики Rust. Просто вы не знаете языка, поэтому вам не очевидно.

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

527. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 19-Июн-24, 05:41 
> Конструкция более чем очевидна и логична в рамках синтаксиса и семантики Rust.
> Просто вы не знаете языка, поэтому вам не очевидно.

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

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

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

306. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (-), 14-Июн-24, 23:57 
> Фигурные скобки обозначают блок, квадратные скобки - массив, срез или доступ по
> индексу. Так понятнее?

И какой логический смысл блока { None }; в типа-массиве? Если это интуитивно - то для кого? Ящеры не палятся?

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

430. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от freecoder (ok), 16-Июн-24, 13:43 
> И какой логический смысл блока { None }; в типа-массиве?

Блок в котором одна инструкция, причём так как после неё нет точи с запятой, то результата вычисления выражения этой инструкции будет возвращаемым значением блока. Это один из базовыв примитивов в Rust, который используется повсеместно. Примерчик вам для понимания:


let sum = {
    let a = 1;
    let b = 2;
    a + b
};

Подробнее - в статье: https://habr.com/ru/articles/532660

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

439. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от Ноним (?), 16-Июн-24, 17:13 
Это было еще в C. И в разы проще.
Ответить | Правка | Наверх | Cообщить модератору

457. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Прохожий (??), 17-Июн-24, 02:29 
Вы, наверное, и продемонстрировать сможете, как это же В РАЗЫ проще на Си?
Ответить | Правка | Наверх | Cообщить модератору

477. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 17-Июн-24, 09:59 
> Вы, наверное, и продемонстрировать сможете, как это же В РАЗЫ проще на Си?

На си ты все же обломаешься написать как у гражданиина freecoder в хабре:


fn foo<'a, T: FromStr, I: IntoIterator<Item = T>, F: Fn(T) -> bool>(
    self: &'a Self,
    first: T,
    callable: F,
    iter: I,
) -> Result<&'a T, T::Err> {
    // ...
}

Интуитивненько, да? Тут и тяжеловесный плюсер то - поднапряжется уже, не, к ТАКОМУ даже он непривычный. Теперь попробуйте без поллитра понять что вообще эта конструкция за зверь.

Нет, на сях вы ТАК - все же не сможете. Хотя, конечно, креативным использованием препроцессора можно поразвлечься, но там явно напрягаться надо. А тут такое выражовывание - часть уже имевшегося синтаксиса. Так что какой-нибудь нублон легко подгонит вам такой полет мысли. А как вы этот интуитивный код будете декодировать - не его траблы, дескать.

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

483. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (483), 17-Июн-24, 11:04 
Чел, ты чем смотришь? Вот же в новости написано...

Твой код можно переписать в это:
fn foo<T: FromStr, I: IntoIterator<Item = T>>(&self, _first: T, _callable: impl Fn(T) -> bool, _iter: I) -> _MyResult<T>

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

491. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 17-Июн-24, 14:31 
> Интуитивненько, да? Тут и тяжеловесный плюсер то - поднапряжется уже, не, к
> ТАКОМУ даже он непривычный. Теперь попробуйте без поллитра понять что вообще
> эта конструкция за зверь.

Вы саму статью-то читали, особенно в том месте, откуда вы выдрали этот код? Похоже, что нет. Потому цитирую:

Хорошо, допустим, каждый из элементов синтаксиса относительно неплох, но как они сочетаются все вместе? Разве их комбинация не превращает Rust-код в нечитаемое месиво из спецсимволов? Например:


fn foo<'a, T: FromStr, I: IntoIterator<Item = T>, F: Fn(T) -> bool>(
    self: &'a Self,
    first: T,
    callable: F,
    iter: I,
) -> Result<&'a T, T::Err> {
    // ...
}

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


fn foo<T, I>(&self, first: T, callable: impl Fn(T) -> bool, iter: I) -> MyResult<T>
where
    T: FromStr,
    I: IntoIterator<Item = T>,
{
    // ...
}

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

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

515. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 18-Июн-24, 01:56 
> На самом деле это действительно большая проблема. Сигнатуры обобщенных функций с заданными
> ограничениями, видимо, самые перегруженные синтаксисом элементы языка Rust. И чтобы справиться
> с ними, Rust предлагает различные синтаксические улучшения и особый сахар,

...но не дает никаких гарантий что конкретный кодер в конкретном проекте будет юзать именно то, именно так, поэтому всегда будет риск отхватить на вход - вот такой чудо-код от очередного write-only поймавшего волну. Да, вон тот тип в 2 ночи, на пике возможностей - еще и не так завернет. Теперь попробуйте это майнтайнить.

> Сигнатура метода foo уже не выглядит настолько страшно, как в исходном варианте.

Ну, по сравнению с первым вариантом это улучшение. Хотя как по мне - это на уровне забористых плюсов примерно. Т.е. в целом я вообще видеть ТАКОЙ код - не хочу.

...однако никто и ничто не гарантирует что в энном проекте не будет вон то. И тогда можно будет охренеть эти инопланетные каракули декодировать.

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

На мой вкус - им бы норм архитекта нанять и сделать синтаксис 2.0. Зарубив на корню вон те страшилища. Это конечно будет кидалово, но пока на этом не сильно много важного софта и это еше терпимо будет. Реально нужное поправят. А вечно майнтайнить те ужастики - ну вот нет. Они умрут от своего веса и 0 майнтайнеров на такой код.

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

Хороший ЯП должен делать сложные вещи - неудобными. Потому что цель - вовсе не дать програмеру повыражовыаться с заподвыподвертом. Код видите ли должны другие майнтайнить потом. Иначе это сдохнет как только програмеру надоест его проект. И уж вроде корпы должны бы такой аспект понимать, но не, даже с 3 директорами от корп фэйл. Парадокс прямо.

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

517. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 18-Июн-24, 09:35 
> Теперь попробуйте это майнтайнить.

Переписываешь как надо - и спокойно дальше майнтайнишь. Или в чём должен майнтейниг заключаться?

> На мой вкус - им бы норм архитекта нанять и сделать синтаксис
> 2.0. Зарубив на корню вон те страшилища. Это конечно будет кидалово,
> но пока на этом не сильно много важного софта и это
> еше терпимо будет. Реально нужное поправят. А вечно майнтайнить те ужастики
> - ну вот нет. Они умрут от своего веса и 0
> майнтайнеров на такой код.

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

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

528. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 19-Июн-24, 05:49 
> Переписываешь как надо - и спокойно дальше майнтайнишь. Или в чём должен
> майнтейниг заключаться?

Лол. Для этого
1) Надо въехать в проект. При том основательно. Иначе будут наломаны дрова. Такие конструкции с такой записью это делают мягко говоря не быстрым и не простым занятием. В своей проге разбираться просто. Теперь возьмите большой чужой проект и попробуйте там что-то поменять, не словам ничего. Посмотрите сколько времени уйдет. На сях я так могу на чем-то с линукскернел размером и быстро. На хрусте - боюсь даже представить сколько времени сожрет въезд в все абстракции с такой записью и общей читаемостью кода. И то что такие навороты можно хреначить на 1 дыхании - вообще не фича.

2) Убить дофига времени на переписывание и проверки что нигде факап не вышел. Рефакторы весьма багоопасная тема. И уж точно существенный рефактор кода - это не майнтенанс. Странно что вы это не знаете.

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

Го блин за образец возьмите :). Можно сманив прям тех же тушек. А половину абстракций вероятно надо будет просто выкинуть к хренам. И черт с ними с концепциями и прочей функциональщиной. Не надо это все в реальных проектах, только майнтенанс делает непотребным.

Хотя конечно можно в это как следует вляпаться и посмотреть как до корпов это допрет - и тогда они кинут вас куда жестке, объявив deprecated когда у вас полжизни на это завязана сдуру уже. Вон там нетчики прикольно кипишуют, реакт :)) осваиваьт собираются. А зачем тогда тот мусор учили? А, чтобы ща списать дофига знаний в /dev/null? И обратно на уровнеь джуна? Отличные перспективы.

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

530. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 19-Июн-24, 08:42 
> Такие конструкции с такой записью это делают мягко говоря не быстрым
> и не простым занятием.

Те улучшения плохо написанного кода, о которых шла речь выше - чисто синтаксические, они автоматически проверяются компилятором. Невозможно ничего сломать, просто перенося impl Trait в позицию аргумента или вынося ограничения в блок where, или вводя свой новый алиас для типа. В этом прелесть строгой типизации в Rust: подобные вещи проверяются компилятором автоматически, поэтому рефакторить код на расте очень легко.

> Го блин за образец возьмите :). Можно сманив прям тех же тушек.
> А половину абстракций вероятно надо будет просто выкинуть к хренам.

Вот именно. Что с той же семантикой такое на Go вообще не получится записать. А абстракции выкинуть и в Rust можно, если они вам не нужны.

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

570. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 25-Июн-24, 12:22 
> прелесть строгой типизации в Rust: подобные вещи проверяются компилятором автоматически,
> поэтому рефакторить код на расте очень легко.

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

> Вот именно. Что с той же семантикой такое на Go вообще не
> получится записать. А абстракции выкинуть и в Rust можно, если они
> вам не нужны.

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

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

480. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 17-Июн-24, 10:33 
> Вы, наверное, и продемонстрировать сможете, как это же В РАЗЫ проще на
> Си?

Если без return, то так:

#include <stdio.h>
int main(void)
{
    int a, b;
    printf("%i", (a = 1, b = 2, a + b));
}

А если вспомнить, откуда вырос синтаксис Rust, то так:

let sum =
  let a = 1 in
  let b = 2 in
  a + b
;;

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

490. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от freecoder (ok), 17-Июн-24, 14:24 
>> Вы, наверное, и продемонстрировать сможете, как это же В РАЗЫ проще на Си?
> Если без return, то так:
> #include <stdio.h>
> int main(void)
> {
>     int a, b;
>     printf("%i", (a = 1, b = 2, a + b));
> }

Код не эквивалентный, так как здесь a и b объявлены во внешнем пространстве имён.

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

495. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 17-Июн-24, 15:54 
>>> Вы, наверное, и продемонстрировать сможете, как это же В РАЗЫ проще на Си?
>> Если без return, то так:
>> #include <stdio.h>
>> int main(void)
>> {
>>     int a, b;
>>     printf("%i", (a = 1, b = 2, a + b));
>> }
> Код не эквивалентный, так как здесь a и b объявлены во внешнем
> пространстве имён.

Удивительно, но в Си не пространств имён.

Если имелась ввиду "область видимости", то она ограничена {  } функции main - за её пределами никто не видит, в отличие от такого:

int a, b;

int main(void)
{
}    

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

504. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 17-Июн-24, 18:14 
Да, область видимости. В вашем Си-коде и в моём Rust-примере имена переменных по разному видны (объявленное внутри блока в Rust не будет видимо вне его). Так что это разные примеры.
Ответить | Правка | Наверх | Cообщить модератору

521. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 18-Июн-24, 12:28 
> Да, область видимости. В вашем Си-коде и в моём Rust-примере имена переменных
> по разному видны (объявленное внутри блока в Rust не будет видимо
> вне его). Так что это разные примеры.

Разные разве что языки. Объявленные внутри main a и b не видны за её пределами. Если не понятен был намёк "если без retuen", то вот императивная запись:

int sum() {
  int a = 1;
  int b = 2;
  return a + b;
}

В моём примере на OCaml, который очень похож на Rust

let sum =
  let a = 1 in
  let b = 2 in
  a + b
;;

и потому его пришлось выкинуть в ответе для удобства парирования, это вообще не переменные, а чистые функции. Если Rust возвращает значение без императивного return, значит это и там - функция (неудачное её имя -- отдельная тема, но вопрос "что она суммирует" проще замять для ясности).  

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

539. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 21-Июн-24, 09:52 
В Rust можно сделать функцию:

fn sum() -> i32 {
    let a = 1;
    let b = 2;
    a + b    
}

sum();


замыкание

let sum = || {
    let a = 1;
    let b = 2;
    a + b
};

sum();


и блок:

let sum = {
    let a = 1;
    let b = 2;
    a + b
};

В отличии от функций и замыканий, блок не принимает аргументов, в блоке нельзя сделать в произвольном месте return и вычисляется блок в том месте, где он определяется, возвращая при этом значение последнего выражения, вычисленного внутри него.
Ответить | Правка | К родителю #521 | Наверх | Cообщить модератору

541. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 22-Июн-24, 18:06 
Похоже, все три не принимают аргументов. И будут вычислены на этапе трансляции, "возвращая при этом значение последнего выражения, вычисленного внутри него".
Ответить | Правка | К родителю #539 | Наверх | Cообщить модератору

558. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 23-Июн-24, 11:54 
> Похоже, все три не принимают аргументов. И будут вычислены на этапе трансляции,
> "возвращая при этом значение последнего выражения, вычисленного внутри него".

Приведены варианты функции и замыкание с пустым списком аргументов, у блока аргументов нет в принципе. В функции и замыкании можно в произвольном месте сделать return, в блоке - нельзя. Функцию можно несколько раз вызвать из разных мест, блок - нельзя: он вычисляется только в месте создания.

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

560. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 24-Июн-24, 19:54 
>> Похоже, все три не принимают аргументов. И будут вычислены на этапе трансляции,
>> "возвращая при этом значение последнего выражения, вычисленного внутри него".
> Приведены варианты функции и замыкание с пустым списком аргументов, у блока аргументов
> нет в принципе. В функции и замыкании можно в произвольном месте
> сделать return, в блоке - нельзя. Функцию можно несколько раз вызвать
> из разных мест, блок - нельзя: он вычисляется только в месте
> создания.

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

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

563. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 25-Июн-24, 10:25 
Rust - императивный язык с zero-cost абстракциями, которые, в том числе, взяты из функциональных языков. От действительно функциональных языков, таких как Haskell, Rust довольно далёк. Тем не менее, он находит способ реализации некоторых полезных функциональных абстракций в императивном подходе. В этом качестве он делает то же, что делал C++ в своё время с ООП.
Ответить | Правка | К родителю #560 | Наверх | Cообщить модератору

566. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от n00by (ok), 25-Июн-24, 11:20 
> Rust - императивный язык

Из приведённых примеров (в частности - отсутствие императивного оператора return для возврата результата функции) видно, что Rust прежде всего функциональный язык, а потом уже всё остальное.

> с zero-cost абстракциями, которые, в том числе, взяты
> из функциональных языков. От действительно функциональных языков, таких как Haskell, Rust
> довольно далёк.

Отсутствие ленивости не делает Rust далёким от своего предка - OCaml.

> Тем не менее, он находит способ реализации некоторых полезных
> функциональных абстракций в императивном подходе. В этом качестве он делает то
> же, что делал C++ в своё время с ООП.

А что C++ делает с ООП, когда там нет базового - методов? Первая общепринятая библиотека - STL - это попытка привнести функциональный стиль в императивный язык.

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

571. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 25-Июн-24, 12:25 
> Из приведённых примеров (в частности - отсутствие императивного оператора return для возврата
> результата функции) видно, что Rust прежде всего функциональный язык, а потом
> уже всё остальное.

Как я понимаю вместо этого сигналом служит отсутствие ; после энного выражения.

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

572. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 25-Июн-24, 15:37 
> Как я понимаю вместо этого сигналом служит отсутствие ; после энного выражения.

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

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

574. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 25-Июн-24, 18:16 
>> Как я понимаю вместо этого сигналом служит отсутствие ; после энного выражения.
> Я выше уже писал, что из функций в Rust можно в любом
> месте сделать return. Но у человека похоже что-то с головой: он
> придумывает себе свой собственный Rust, без return, чисто функциональный,

Сейчас мы узнаем, кто же это человек, придумывающий "чисто функциональный" Rust.

Цитирую себя: Rust прежде всего функциональный язык, а потом уже всё остальное.

Цитирую freecoder-а: _чисто_ функциональный.

Да, что-то у него с головой.

> с блоками-макросами
> и отсутствием сопоставления с образцом в let.

Опять что-то с головой? Чем же надо было читать "с точки зрения Си программиста _похоже_"?

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

576. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 25-Июн-24, 21:10 
> Цитирую себя: Rust прежде всего функциональный язык, а потом уже всё остальное.

Rust прежде всего императивный язык, а потом уже всё остальное.


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

577. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 26-Июн-24, 08:46 
>>> Rust ... чисто функциональный,
>> Цитирую себя: Rust прежде всего функциональный язык, а потом уже всё остальное.
> Rust прежде всего императивный язык, а потом уже всё остальное.

Прежде всего, произошла попытка приписать мне ложный тезис, на основании чего делать заявления про голову. Голова, как мы выяснили, собственная. Что же делать оппоненту, пойманному на передёргивании? Выкинуть контекст и попытаться устроить спор, да.

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

580. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 26-Июн-24, 11:45 
Так императивный или функциональный Rust прежде всего? В зависимости от вашего ответа будет понятно, есть у вас проблемы с головой, или нет.
Ответить | Правка | К родителю #577 | Наверх | Cообщить модератору

582. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 26-Июн-24, 15:01 
> Так императивный или функциональный Rust прежде всего? В зависимости от вашего ответа
> будет понятно, есть у вас проблемы с головой, или нет.

Так ты доктор? Программируешь на Rust на досуге? Я было решил, что-то понимаешь в нём.

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

584. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 27-Июн-24, 10:19 
Rust - не то, что вам кажется. Вместо досужих домыслов о нём просто прочтите документацию.
Ответить | Правка | К родителю #582 | Наверх | Cообщить модератору

588. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 27-Июн-24, 12:47 
Понял, не буду читать досужие домыслы. Тем более, каким языком является Rust, мне в своё время красиво объяснил Ordu. Как раз в ответ на "отсутствие return как характерный признак ФЯ". Объяснил так, что с ним не поспоришь. И со мной при этом не спорил. Жаль, что специалистов того уровня по языку здесь давно не видно
Ответить | Правка | К родителю #584 | Наверх | Cообщить модератору

590. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 29-Июн-24, 22:23 
И ссылки вы конечно же приводить не будете.
Ответить | Правка | К родителю #588 | Наверх | Cообщить модератору

597. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 30-Июн-24, 14:58 
Зачем бы мне это было надо?
Ответить | Правка | К родителю #590 | Наверх | Cообщить модератору

600. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 02-Июл-24, 17:52 
Вы очень много выдумываете из своей головы в нашем разговоре. То, чего нет и не было в реальности. Приведите ссылку - тогда можно обсуждать этот случай, как действительно имевший место быть. Пока же больше похоже на вашу выдумку.
Ответить | Правка | К родителю #597 | Наверх | Cообщить модератору

605. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 03-Июл-24, 10:38 
Что мне надо обсуждать с тем, кто выдумывает, будто бы я выдумываю ответы Ordu, что он писал здесь мне? Проекции в психологии? И зачем?
Ответить | Правка | К родителю #600 | Наверх | Cообщить модератору

607. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 03-Июл-24, 12:21 
Не хотели бы обсуждать - то не писали бы об этом изначально. На слово я вам не верю, доказать вы не хотите - тогда и правда, разговаривать не о чем.
Ответить | Правка | К родителю #605 | Наверх | Cообщить модератору

585. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 27-Июн-24, 10:32 
> Прежде всего, произошла попытка приписать мне ложный тезис, на основании чего делать
> заявления про голову.

Чем же надо было читать: "Но у человека _похоже_ что-то с головой"?

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

587. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 27-Июн-24, 12:43 
>> Прежде всего, произошла попытка приписать мне ложный тезис, на основании чего делать
>> заявления про голову.
> Чем же надо было читать: "Но у человека _похоже_ что-то с головой"?

Вот и подумай, чем ты читал и зачем на ровном месте развязал спор. Разве только для того, что бы я показал тебе зеркало?

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

573. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 25-Июн-24, 18:12 
>> Из приведённых примеров (в частности - отсутствие императивного оператора return для возврата
>> результата функции) видно, что Rust прежде всего функциональный язык, а потом
>> уже всё остальное.
> Как я понимаю вместо этого сигналом служит отсутствие ; после энного выражения.

Понимать надо, что return это императив, т.е указание "верни". Нет императива, есть значение, как в школьной записи функции f(x) = 2x - похоже, что язык не императивный, а функциональный.

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

575. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 25-Июн-24, 21:09 

fn foo(a: i32) -> bool {
    if a < 0 {
        return false;
    }
    // ...
    true
}

К Rust'у это не относится, в нём return есть.
Ответить | Правка | К родителю #573 | Наверх | Cообщить модератору

578. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 26-Июн-24, 08:48 
>
 
> fn foo(a: i32) -> bool {
>     if a < 0 {
>         return false;
>     }
>     // ...
>     true
> }
>

> К Rust'у это не относится, в нём return есть.

Не вижу return перед true, в основной "точке выхода". Таким образом указанный мной характерный признак остаётся в силе. Но за пример спасибо - видна нелепость синтаксиса, когда вместо скобочек можно быть оставить ключевое слово из OCaml.

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

579. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 26-Июн-24, 11:43 
> Таким образом указанный
> мной характерный признак остаётся в силе.

Какой признак?

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

581. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 26-Июн-24, 15:01 
>> Таким образом указанный
>> мной характерный признак остаётся в силе.
> Какой признак?

Перечитай моё предыдущее сообщение в той его части, что ты столь старательно удалил при цитировании.

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

583. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 27-Июн-24, 10:02 
Вы можете прямо ответить на вопрос или нет?

fn foo(a: i32) -> bool {
    if a < 0 {
        return false;
    }
    // ...
    true
}

Это то же самое, что

fn foo(a: i32) -> bool {
    if a < 0 {
        return false;
    }
    // ...
    return true;
}

И то, и то - корректный код на Rust. Так о каких признаках шла речь?
Ответить | Правка | К родителю #581 | Наверх | Cообщить модератору

586. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 27-Июн-24, 12:41 
> Вы можете прямо ответить на вопрос или нет?

Я не вижу вопроса.

>[оверквотинг удален]
> Это то же самое, что
>

 
> fn foo(a: i32) -> bool {
>     if a < 0 {
>         return false;
>     }
>     // ...
>     return true;
> }
>

Сахарок, что бы не рвало шаблон императивщикам.

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

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

591. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 29-Июн-24, 22:44 
> Ещё раз: пока ты будешь удалять из моих сообщений данные мной ответы

Я не модератор, поэтому удалять ваши ответы из ваших сообщений физически не могу. Но вам я сочувствую, у вас то в Rust'е придумывают свой паттерн-матчинг, не такой, какой у вас в голове, теперь ещё и ваши сообщения не такие, как вы их писали... Жаль, но проблема у вас прогрессирует.


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

596. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 30-Июн-24, 14:55 
>> Ещё раз: пока ты будешь удалять из моих сообщений данные мной ответы
> Я не модератор, поэтому удалять ваши ответы из ваших сообщений физически не
> могу.

Цитату моего сообщения получаешь, когда пишешь ответ. Из неё и удаляешь. Ты это делал неосознанно, потому не смог увязать моё описание со своими действиями? Или зациклился прогрессированием проблемы?

> Но вам я сочувствую, у вас то в Rust'е придумывают
> свой паттерн-матчинг, не такой, какой у вас в голове,

Для справки: паттерн-матчингу лет больше чем мне и Rust-у.

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

601. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 02-Июл-24, 17:55 
Я читаю и воспринимаю всё сообщение, а цитирую только ту часть, на которую отвечаю. Для вашего же удобства стараюсь. Или вам что, обидно, что модераторы чикают ваши сообщения за оверквотинг, а не мои? )
Ответить | Правка | К родителю #596 | Наверх | Cообщить модератору

604. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 03-Июл-24, 10:36 
> Я читаю и воспринимаю всё сообщение, а цитирую только ту часть, на
> которую отвечаю. Для вашего же удобства стараюсь.

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

> Или вам что, обидно,
> что модераторы чикают ваши сообщения за оверквотинг, а не мои? )

Нет, не обидно, ведь это не моя фантазия.


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

608. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 03-Июл-24, 12:26 
Какая именно суть и где она была выброшена? Приведите пример, пожалуйста.
Ответить | Правка | К родителю #604 | Наверх | Cообщить модератору

592. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 29-Июн-24, 22:52 
> Сахарок, что бы не рвало шаблон императивщикам.

А может чтобы "не рвало шаблон" функциональщикам?
Тело функции в Rust - это блок, завёрнутый в return. Например, тело такой функции:


fn add(a: usize) -> usize {
    let b = a + 1;
    b
}

По-сути является следующим:

// argument_0 is the actual first argument passed from the caller
let a: usize = argument_0;
return {
    let b = a + 1;
    b
};

https://doc.rust-lang.org/reference/items/functions.html#fun...
Ответить | Правка | К родителю #586 | Наверх | Cообщить модератору

595. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 30-Июн-24, 14:47 
>> Сахарок, что бы не рвало шаблон императивщикам.
> А может чтобы "не рвало шаблон" функциональщикам?

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

> Тело функции в Rust - это блок,

Это так везде. Функция - именованный блок.

> завёрнутый в return.

И возвращается этим самым return что? Блок. Очень хотелось найти return в документации, но получилось, что получилось. ;)

>[оверквотинг удален]
> По-сути является следующим:
>

 
> // argument_0 is the actual first argument passed from the caller
> let a: usize = argument_0;
> return {
>     let b = a + 1;
>     b
> };
>

> https://doc.rust-lang.org/reference/items/functions.html#fun...

Ох, да, ссылка весьма кстати. Поищи там "a function yields a first-class value" - это ещё один характерный признак.

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

599. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 02-Июл-24, 17:49 
> И возвращается этим самым return что? Блок.

Нет. Возвращается значение последнего выражения, вычисленного в блоке, а не сам блок. Если бы функция возвращала блок, то и тип возвращаемого значения был бы "блок", но он не "блок", а равен типу значения последнего выражения в блоке.

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

606. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 03-Июл-24, 10:41 
>> И возвращается этим самым return что? Блок.
> Нет. Возвращается значение последнего выражения, вычисленного в блоке, а не сам блок.
> Если бы функция возвращала блок, то и тип возвращаемого значения был
> бы "блок", но он не "блок", а равен типу значения последнего
> выражения в блоке.

Если бы не произошло очередной подмены тезиса ("возвращается этим самым return" на "функция возвращала"), то я бы прочитал ответ на это мой сообщение. А так видно, что кто-то не видит разницы.

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

609. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 03-Июл-24, 12:32 
В контексте нашего разговора - не вижу разницы. return в Rust - ключевое слово, которое обозначает возвращение значения из функции: https://doc.rust-lang.org/std/keyword.return.html

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

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

602. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 02-Июл-24, 18:09 
> Ох, да, ссылка весьма кстати. Поищи там "a function yields a first-class
> value" - это ещё один характерный признак.

Признак чего? Просто в языке можно оперировать функциональным элементом, например, связывать его с указателем на функцию:


let add_ptr: fn(usize) -> usize = add;

Как эта возможность характеризует язык?
Ответить | Правка | К родителю #595 | Наверх | Cообщить модератору

603. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 03-Июл-24, 10:33 
>> Ох, да, ссылка весьма кстати. Поищи там "a function yields a first-class
>> value" - это ещё один характерный признак.
> Признак чего? Просто в языке можно оперировать функциональным элементом, например, связывать
> его с указателем на функцию:
>
 
> let add_ptr: fn(usize) -> usize = add;
>

> Как эта возможность характеризует язык?

Очевидно, даёт freecoder-у абсолютную уверенность, что язык - императивный.

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

409. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (407), 15-Июн-24, 22:33 
> Фигурные скобки обозначают блок, квадратные скобки - массив, срез или доступ по индексу. Так понятнее?

Приз за сложную шутку

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

102. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (102), 14-Июн-24, 10:03 
Плюсовый auto как раз удобен и понятен, в отличие от.
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

173. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (27), 14-Июн-24, 14:04 
Плюсовый авто удобен чтобы форич по только что упомянутому листу не занимал пол экрана только на объявление, но когда ехал авто через авто смотрит авто авто авто и нифига не ясно кто какого типа и зачем тут нужен это читать больно.
Ответить | Правка | Наверх | Cообщить модератору

410. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (407), 15-Июн-24, 22:36 
> Плюсовый авто удобен чтобы форич по только что упомянутому листу не занимал пол экрана

Попадание, но я бы так

-- удобен
++ вдруг понадобился

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

28. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +2 +/
Сообщение от Алиса (??), 14-Июн-24, 01:20 
Синтаксис избыточный. Если у Ada он просто многословный, то тут именно заbloatченый.
Ответить | Правка | Наверх | Cообщить модератору

123. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от freecoder (ok), 14-Июн-24, 11:29 
А в чём избыточность?
Ответить | Правка | Наверх | Cообщить модератору

252. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Наноним (?), 14-Июн-24, 17:59 
let, fn, куча ненужных символов
Ответить | Правка | Наверх | Cообщить модератору

334. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Прохожий (??), 15-Июн-24, 02:51 
То не избыточность. То просто вы плаваете в предметной области.
Ответить | Правка | Наверх | Cообщить модератору

378. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от n00by (ok), 15-Июн-24, 12:07 
В Бейсике было ключевое слово let, но обычно можно было его не писать - транслятор размером 8Кб вполне справлялся.
Ответить | Правка | Наверх | Cообщить модератору

416. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от _kp (ok), 15-Июн-24, 23:18 
Там это было для упрощения интерпретатора, и конкретно интерпретации байткода, когда при вводе операторы упаковывались в один байт. Более умные Бейсики довольно быстро избавились от лишних рудиментов в исходнике.

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

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

427. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 16-Июн-24, 10:37 
Так свойства переменной можно записывать перед её именем. Но в Rust решали как раз эту "проблему" Си, вот и let на каждый чих.
Ответить | Правка | Наверх | Cообщить модератору

429. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 16-Июн-24, 13:38 
> Так свойства переменной можно записывать перед её именем. Но в Rust решали
> как раз эту "проблему" Си, вот и let на каждый чих.

Вот статья специально для таких как вы была написана: https://habr.com/ru/articles/532660
Раздел "Постфиксная запись типа".

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

436. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 16-Июн-24, 15:20 
>> Так свойства переменной можно записывать перед её именем. Но в Rust решали
>> как раз эту "проблему" Си, вот и let на каждый чих.
> Вот статья специально для таких как вы была написана: https://habr.com/ru/articles/532660
> Раздел "Постфиксная запись типа".

Специально для писателей того раздела, пугающих читателя "int (*fns[16])(int * const * p);", в Си и Си++ придумано ключевое слово typedef. А в C++ из OCaml, на котором была написана первая версия транслятора Rust, заимствован вывод типов по алгоритму Хиндли–Миллнера.

Специально для писателей слов "простой парсер" написана бородатая Драгонбук, где вводится термин "семантический анализ".

Я так и не понял, что я должен был почерпнуть из того раздела. Или надо было читать следующий, где let служит для сопоставления с образцом? Ну так тогда можно сказать, что избыточны все остальные конструкции.)

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

458. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Прохожий (??), 17-Июн-24, 02:32 
>вот и let на каждый чих

На какой каждый? Объявляет новую переменную - появляется let. Занимаетесь присваиванием - нет никакого let.

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

481. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 17-Июн-24, 10:41 
>>вот и let на каждый чих
> На какой каждый? Объявляет новую переменную - появляется let.

Вот на этот. Тип при объявлении указан? Значит let лишний, если об этой задуматься.

Например, есть let, но тип int не указывается, а выводится:

let i = 1;;

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

492. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 17-Июн-24, 14:44 
Здесь уже давно отвечено:

https://stackoverflow.com/questions/32180684/why-does-rust-u...

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

496. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 17-Июн-24, 15:56 
> Здесь уже давно отвечено:
> https://stackoverflow.com/questions/32180684/why-does-rust-u...

Там отвечено на вопрос "зачем", а не "зачем лишнее".

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

505. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 17-Июн-24, 18:29 
> Там отвечено на вопрос "зачем", а не "зачем лишнее".

Если использовать let в месте типа, то сложится впечатление, что его можно использовать как заменитель типа, но это не так. Например, в сигнатурах функций - нельзя. В указании типа в обобщённых типах - нельзя. И т.д. С текущим синтаксисом больше консистентности: let - это именно отдельная инструкция сопоставления с образцом, в которой могут быть введены новые имена (переменные) в составе образца. Аннотация типа (": Type") при этом может не указываться - тогда она просто пропускается без необходимости её на что-то заменять.

В этом принципиальное отличие let от плюсового auto, который действительно является заполнителем типа.

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

522. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 18-Июн-24, 12:41 
>[оверквотинг удален]
> Если использовать let в месте типа, то сложится впечатление, что его можно
> использовать как заменитель типа, но это не так. Например, в сигнатурах
> функций - нельзя. В указании типа в обобщённых типах - нельзя.
> И т.д. С текущим синтаксисом больше консистентности: let - это именно
> отдельная инструкция сопоставления с образцом, в которой могут быть введены новые
> имена (переменные) в составе образца. Аннотация типа (": Type") при этом
> может не указываться - тогда она просто пропускается без необходимости её
> на что-то заменять.
> В этом принципиальное отличие let от плюсового auto, который действительно является заполнителем
> типа.

У меня сложилось впечатление, что тут:

let sum = {
    let a = 1;
    let b = 2;
    a + b
};

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

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

529. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 19-Июн-24, 08:32 
В данном примере значение выражения (выражением является блок, возвращающий своё последнее вычисленное значение) сопоставляется с образцом, который состоит только из одного нового имени. Это частный случай образца.
Ответить | Правка | К родителю #522 | Наверх | Cообщить модератору

534. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 20-Июн-24, 09:41 
> В данном примере значение выражения (выражением является блок, возвращающий своё последнее
> вычисленное значение) сопоставляется с образцом, который состоит только из одного нового
> имени. Это частный случай образца.

let sum = {
    let a = 1;
    let b = 2;
    a + b
}

То есть "образец" здесь "sum"? С чем в данном примере он с сопоставляется?

Если имеется ввиду подстановка вместо sum "блока", когда sum встречается где-то в другом месте, так называйте вещи своими именами. Знакомые с функциональными языками поймут, программисты на Си воспримут как "похоже на макрос". Пока получаются пёрлы из разряда "неизменяемая переменная" и "функциональный язык - это когда много функционала".

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

537. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 21-Июн-24, 09:30 
Это не похоже на макрос. Выражение вычисляется в данном месте и имя sum обозначает вычисленное значение. Вместо одного имени там потенциально мог быть более сложный паттерн. Сопоставление значению выражения нового имени - это частный случай сопоставления с образцом вообще.
Ответить | Правка | К родителю #534 | Наверх | Cообщить модератору

543. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 22-Июн-24, 18:22 
> Это не похоже на макрос.

Это похоже на макрос с т.з. программиста на Си.

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

"Сопоставление с образцом" на инглише "pattern matching". Обычно это ключевое слово match.

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

Когда вместо имени подставятся "сопоставленное" в некоем определении выражение, это называется "подстановка". В Си так происходит с макросами.

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

559. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 23-Июн-24, 12:11 
> Это похоже на макрос с т.з. программиста на Си.

Это не похоже на Си-макрос совершенно.

> "Сопоставление с образцом" на инглише "pattern matching". Обычно это ключевое слово match.

match в Rust осуществляет сопоставление в общем виде, но есть ещё if let, let и let else, которые используются для сопоставления в специальных случаях.

let требует, чтобы записанный паттерн полностью соответствовал значению, с которым он сопоставляется (паттерн должен покрывать все возможные значения выражения справа).
if let и let else допускают уже только частичное покрытие.

> То есть есть некий образец, и есть данные. Если они каким-то образом
> подходят под образец, значит сопоставление происходит успешно, иначе рассматривается
> другой образец (если он есть).

Так работает match, в котором могут быть указаны несколько паттернов и они в совокупности должны покрыть все варианты. В let указывается только один паттерн, поэтому только он и должен покрыть все варианты. Ну либо не все, тогда нужно использовать let else.

> Когда вместо имени подставятся "сопоставленное" в некоем определении выражение, это называется
> "подстановка". В Си так происходит с макросами.

В Rust нет никакой "подстановки", а есть pattern matching в let: https://doc.rust-lang.org/book/ch18-01-all-the-places-for-pa...

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

562. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 24-Июн-24, 20:12 
>> Это похоже на макрос с т.з. программиста на Си.
> Это не похоже на Си-макрос совершенно.

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

>> "Сопоставление с образцом" на инглише "pattern matching". Обычно это ключевое слово match.
> match в Rust осуществляет сопоставление в общем виде, но есть ещё if
> let, let и let else, которые используются для сопоставления в специальных
> случаях.
> let требует, чтобы записанный паттерн полностью соответствовал значению, с которым он сопоставляется
> (паттерн должен покрывать все возможные значения выражения справа).
> if let и let else допускают уже только частичное покрытие.

Где в определении блока let то, с чем сопоставляется "образец"? Без этого не понятно, с чем сопоставление.

>> То есть есть некий образец, и есть данные. Если они каким-то образом
>> подходят под образец, значит сопоставление происходит успешно, иначе рассматривается
>> другой образец (если он есть).
> Так работает match, в котором могут быть указаны несколько паттернов и они
> в совокупности должны покрыть все варианты. В let указывается только один
> паттерн, поэтому только он и должен покрыть все варианты. Ну либо
> не все, тогда нужно использовать let else.

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

>> Когда вместо имени подставятся "сопоставленное" в некоем определении выражение, это называется
>> "подстановка". В Си так происходит с макросами.
> В Rust нет никакой "подстановки", а есть pattern matching в let: https://doc.rust-lang.org/book/ch18-01-all-the-places-for-pa...

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

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

565. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 25-Июн-24, 10:53 
> С точки зрения кого? Я это утверждаю, как писавший когда-то препроцессор Си.
> Полагаю, имею некое право говорить за программистов на Си, хотя бы
> некоторых. Понятно, что возможности у макросов существенно беднее. Потому и "похоже",
> а не "это он и есть".

Суть макроса в том, что он задаёт некий шаблон, который заменяется препроцессором на код, представленный в определении макроса. Здесь же нет никакой замены. Тем более текстовой, как реализованы макросы в Си. В Rust тоже есть макросы, но в отличии от сишных они работают на уровне AST.

> Где в определении блока let то, с чем сопоставляется "образец"? Без этого
> не понятно, с чем сопоставление.


let PATTERN = EXPRESSION;

> Да, несколько паттернов - это основа паттернматчинга, без них в общем случае
> сопоставление с образцом не имеет смысла как вычислительная конструкция, теряет полноту
> по Тьюрингу.


match foo() {
    (first, _) => println!("{first}"),
}

Ну и где здесь "потеря полноты по Тьюрингу"?

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

Ахахах! )))
Ну да, ну да. Просто имейте смелость признать, что вы были не правы. Или высокомерие и самолюбие не позволяют? )

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

568. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от n00by (ok), 25-Июн-24, 11:40 
>> С точки зрения кого? Я это утверждаю, как писавший когда-то препроцессор Си.
>> Полагаю, имею некое право говорить за программистов на Си, хотя бы
>> некоторых. Понятно, что возможности у макросов существенно беднее. Потому и "похоже",
>> а не "это он и есть".
> Суть макроса в том, что он задаёт некий шаблон, который заменяется препроцессором
> на код, представленный в определении макроса. Здесь же нет никакой замены.
> Тем более текстовой, как реализованы макросы в Си. В Rust тоже
> есть макросы, но в отличии от сишных они работают на уровне
> AST.

Если следовать логике ("заменяется препроцессором"), получается, что в Rust нет никаких макросов. Надеюсь, понятно объяснил?

>> Где в определении блока let то, с чем сопоставляется "образец"? Без этого
>> не понятно, с чем сопоставление.
>

 
> let PATTERN = EXPRESSION;
>

Образец (которого нет в let) где-то в другом месте исходника магически "сопоставляется" с PATTERN, после чего на место PATTERN проставляется EXPRESSION? Это называется подстановка. Примерно так и происходит "раскрытие макросов".

>> Да, несколько паттернов - это основа паттернматчинга, без них в общем случае
>> сопоставление с образцом не имеет смысла как вычислительная конструкция, теряет полноту
>> по Тьюрингу.
>

 
> match foo() {
>     (first, _) => println!("{first}"),
> }
>

> Ну и где здесь "потеря полноты по Тьюрингу"?

Например, в том месте, где отсутствует цикл.

>> Я так понял, что в Rust есть своя особая терминология для принятых
>> в других ЯП вещей. Что бы быть непохожим на них, или
>> что бы не находить общий язык - это пока не понял.
> Ахахах! )))
> Ну да, ну да. Просто имейте смелость признать, что вы были не
> правы. Или высокомерие и самолюбие не позволяют? )

Я пока не понял, в чём я был не прав. Неужели в выражении "у меня сложилось впечатление"? Если такое же впечатление сложилось не только у меня, хочется знать, у кого ещё.

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

538. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 21-Июн-24, 09:35 
Вот пример с более сложным выражением и паттерном, в котором, однако, точно также вводится новое имя sum:

struct Ops {
    sum: i32,
    mul: i32,
}

let (_, _, Ops { sum, .. }) = {
    let a = 1;
    let b = 2;
    (a, b, Ops { sum: a + b, mul: a * b })
};

https://play.rust-lang.org/?version=stable&mode=debug&editio...

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

542. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 22-Июн-24, 18:22 
>[оверквотинг удален]
>     mul: i32,
> }
> let (_, _, Ops { sum, .. }) = {
>     let a = 1;
>     let b = 2;
>     (a, b, Ops { sum: a + b,
> mul: a * b })
> };
>
> https://play.rust-lang.org/?version=stable&mode=debug&editio...

Довольно многословная запись для конструктора.

struct Ops {
  int32_t sum;
  int32_t mul;
  Ops() { auto a = 1, b = 2; sum = a + b; }
};

https://godbolt.org/z/Ys58Y1oYc

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

557. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 23-Июн-24, 11:50 
> Довольно многословная запись для конструктора.

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

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

561. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 24-Июн-24, 20:05 
>> Довольно многословная запись для конструктора.
> Потому что это не конструктор. В Rust нет конструкторов как специальных методов
> структуры. Если нужно, то пользователь может создать сам подобный метод, который
> вернёт экземпляр структуры, его условно можно назвать "конструктором".

Понятно, что нет конструкторов, потому и приходится применять вот такое, или реализовать "фабрику". Конструктор + деструктор в Си++ ведь нужны, что бы работало RAII, гарантирующее "безопасное" освобождение ресурсов. А тут другие методы.

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

564. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от freecoder (ok), 25-Июн-24, 10:33 
> Понятно, что нет конструкторов, потому и приходится применять вот такое, или реализовать
> "фабрику". Конструктор + деструктор в Си++ ведь нужны, что бы работало
> RAII, гарантирующее "безопасное" освобождение ресурсов. А тут другие методы.

В Rust повсеместно используется RAII. Управление ресурсами на основе владения (Ownership Based Resource Management, OBRM) - по-сути это и есть RAII.

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

567. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 25-Июн-24, 11:26 
>> Понятно, что нет конструкторов, потому и приходится применять вот такое, или реализовать
>> "фабрику". Конструктор + деструктор в Си++ ведь нужны, что бы работало
>> RAII, гарантирующее "безопасное" освобождение ресурсов. А тут другие методы.
> В Rust повсеместно используется RAII. Управление ресурсами на основе владения (Ownership
> Based Resource Management, OBRM) - по-сути это и есть RAII.

Я не вполне понял. В Rust повсеместно используется OBRM, но хочется назвать это RAII? Или RAII в Си++ даёт право говорить "у нас есть OBRM из Rust"?

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

32. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Ivan_83 (ok), 14-Июн-24, 01:28 
> создании консорциума "Safety-Critical Rust Consortium", нацеленного на использовании языка Rust в решениях, требующих повышенной надёжности (Safety-Critical Software)

Да, без этого никуда, а то ведь никто не использует самый бизапасный БДСМ язык для чего то, куда ни плюнь страшный С. :)

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

33. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +3 +/
Сообщение от Алиса (??), 14-Июн-24, 01:30 
> куда ни плюнь страшный С

Си это lingua franca всея программирования. А так да, в какую спеку не заглянешь, везде описания структур данных на сишке)

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

157. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –4 +/
Сообщение от Аноним (-), 14-Июн-24, 13:04 
Как показала история, даже lingua franca тоже дохнут)
Латынь весело машет ручкой из могилы, хфранцузский, на котором, вроде как, говорил весь мир и даже писалась русская литература, нужен уже не столь многим.
СИшка как латынь в медицине - куча легаси осталось. Термины заучиваются, но все современное это уже на других языках.

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

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

277. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Ivan_83 (ok), 14-Июн-24, 20:36 
Латынь не совсем умерла, она растеклась по куче разных языков.

С - язык близкий к асму, поэтому не смотря на все фантазии петонистов и растовиков оно никуда не денется.

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

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

300. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (296), 14-Июн-24, 23:39 
> и будет брать отвественность за ошибки на себя.

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

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

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

379. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 15-Июн-24, 12:10 
>> и будет брать отвественность за ошибки на себя.
> Смысл программирование - решение задач, а не рассказывание окружающим, как ты взял
> на себя ответственность.

В системном программировании какие задачи решаются?

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

387. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от Ivan_83 (ok), 15-Июн-24, 14:22 
Не решаются они быстрее на расте, он проигрывает всем в этом плане.
С одной стороны есть выкоуровневые языки где можно сосредоточится только на самой задаче без раздумий о деталях типа памяти или доступе при многопоточности.
С другой есть типа С где компилятор не путается под ногами со своими "очень ценными" "советами" как правильно писать, и не собирает часами хэлловорлд.
Ответить | Правка | К родителю #300 | Наверх | Cообщить модератору

417. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (319), 15-Июн-24, 23:34 
> Не решаются они быстрее на расте, он проигрывает всем в этом плане.

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

Три месяца назад Ларс Бергстром (технический директор Google) на конференции заявил, что "Команды, работающие на Rust, в два раза продуктивнее команд, использующих C++".

Цитаты с той конференции, содранные уже с реддита:

"...Some additional context on these two specific claims:

Google found that porting Go to Rust "it takes about the same sized team about the same time to build it, so that's no loss of productivity" and "we do see some benefits from it, we see reduced memory usage [...] and we also see a decreased defect rate over time"

On re-writing C++ into Rust: "in every case, we've seen a decrease by more than 2x in the amount of effort required to both build the services written in Rust, as well as maintain and update those services. [...] C++ is very expensive for us to maintain."
..."

Причем, как ты можешь заметить, не просто "решаются" в два раз быстрее на расте, но в том числе и "обслуживаются/сопровождаются" и "обновляются". И чтобы понятно было даже таким, как ты, ставят точку - "C++ is very expensive for us to maintain" ("C++ очень дорог для нас в обслуживании")

И это всё уже после кучки лет внедрения и использования раста.

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

421. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –2 +/
Сообщение от Ivan_83 (ok), 16-Июн-24, 06:08 
А вы где у меня увидели ++?

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

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

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

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

434. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Советский инженер (ok), 16-Июн-24, 14:27 
>А вы где у меня увидели ++?

ты написал что раст проигрывает всем.
у тебя какие-то особенные "все" которые не включают С++ ?

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

418. Скрыто модератором  +/
Сообщение от _kp (ok), 15-Июн-24, 23:47 
Ответить | Правка | К родителю #157 | Наверх | Cообщить модератору

36. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –2 +/
Сообщение от Аноним (36), 14-Июн-24, 02:14 
Страшный с++.
Который вытеснил сишку практически из всех областей разработки, даже из embedded.
А сишка осталась только в легаси, и старых больших проектах, которые просто экономически нет смысла исправлять.
Ответить | Правка | К родителю #32 | Наверх | Cообщить модератору

37. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +2 +/
Сообщение от Аноним (38), 14-Июн-24, 02:42 
> А сишка осталась только в легаси

Вы мягко говоря неправы. Есть такое понятие, как целесообразность. В большинстве тех мест, где применяется Си (особенно встройка), ООП нафиг не нужно.

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

110. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Герострат (?), 14-Июн-24, 10:41 
На плюсах тоже можно писать без ооп
Ответить | Правка | Наверх | Cообщить модератору

118. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (-), 14-Июн-24, 11:11 
> Есть такое понятие, как целесообразность.

Именно. И вот целесообразности писать на сишке практически не осталось.

> ООП нафиг не нужно

C++ - мультипарадигменный язык. На нем можно и в процедурная стиле писать.
Зато пользоваться всеми аспектами, которые сейчас являются просто нормой для нормальных языков программирования.

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

43. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (39), 14-Июн-24, 03:20 
Ну это кучка дешёвых понтов поверх ровной и любимой сишке
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

129. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (72), 14-Июн-24, 11:50 
Си это база.  
Ответить | Правка | Наверх | Cообщить модератору

55. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (55), 14-Июн-24, 05:59 
> Страшный с++.
> Который вытеснил сишку практически из всех областей разработки, даже из embedded.

Да вот вся фирменная идиотия сей - на месте. Типа int хрензнает какого размера и прочих integer promition с совершенно отшиблеными правилами вида "попробуй угадать что сделает клмпилер".

Хотя при сильном желании на плюсах можно даже сделать подобие сабжа, конечно. На минималках даже из сишки немного можно. Только криво.

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

119. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 14-Июн-24, 11:15 
> Да вот вся фирменная идиотия сей - на месте.

Да, к сожалению. Это цена поддержки обратной совместимости.
Но лучше хорошее + чуть сишной убогости, чем одна только убогость.

> Хотя при сильном желании на плюсах можно даже сделать подобие сабжа, конечно. На минималках даже из сишки немного можно. Только криво.

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

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

261. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (261), 14-Июн-24, 18:21 
> Типа int хрензнает какого размера

Так это специально. Зависимый от железа int - самый быстрый.

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

262. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (261), 14-Июн-24, 18:21 
И int фиксированного размера давно уже есть и в C, и в C++.
Ответить | Правка | Наверх | Cообщить модератору

310. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 15-Июн-24, 00:22 
> И int фиксированного размера давно уже есть и в C, и в C++.

Спасибо Капитан Очевидность! Вы дали фееричную лекцию - практикующему сишнику и немного плюсовику как раз.

К сожалению это все было сделано комитетом полудурков максимально через ж"пу.
1) В препроцессоре тоже есть вычисления. И конечно без нормальных типов данных, чтобы было не очень скучно. Забавно же когда все константы и предвычисления препроцессором - implementation defined?!
2) 1, 1U, 1UL и 1ULL это 4 довольно разные вещи... и сколько там де факто в граммах^W битах в том или ином случае окажется - довольно интересный вопрос.
3) Все это лезет в практически всех математических операциях, чтобы не было скучно, а с правил integer promition слетят с катушек даже ящеры с другой планеты, пожалуй.
4) До C23 (и C++ рядом) signed int overflow/underflow - махровейшее UB. Например потому что формат хранения signed int - ну, их несколько разных. В 23 это все же заманало и зафорсили two's complement. Но UB все равно формально не сняли. Бег по граблям с препятствиями.
5) А ваш код переживает -Wconversion без варнингов? Это такой миноискатель показывающий где вон те грабли (могли) быть.
6) Можно юзать signed int как индекс массивов. При том отрицательный индекс не то чтобы сильно редко случается в real world коде. С понятным результатом.
7) enum в сях да и плюсах довольно бесполезная хрень, даже если что-то typedef'нуть в него - это никак не энфорсится и не проверяется. Даже когда можно было.
8) Аннотации типа foo(array[10]) просто отбрасывают аннотацию [10] и вот так сразу - никто ничего не проверяет.
9) Бывают всякие builtin типа add_overflow, но они нестандартные.

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

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

346. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от тыквенное латте (?), 15-Июн-24, 07:00 
юзер234, ты от девопс экспертизы перешел на кодинг? хоспате, пощади.
Ответить | Правка | Наверх | Cообщить модератору

359. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 15-Июн-24, 08:31 
> юзер234, ты от девопс экспертизы перешел на кодинг? хоспате, пощади.

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

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

383. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Ivan_83 (ok), 15-Июн-24, 13:57 
Вы плохо практикующий, потому что:
- С это не язык по какой то там спеке, это язык про железо, поэтому какойнить int не зазорно быть аппаратно зависимым типом
- достаточно пару раз наступить на грабли чтобы запомнить и больше не наступать, это называется обучаемость
- про енумы - в сях вообще ничего не энфорсится, потому что это не язык БДСМщиков
- отрицательные индексы для массивов тоже возможны, иногда так задумано, хотя я не разделяю таких методов
Ответить | Правка | К родителю #310 | Наверх | Cообщить модератору

404. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 15-Июн-24, 21:33 
> Вы плохо практикующий, потому что:

Хотите об этом поговорить? Окей, "пошло веселье!" (c) джеди.

> - С это не язык по какой то там спеке, это язык
> про железо, поэтому какойнить int не зазорно быть аппаратно зависимым типом

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

> - достаточно пару раз наступить на грабли чтобы запомнить и больше не
> наступать, это называется обучаемость

Судя по числу вулнов, сбоев и прочих факапов математики которые я в таком коде "от дидов" конопатил, с этим были, есть и будут проблемы. Если грабли не раскладывать - не придется прокачивать скилл в бинтовании лбов. Ну вот реально - нафиг надо тратить время на борьбу с проблемой которой быть не должно с самого начала. И да, если бы стандарт делал я, я бы переделал работу с integer'ами до конкретных размеров, как в хрусте, по всей площади. И в препроцессоре, и в математике, и в константах, и проч. С более другими правилами.

> - про енумы - в сях вообще ничего не энфорсится, потому что это не язык БДСМщиков

БДСМ это как раз пытаться поймать баг где по ошибке вкатили левое значение - например опечатавшись. И enum мог бы заметить что ну вот явный левак дали. Ан нет. Чисто декоративная хреновина, существующая неизвестно зачем. Почтальон печкин: задекларить намерения кодера можно, но это никого ни к чему не обязывает.

Более того - даже тип к которому enum будет де-факто приведен и грабли на этом пути это очень сильно отдельный топик. И самое печальное что там нет хорошего, простого, однозначного ответа "а что это на самом деле будет". Это хреновый стандарт, вот хоть как.

> - отрицательные индексы для массивов тоже возможны, иногда так задумано, хотя я
> не разделяю таких методов

На мой вкус именно в массивы это не должно катить. То что это де факто decays to pointer - окей, одна из причин по которым в сях проблемы с статическим анализом. А падающая в рантайме фирвара, бутлоадер или ядро - немного не то чего мы хотели от системщины, уж пардон.

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

422. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Ivan_83 (ok), 16-Июн-24, 06:17 
Про енум согласен.

В остальном ещё раз подумайте и поймите, что это язык для работы с железом на низком уровне прежде всего, а уже потом всё остальное.
Поэтому инты - это любая хрень со знаком размером с регистр проца, а если надо что то конкретного размера то отдельно завезли uintXX_t, intXX_t и прочее.
Про оверфлоу при вычислении примерно так же: обычно на это пофиг, потому что системный код простой и примитивный, там и так понятно что до MAX_INT оно никогда до досчитает, потому проверками никто не заморачивается, ради скорости и простоты.
То что ими не заморачиваются там где рассчёты и где оно может случится - это отдельная история.

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

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

466. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 17-Июн-24, 08:02 
> Про енум согласен.

Да там не только в нем проблема. Но enum - просто такой характерный пример когда вроде ну все сделали - и зачем-то пролюбили пойнт сделаного. А зачем делали тогда? Чисто для галочки что, вот, фича есть?

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

Я по моему очень понятно обрисовал что я на самом деле хочу при вот именно работе с железом. А вот что я совершенно точно при этом не хочу - дурацкие првила integer promotion, UB и тому подобное веселье. Ибо железо так то разное бывает. Как тебе сбой в фирваре крутящей вон тот двигун? Или рулящей вон тем опасным процессом? Ну очень круто, да? И в этом месте последнее что я хочу видеть - это "size_t" хрен знает какого рамера, непонятки "что будет если?" и тому подобные вещи, типа игнора аннотации вида array[10] до "decays to pointer" и даже очевидный out of bounds - не ловится сколь-нибудь регламентировано и штатно.

> Поэтому инты - это любая хрень со знаком размером с регистр проца,
> а если надо что то конкретного размера то отдельно завезли uintXX_t, intXX_t и прочее.

Как я уже сказал, полудурков из ISO не хватило чтобы сделать это нормально. Поэтому в препроцессоре, константах, enum и прочем integer promotion можно знатно попрыгать по граблищам, которым к тому же топор на рукоять одели для лулзов.

Да, даже просто написать "+ 1" может сделать немного не то что програмер подразумевал, очень контринтуитивно запромотив тип. Enum'а это тоже касается. И булеаны появились в том числе и поэтому. А чтоб вы не скучали - в C23 их вынесли, #include <trollface.h> однако :)

> Про оверфлоу при вычислении примерно так же: обычно на это пофиг, потому
> что системный код простой и примитивный, там и так понятно что
> до MAX_INT оно никогда до досчитает,

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

> ради скорости и простоты.

Я думаю что по состоянию на сейчас пора пересмотреть эту практику и явно аннотировать критичный к перфомансу код как таковой. Иначе - получается фигня как выше, и это очень сомнительная услуга человечеству. Да и большую часть проверок компилер так то может выпилить оптимизером - на самом деле там прувер мама не горюй у современных компилеров, он это для оптимизаций делает, но вон там - Торвальдс крыл gcc за удаленные проверки null, где с этим в компилере малость перестарались даже :)

> То что ими не заморачиваются там где рассчёты и где оно может
> случится - это отдельная история.

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

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

FYI у микроконтроллеров бывает и оператива с parity/ECC, и флеха с ней же. И на десктопе у меня таки тоже ECC. А вы можете глюкать и прыгать по граблям если хотите. И файлуху без чексум можно юзать.

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

307. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 15-Июн-24, 00:02 
>> Типа int хрензнает какого размера
> Так это специально. Зависимый от железа int - самый быстрый.

Поэтому взяв допустим ардуину, и вкатив там ключом компилера вот именно 16-битный int (да, так на 8 бит платформе будет куда быстрее) - можно будет быстренько узнать почем сегодня фунт лиха.

С одной стороны это - абсолютно по стандарту. С другой - 95% кода на этом глобусе, разумеется, не ожидает столь фееричной подляны. Кто ж эти ваши стандарты еще и читает то, от и до?!

И в результате это не только самый быстрый - но и самый грабледром.

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

280. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Ivan_83 (ok), 14-Июн-24, 20:41 
Если вы не в курсе, то часто реально пофиг какого там размера этот самый int, потому что его пихают чтобы посчитать от 0 до 10.
Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

360. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 15-Июн-24, 08:37 
> Если вы не в курсе, то часто реально пофиг какого там размера
> этот самый int, потому что его пихают чтобы посчитать от 0 до 10.

Зато в случае когда там было поболее чем 10 - становится очень сильно не пофиг. Когда код глючит, разваливается, непортабельный, а помахав стандартом - забыли с ним комплайнс обеспечить. А зачем тогда стандарт был, блин? И зачем он написан как написан?

А в случае всяких там индексов и чего там еще - самое то, в паре с integer promition, чтобы прострелить себе череп с заподвыподвертом, в прыжке, держа пистолет левой ногой. Даже не заметив этого, ибо -Wconversion какой - это таки хардкор и далеко не каждый рискнет сие вкатить на свой код.

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

384. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Ivan_83 (ok), 15-Июн-24, 14:02 
Насколько по более?)
Я везде у себя юзаю size_t для размеров и индексов, но та же луа почти целиком на int и ничего.
Более того там и отрицательные значения для индексов используются активно и это нигде не мешает.

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

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

405. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 15-Июн-24, 21:47 
> Насколько по более?)

Ага, вы кажется начинаете о чем-то догадываться. Большая часть кода на этом глобусе железно уверено что в int лезет что-то уровня 2^31-1. И вон там, в примере с авркой, если мы еще и удумаем реально поюзать даденое стандартом право сделать платформе удобно, вкатив int сподручный ей, 16 битов, ибо по стандарту так можно было - мы гуано откушаем на большей части кода.

> Я везде у себя юзаю size_t для размеров и индексов, но та
> же луа почти целиком на int и ничего.

Угу, теперь попробуй фирмварь так написать. А потом перенести скажем работу с конкретной железкой на пару других платформ. А допустим в лине - драйверы цепляют свои железки - на довольно разном cpu core, и если они будут на такие вещи уповать.... Ну вот нет, от того что линух работал только на i386 торвальц ушел, и почему портабельность хорошо - понял. На память об этом у нас 1 набор дров под разные платформы работает. Ведь скопипастить IP-блок можно к любому процессорному ядру, равно как и PCI какой к нему пристроить, etc.

> Более того там и отрицательные значения для индексов используются активно и это
> нигде не мешает.

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

> И не забывайте что С был для работы с реальным железом, очень разным,

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

> а не для какой то там спеки, потому некоторые типы были машинозависимые.

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

> По сути это такой удобный асм, а не то что вы там себе придумали.

Для асма тем более непростительно то что оно с типами и integer promition вытворяет. Впрочем это даже и в апликушных вещах может все нагнуть при желании пульнуть что-то по сети или прочитать файл одинаково на разных платформах.

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

423. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Ivan_83 (ok), 16-Июн-24, 06:25 
Большая часть кода с int которую я видел за последнее время (lua, return error code в линухе/бсд) легко могла бы уложится в 16 бит, а может даже и 8.


size_t - это для размера куска памяти на конкретной архитектуре где собран код.
В форматы его понятное дело не пихают ибо получится плохо переносимо.
Но тот же memset(), memcpy(), strlen() - это уже давно с size_t, везде.

В асме код тоже далеко не всегда с проверками переполнения, потому что очевидно часто оно не случится никогда.

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

467. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (467), 17-Июн-24, 08:16 
> Большая часть кода с int которую я видел за последнее время (lua,
> return error code в линухе/бсд) легко могла бы уложится в 16
> бит, а может даже и 8.

Проблема в том что "меньшей" части вполне хватит чтобы огрести дохрена неочевидных багов. Реально кода который compliant с столь дурацким стандартом - не больно дофига.

> size_t - это для размера куска памяти на конкретной архитектуре где собран код.

Опять же - если мы например с хардварным регистром размером 32 бита работаем, этот IP блок uncore, внезапно, могли пришить к совершенно разным cpu core. А идея скопипастить обвес uncore - ну вот вообще ничему не противоречит. И потом - и с дравером ЭТО ЖЕ сделать, чем какие-нибудь линуксоиды хуже VHDLщиков всяких? Они о вон том - догадываются.

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

> В форматы его понятное дело не пихают ибо получится плохо переносимо.
> Но тот же memset(), memcpy(), strlen() - это уже давно с size_t, везде.

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

> В асме код тоже далеко не всегда с проверками переполнения, потому что
> очевидно часто оно не случится никогда.

Есть довольно большая разница между доказуемыми вещами, и "наобум напрогали так". В коде от дидов много второго. И на краевых условиях это добро сыпется только в путь. И вот ЭТО как раз несколько заманало.

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

279. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Ivan_83 (ok), 14-Июн-24, 20:40 
Так чувак, а ты чего до сих пор сидишь на легаси линуксе/бсд/мак/венде!?
Они же на С написаны, да ещё с вообще не человеческим асмом который ты не вкуриваешь!?

Давай, где там твой рустОС, руст-компилер и прочая?
А руст браузер у тебя есть чтобы сюда писать?

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

284. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 14-Июн-24, 20:56 
Боже, ну хватит показывать свое некомпетентность...

> Они же на С написаны

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

> Давай, где там твой рустОС, руст-компилер и прочая?

рустОС - redox os
руст-компилер - cranelift
в ФФ - есть раст и куча с++. Дыряшка там тоже осталась, но эту гниль старательно заменяют на нормальные языки вроде с++.

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

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

294. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Ivan_83 (ok), 14-Июн-24, 22:47 
Утекшие исходники были где то от 2к венды, тамошние плюсы от С мало чем отличались :)
Внутрь я не смотрел, полагаю на крестах был гуй и некоторые службы.
Где то с висты дрова стало можно писать на крестах, но что там внутри ОС я хз.


> в ФФ - есть раст и куча с++. Дыряшка там тоже осталась, но эту гниль старательно заменяют на нормальные языки вроде с++.

ФФ - сколько там того раста? хотя бы треть есть?
И чтобы вы знали, RUST как раз и переводится как гниль, один из вариантов :)

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

380. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 15-Июн-24, 12:26 
> Утекшие исходники были где то от 2к венды, тамошние плюсы от С
> мало чем отличались :)
> Внутрь я не смотрел, полагаю на крестах был гуй и некоторые службы.

Там нет ни Си, ни плюсов. В ядре куча Паскаль-кода с венгерской нотацией, записанная странным диалектом Си, потому что другого у Микрософт и не было. Если не придираться к непривычногому синтаксису, то назвать тот код овном - это надо быть очень смелым анонимным гением. На то время передовые технологии, ОО в полный рост, спроектированное создателями DEC VMS. Где-то, вероятно, было и "Си с классами", собираемое как плюсы (но это к Юзер234 вопрос, из какого чатика он инфу сюда скопировал).

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

42. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +2 +/
Сообщение от Круз (?), 14-Июн-24, 03:18 
> Обеспечено автоматическое продление времени жизни временных значений, которые используются в конструкциях "match" и "if".

вот и завезли сборщик мусора, теперь ржависты со своим наречием стали совсем ненужны

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

53. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –3 +/
Сообщение от Прохожий (??), 14-Июн-24, 05:57 
В таком смысле он там всегда был. Но этот "сборщик мусора", в отличие от других языков, работает предсказуемо и без дополнительных накладных расходов, то есть на этапе компиляции.
Ответить | Правка | Наверх | Cообщить модератору

61. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (-), 14-Июн-24, 06:29 
> вот и завезли сборщик мусора, теперь ржависты со своим наречием стали совсем ненужны

Если так рассуждать - то даже в си есть автоматическое управление памятью, ежели аллокации на стеке. И проблемы с ним там - довольно характерные, угумс. А самое прикольное что это не стандартизировано и implementation detail вообще.

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

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

124. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (124), 14-Июн-24, 11:35 
Это то же самое, что очищение локальных переменных в конце функции, там нет stop the world
Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

80. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от Аноним (99), 14-Июн-24, 08:52 
Предлагаю вспомнить методы формальной логики.
Раст вышел из мозиллы->мозилла~4%->в соседней веточке, в теме популярности ЯП'ов раста не видать в топах.
....
Раст - это про пиар.
Ответить | Правка | Наверх | Cообщить модератору

81. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +4 +/
Сообщение от Аноним (81), 14-Июн-24, 08:58 
>Раст - это про пиар

Раст - это про "собаки лают, а караван идет"

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

83. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (72), 14-Июн-24, 09:02 
Но если не раст то что? Если есть энергия что-то пиарить надо перекоючит пиар на что-то другое. Но этого другого нет. Раньше часто пиарили Хаскель. Но всё перебил раст, хотя он во всем хуже Хаскеля.
Ответить | Правка | К родителю #80 | Наверх | Cообщить модератору

85. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (99), 14-Июн-24, 09:13 
Про Хаскель в точку!
А почему бы не пиарить фундаментальное образование? С годными знаниями математики оно и с указателями попроще будет. Да и вообще айсикью постабильнее от изучения точных наук. Лучшая профилактика старика Альцгеймера и прочих деменций!
Ответить | Правка | Наверх | Cообщить модератору

87. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +2 +/
Сообщение от Аноним (87), 14-Июн-24, 09:18 
да кому нужны умные люди?
нужны гребцы на ржавые галеры )
Ответить | Правка | Наверх | Cообщить модератору

90. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (99), 14-Июн-24, 09:22 
Сэд бат труЪ.
Ну ничего,давеча с Клодом пообщался плодотворно. Сложилось стойкое впечатление, что АГИ не за горами. Маск явно что-то знает.
И кому будут нцжны эти проржавевшие байдарочники?!
Ответить | Правка | Наверх | Cообщить модератору

162. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (-), 14-Июн-24, 13:28 
> да кому нужны умные люди?

А где их взять? И вообще они когда-то были
Вон самые Ылитные пограммеры на СИшке выдавливают из себя такой код, что просто страшно становится.
Подумаешь не осилили split строки
А ведь это Glibc, казалось должна быть надежной! opennet.ru/opennews/art.shtml?num=59867

И такой кал они выдавали даже 30+ лет назад.
"Уязвимости в библиотеках X.Org, две из которых присутствуют с 1988 года "
opennet.ru/opennews/art.shtml?num=59906
Тут пол опеннета наверное младше той дырени.

> нужны гребцы на ржавые галеры )

Кто хочет идет на галеру, это его право.
Кто не хочет - может пились самостоятельно что хочет.
Тут вопрос в том, что за опенсорс отвечают как раз владельцы галер)

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

170. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (99), 14-Июн-24, 13:52 
>И такой кал они выдавали даже 30+ лет назад.

"Уязвимости в библиотеках X.Org, две из которых присутствуют с 1988 года "

Как здесь уже говорили, возможно даже Вы: найс пунш.

Но не то. Ксорг не является релевантным примером. Ибо насколько я помню, первоначально пилился под клиент серверную архитектуру для обеспечения работу терминалов мейнфреймов. Своего рода тонкий клиент.
Дальше всем было лень сделать полноценный рефакторинг под новую задачу, стали набрасывть как водится сверху. И заверте...

Собсно и 30+ лет назад были двоечники, от этого никто и не открещивается. Но в общей массе их было поменьше. Да и уровень тогдашнего лузера легко дотягивает до сегодняшнего крепкого хорошиста. Легко. По моим субьективным наблюдениям.

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

175. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 14-Июн-24, 14:12 
> Но не то. Ксорг не является релевантным примером. Ибо насколько я помню, первоначально пилился под клиент серверную архитектуру для обеспечения работу терминалов мейнфреймов. Своего рода тонкий клиент.

Но который писали вроде не глупые пограммисты.
Или там были сплошные двоечники сбежавшие из ПТУ?

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

Напоминает историю ядра)

> Собсно и 30+ лет назад были двоечники, от этого никто и не открещивается. Но в общей массе их было поменьше.

Я видел как тогдашние отличники заряжали воду от телевизора и тащили денежки в МММ.
У них вообще нет ни понимания "причина следствие", просто феноминальный инфантилизм, зато просто феноминальное ЧСВ и уверенность в качестве своего образования.
Последствие этого мы пожинаем до сих пор(

> Да и уровень тогдашнего лузера легко дотягивает до сегодняшнего крепкого хорошиста. Легко.

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

> По моим субьективным наблюдениям.

Субъективные наблюдения не могут быть объективной метрикой.
Думаю ты тут спорить не будешь)

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

182. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (99), 14-Июн-24, 14:34 
>Но который писали вроде не глупые пограммисты.

Или там были сплошные двоечники сбежавшие из ПТУ?

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

>Напоминает историю ядра)

Вай нот!?
Дык может запилить свое с 0. На том же расте... учитывая все косяки дедов.
Где уже новые Торвальдсы?!

>Я видел как тогдашние отличники заряжали воду от телевизора и тащили денежки в МММ.

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

>Последствие этого мы пожинаем до сих пор(

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

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

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

>Ну или ты просто учился в гимназии,

Ну что Вы, куда мне, простому колхознику!

>Субъективные наблюдения не могут быть объективной метрикой.

Думаю ты тут спорить не будешь)

Не буду. Просто в общении с людьми заметно.
А обьективной метрикой в данном случае может выступать компаративистика конечного продукта в исторической ретроспективе. Думаю не будете спорить.

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

193. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 14-Июн-24, 15:22 
> В ту пору, как и любую другую, коллектив всегда разношерстный. Одни качества группы индивидов дополняются иными качествами другой группы. Все как всегда. Вопрос что есть двоечник тогда, и он же сейчас...

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

> Вай нот!?
> Дык может запилить свое с 0. На том же расте... учитывая все косяки дедов.
> Где уже новые Торвальдсы?!

Возможно вот он "проект по разработке на языке Rust легковесного Unix-подобного ядра, реализующего подмножество системных вызовов ядра Linux,"
"На текущем этапе развития в Maestro реализован 31% (135 из 437) системных вызовов Linux, чего достаточно для загрузки консольного окружения на базе bash и стандартной Си-библиотеки Musl. "
opennet.ru/opennews/art.shtml?num=60391

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

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

> Наивность большинства образованных людей тех лет зижделось на красном воспитании. Когда
> лгать, красть и творить прочее непотребство порицалось и считалось постыдным.

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

> Человек человеку был товарищ и брат.

Ага, вроде брат, но танками в случае чего давили.

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

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

> А обьективной метрикой в данном случае может выступать компаративистика конечного продукта в исторической ретроспективе. Думаю не будете спорить.

Да, поэтому я смотрю на то как раст входит и в ядро, и другние проекты.
Простой объективный факт.


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

203. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (99), 14-Июн-24, 15:47 
>Сейчас современные школьники осваивают программинг бытирее чем я в свое время.

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

Вам повезло! Вы алгоритмы расписывали. Это куда интереснее погроммирования мышкой.
Но сдается мне, что скоро и в погроммировании мышкой не будет нужды. Клод ии уже хорошо умеет. Пройдет лет 5, как Маск говорит...

>Возможно вот он "проект по разработке на языке Rust легковесного Unix-подобного ядра, реализующего подмножество системных вызовов ядра Linux,"

И вот опять: ..системных вызовов линукс. Ну пусть хоть так! Ждем прод потыкать.

>А вот экономическое образование тысяч его "клиентов" явно хромало

Разве сам Сергей Понтелеевич имел экономическое образование?!

> земля ему стекловатой

Зачем Вы так? Кругом и так много зла.

>Хахаха, я давно так не смеялся.

Безусловно было и то, о чем писали Вы. Всякое было. Особенно после 70х. Вместе с тем фундамент воспитания определенных черт в массах не меняется быстро. На это ушли десятилетия.
Было и то о и другое.

>Ага, вроде брат, но танками в случае чего давили.

Восставших супротив общей идеи. Как фактор любой государственности. Монополия на насилие, вот это все.

>Странно, я думал инфантилизм это "мы люди маленькие мы ничего не решаем",

https://www.forbes.ru/forbeslife/486431-koren-infantilizma-p...Инфантилизм%20или%20инфантильность%20—%20это%20состояние,конфликтов,%20эгоцентричный%20взгляд%20на%20мир.

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

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

А про "я заберу твое" раскажи это тем кого убили при создании колхозов. Или заморили голодом в поволжье, продавая зерно за бугор.

Забористая у Вас!
Вроде народу принадлежало по конституции. Если Вы о той конституции.
К слову в структуре дохода нефтяная игла стала прослеживаться в позднем совке.
Про "заберу твое" ака коллективизация и прочие кулаки, да период становления. Из неоткуда ресурс не берется. В ту пору народ был малограмотен, повсеместное образование бесплатное появилось позже, в том числе за счет этого базиса. Распределенного на начальном этапе и не разворованного, а преумноженного.
Не говорю, что это хорошие методы, но справедливости ради, шло оно на дело, а не в оффшоры. Думаю Вы не станете с этим спорить.

>Да, поэтому я смотрю на то как раст входит и в ядро, и другние проекты.

Простой объективный факт.

Остается дождаться пощупать. Потом посчитать и проекты, и cve.
Пока только надстройки над уже существующим. Не считая мелких проектов.
Но гонору то, пиару...

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

216. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 14-Июн-24, 16:54 
> Вам повезло! Вы алгоритмы расписывали. Это куда интереснее погроммирования мышкой.

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

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

> И вот опять: ..системных вызовов линукс. Ну пусть хоть так! Ждем прод потыкать.

Да, тк совместимость приложение это необходимость.
Иначе придется пилить не только систему, но и все пользовательские приложения.

> Зачем Вы так? Кругом и так много зла.

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

> Безусловно было и то, о чем писали Вы. Всякое было. Особенно после 70х. Вместе с тем фундамент воспитания определенных черт в массах не меняется быстро. На это ушли десятилетия.

А до 70х была послевоенная разруха и долгое востановление.
Я не настолько стар чтобы застать те времена, но бабушка расказывалоа как в 49м от голода жевали смолу, охотились на крыс и пол села померло.
Естественно после такого любые 60е были просто как рай.
Но хорошим это назвать я не могу.

> Восставших супротив общей идеи. Как фактор любой государственности. Монополия на насилие, вот это все.

Особенно если сначала их оккупировали под благовидным предлогом)

> https://www.forbes.ru/forbeslife/486431-koren-infantilizma-p...Инфантилизм%20или%20инфантильность%20—%20это%20состояние,конфликтов,%20эгоцентричный%20взгляд%20на%20мир.

Хорошоая статья, спасибо что подтведили мои тезисы.
1. "Импульсивные действия, отсутствие размышлений о последствиях" - типичный весь мир в труху.
2. "Неспособность взять на себя ответственность: отчаянные попытки избежать столкновения с ответственностью за свою жизнь и выбор, неспособность либо колоссальные трудности даже с самым простым выбором, обвинения других в своих проблемах. Постоянные оправдания за свое поведение вместо того, чтобы признать свои ошибки и исправить их."
То англичанка гадит, то массонская ложа.
С выбором правда не везде были трудности, тк часто выбора то не было.
Есть галоши фабрики большевичка, хошъ бери, хошъ не бери.

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

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

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

А т.е убить и украсть в начале это хорошо, а вот потом это плохо?
Какая-то готтентотская мораль получается.

> Распределенного на начальном этапе и не разворованного, а преумноженного.

Угу, так хорошо преумножили, что страну развалили.
Просто у наворованного изначально, а потом построенного силами рабов хватило прочности лет на 50-70.
А потом нежизнеспособная махина рухнула под собственным весом.

> Не говорю, что это хорошие методы, но справедливости ради, шло оно на дело, а не в оффшоры. Думаю Вы не станете с этим спорить.

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

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

239. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (99), 14-Июн-24, 17:38 
>Т.к я в его годы крапиву палкой махал и по гаражам лазил.

Не поверите, я тоже. И омг я счастлив!
Счастлив от того, что познал мир таким, каков он есть. Речь о мире настоящем.
Счастлив и от того, что открываю этот мир и своим детям.

>А типа мышкой нельзя программровать?

А типа что там мышкой напограммтровали? Даже если пресловутую вебню взять. Помню потыкал палкой викс, или как оно там. Тыкал мышкой я дольше, чем руками правил. Просто по фану.
И да, не будем путать среды моделирования с погроммированием. Это про симулинк иже с ними.

>Иначе придется пилить не только систему, но и все пользовательские приложения.

Оу май! Но так чуть больше чем все эти пользовательские приложения внезапно на столь нелюбимых Вами сях.
Стей хард! Будьте последовательны в своих начинаниях. Выбросить, так везде! Тем более если уж на то пошло, в каком-нить офисном приложении для раста вполне нашлось бы место.

>но разве даже по христианству обманывать такое кол-во людей не грех? С логичным попаданем в ад или чистилище?

По-христианству: не судите, да не судимы будете, ибо какой мерой меряете, такой и вам отмерено будет.
За свои грехи он ответил сам.


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

Здесь речь о том какой рывок был сделан за 30 лет. Можно даже сравнить с тем, что за крайние 30 было сделано. И это без мировой войны...
Да, было жестко, ктож спорит то. Но от сози до ядреной бомбы прошли. И народ крепкий был, что физически, что ментально.

>Особенно если сначала их оккупировали под благовидным предлогом)

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

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

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

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

>А т.е убить и украсть в начале это хорошо, а вот потом это плохо?

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

>Угу, так хорошо преумножили, что страну развалили.

Лихо Вы так 7 десятилетий прокинули.
По сути, по моему мнению, ссср - это страна Сталина. Все что после, двигались по инерции его задела. Задел закончился, все рухнуло.
Я не говорю хорош он или плох. Это история, это было и это никуда не денешь. Красным я не являюсь. Но всегда стараюсь обьективно смотреть на вещи. Красным богоборчества лично я забыть не могу.

>Так дачка в болгарии и икорка красная.

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

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

177. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (87), 14-Июн-24, 14:14 
Возможно ли как-то оценить количество генерируемого кала тогда и сейчас ?
Особенно если взять в учёт что сегодняшние "профессионалы на безопасных языках" продолжают сотрясать воздух в то время как серьёзные вещи продолжают создаваться на языках 40+ летней давности
Ответить | Правка | К родителю #162 | Наверх | Cообщить модератору

331. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Прохожий (??), 15-Июн-24, 02:40 
>серьёзные вещи продолжают создаваться на языках 40+ летней давности

А слабо почитать статьи на этом ресурсе? Или настоящий тутошний эксперт - не читатель?
Уже тучу раз приводились примеры и Гугла, и Майкрософт, и Клаудфлэр, но Воины Супротив Раста продолжают, как дятлы, долбить одну и ту же тему про серьёзные вещи и морально устаревший хлам, несмотря на то, что примеров серьезных приложений на Расте уже хватает.

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

395. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Ivan_83 (ok), 15-Июн-24, 18:13 
И сколько там раста у микрософта?
Особенно в его кормящих продуктах типа венды и оффиса.
Ответить | Правка | Наверх | Cообщить модератору

447. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Прохожий (??), 17-Июн-24, 01:18 
Это к чему вопрос был? Говорили о наличие Rust в серьезных приложениях, вроде. Теперь на тему о количестве кода внезапно перескочили.
Ответить | Правка | Наверх | Cообщить модератору

514. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 18-Июн-24, 01:40 
> И сколько там раста у микрософта?
> Особенно в его кормящих продуктах типа венды и оффиса.

Майки помнится недавно нанимали - програмеров на хрусте. Чтобы переписывать. Бэкэнд офиса365. На хруст. С дотнета. Это так, отделные приветы дотнетчикам, дополнением к ответу на вопрос про офис.

А как вы думаете откуда народ догадался что план - кинуть дотнетчиков в пользу хруста? Шило в мешке не утаишь, по ряду хедхантерской активности все понятно и без анонсов :)

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

107. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Facemaker (?), 14-Июн-24, 10:36 
>Но всё перебил раст, хотя он во всем хуже Хаскеля

Не подтверждаю. Имею опыт на обоих языках (Хаскель на пробных проектах, на Rust работаю за деньги). Хаскель, конечно, приятен в изучении, но отлаживать что-то сложное — адская мука. И памяти жрёт иногда больше Джавы (думал, такое вообще невозможно). Rust на данный момент — самый лучший из пригодных на практике языков. Субъективная оценка программиста со стажем 35 лет.

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

111. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (99), 14-Июн-24, 10:52 
> на Rust работаю за деньги

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

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

121. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +2 +/
Сообщение от Facemaker (?), 14-Июн-24, 11:26 
Не хочу, чтоб меня расшифровали коллеги :), поэтому выражусь уклончиво. Работаю в крупной российской компании, один из проектов которой — СУБД, полностью реализуемая с нуля на языке Rust. В других проектах "костыли": существующие C или C++-системы расширяются, где возможно, на Rust.

А вообще Rust много где уже применяется. Список компаний можно составить, просмотрев hh.ru :). Поэтому так смешно читать злопыхательства местных экспертов.

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

128. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (72), 14-Июн-24, 11:48 
То что в компаниях тоже есть фанатики совершенно не говорит о юзабельности Руста. 100 вакансий на Москву это пыль по сравнению с другими языками. Которых требуется в десятки раз больше.
Ответить | Правка | Наверх | Cообщить модератору

138. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 14-Июн-24, 12:06 
> То что в компаниях тоже есть фанатики совершенно не говорит о юзабельности
> Руста. 100 вакансий на Москву это пыль по сравнению с другими
> языками. Которых требуется в десятки раз больше.

Так себе аргумент. Потому что больше всего погромистов требуется для JS и php.
И по твоей логике они теперь стали самыми юзабельными языками?))


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

141. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +4 +/
Сообщение от Аноним (72), 14-Июн-24, 12:18 
Нет вот видишь ты даже не знаешь статистику какие программисты нужны. Ты оторван от реальности и не можешь здраво рассуждать. Php вакансий меньше чем C++ просто попробуй с этим пожить чуток.

Сразу скажу что сумма вакансий php js c++ меньше чем вакансий на один только python. Python нужен в 70 раз больше чем раст. И да python самый юзабельный язык попробуй это принять.

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

135. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (99), 14-Июн-24, 12:04 
> Работаю в крупной российской компании, один из проектов которой — СУБД,

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

Если допустить уровень "супер секретности", дескать мы тихо разрабатываем и никому не говорим, то это просто не укладываеься в общий политический тренд импортозамещения.
У нас принято громко заявлять о успехах, когда проект еще на уровне идеи. Дескать авось ассигнацию выделят. Овер 99% таких "проектов" умирают не родившись.

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

Что сказать, видел как пилили под линуксом на шарпах. Оставлю этл без комментариев. На совести разработчиков, скажем так.

> существующие C или C++-системы расширяются, где возможно, на Rust

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

>А вообще Rust много где уже применяется. Список компаний можно составить, просмотрев hh.ru :)

Мне не интересен хх.ру
Вы сказали, что много где используете лично, я поинтересовался лично у разработчика, Вы от ответа ушли.
И простите, но по моему мнению солгали, касаемо СУБД с 0 в РФ на раст.
На хх.ру много чего пишут, как на заборе практически...

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

139. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Facemaker (?), 14-Июн-24, 12:06 
>по моему мнению солгали, касаемо СУБД с 0 в РФ на раст

Время покажет :)

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

143. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (99), 14-Июн-24, 12:22 
Дай то Патрег!
Я только за! И за свои камни, и за свои япы и все все все...
Пока исхожу из реалии.
Пресс релизы всея яндекса молчат о таком чуде.
Ответить | Правка | Наверх | Cообщить модератору

142. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +2 +/
Сообщение от Аноним (72), 14-Июн-24, 12:20 
Так это же раст они только пишут и никак не напишут. Хоть обвязку хоть с нуля. В их работа важен процесс, а не результат.
Ответить | Правка | К родителю #135 | Наверх | Cообщить модератору

144. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от n00by (ok), 14-Июн-24, 12:22 
> На основании полученных данных делаю вывод о том, что пилите какую-то обвязку
> на расте вокруг экосистемы постгри.

Я на основании "не хочу, чтоб меня расшифровали коллеги" сделал такой вывод. В лучшем случае.)

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

213. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Витюшка (?), 14-Июн-24, 16:43 
Именно. Я практически на 100% в этом уверен. Скорее всего их расширение на Rust.

Не знаю ни одной базы данных на Rust в России с нуля.

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

326. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Прохожий (??), 15-Июн-24, 02:22 
Вам лучше про логику молчать, у вас с ней очевидные проблемы, потому что вы делаете выводы из неверных предпосылок.

1. Какая разница, какая рыночная доля у Мозиллы, если в спонсорах Rust Google и прочие немелкие конторы?

2. Rust - более сложный язык программирования, чем тот же JS, Python, ниша у него уже - в наши дни люди гоняются больше не за производительностью программ, но программистов. Также появился он гораздо позже Си и Плюсов, на которых горы кода написаны. Поэтому в топе его и нет пока что.

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

361. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (99), 15-Июн-24, 08:41 
>Вам лучше про логику молчать, у вас с ней очевидные проблемы

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

>Какая разница, какая рыночная доля у Мозиллы, если в спонсорах Rust Google и прочие немелкие конторы?

Иметь немелкого спонсора - это теперь залог успеха? Повспоминайте проекты самих немелких спонсоров, в которые были влиты сотни нефти и при этом почившие в бозе. Виндавс вон когда-то и на мобилках был, например.
Уж про посевные инвестиции аообще молчу. (Аля спонсирование раст и иже с ними). Там выхлоп стремится к 5% в лучшем случае. Но 5% обычно окупает все остальное. Реальная жизнь.

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

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

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

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

459. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Прохожий (??), 17-Июн-24, 02:53 
>С превеликим удовольствием приму наставничество, отче!

Всегда, пожалуйста.

>Иметь немелкого спонсора - это теперь залог успеха?

Внезапно, да. Особенно, если их несколько, и они не словом, а делом подтверждают жизнеспособность проекта/продукта.

>Повспоминайте проекты самих немелких спонсоров, в которые были влиты сотни нефти и при этом почившие в бозе.

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

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

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

>Это подмножество программистов не умеет и не может уметь в си

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

>в ближайшие годы может ворваться АГИ

А может и не ворваться.

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

120. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (120), 14-Июн-24, 11:25 
Надеюсь консорциум будет достаточно дайвёрсити и инклюзивити. Надеюсь откроют целый отдел тех, кто будет следить за инклюзивностью. В расте по другому не принято.
Ответить | Правка | Наверх | Cообщить модератору

328. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Прохожий (??), 15-Июн-24, 02:34 
>В расте по другому не принято.

Ещё один гений логики. Какое-то концентрированное сборище просто. Смешались в кучу кони, люди. Какое отношение имеет язык программирования (а не организация его развивающая) к инклюзивности? Правильный ответ - никакого. Но некоторые продолжают пытаться натягивать сову на глобус.

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

366. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (99), 15-Июн-24, 09:10 
>Ещё один гений логики.
> Какое отношение имеет язык программирования (а не организация его развивающая) к инклюзивности?

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

Здесь вспоминатеся ирония мамки сендмыла, ну это для тех, кто помнит.

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

133. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (133), 14-Июн-24, 11:56 
Тем, кто "на заборе" - если хотите что-то лучше крестов, то пробуйте zig или go.
Ответить | Правка | Наверх | Cообщить модератору

136. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Facemaker (?), 14-Июн-24, 12:05 
Не совсем верно. C++ — язык для создания огромных и сложнейших систем. Zig прост и скорее конкурент Си. Go — соглашусь, способен во многих проектах заменить и C++, и Java и тем более Python. Но Go не перекрывает всё, на что способен C++. Тут можно рассмотреть Rust. Единственно, где C++, возможно, до сих пор незаменим — приложения, выжимающие максимум производительности (за счёт оптимизаций, запрещённых в более безопасных языках).
Ответить | Правка | Наверх | Cообщить модератору

171. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 14-Июн-24, 13:58 
> Zig прост и скорее конкурент Си.

Где-то пол года назад в zig-песочнице можно было спокойно сделать double-free и use-after-free при помощи пары строк код.
Я бы сказал, что он слегка лучше (хотя бы меньшим кол-вом UB), но не то чтобы прям решал основные проблемы си.

> Единственно, где C++, возможно, до сих пор незаменим — приложения, выжимающие максимум производительности (за счёт оптимизаций, запрещённых в более безопасных языках).

До эпохи массового интернета это было норм.
А сейчас если выбирать между 'х2 производительность' (хотя думаю в реале будет скорее 5-10%) и 'какиры взломали ваши серваки и продают террабайты кода' многие хорошо задумаются.
Пример гугла говорит о том, что новый код они стараются писать на расте.

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

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

183. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (-), 14-Июн-24, 14:39 
> Единственно, где C++, возможно, до сих пор незаменим — приложения, выжимающие максимум производительности (за счёт оптимизаций, запрещённых в более безопасных языках).

В расте не запрещены никакие оптимизации. Но зато есть возможность эти оптимизации локализовать в unsafe, и позволить компилятору затем оптимизировать агрессивнее.

Например, строки в rust'е все в utf8. Код работы со строками с целью оптимизации полагается на то, что весь этот utf8 валиден, вплоть до UB в случае невалидного utf8 внутри str. Но std гарантирует, что если ты не создаёшь str при помощи unsafe, то все они будут валидны.

В C++ с этими вещами исторически проблемы, потому что когда C++ создавался, и потом когда его STL создавалась, программисты ещё никак не могли решить, как разделить ответственность между вызывающей и вызываемой сторонами за валидность данных. В результате эта ответственность размазана, то она на вызывающей стороне, и вызов функции с невалидными данными -- это UB, то она на вызываемой стороне, и та в рантайме выполняет проверки, которых часто можно было бы избежать. И C++ не содержит средств, для того, чтобы следить за валидностью данных внутри string. Программист легко может получить char*, затереть там '\0' и вписать невалидный utf8. Код string в результате проверяет в рантайме, то, что он может проверить, сегфолтит на том, что он не может проверить, и получается что ни тебе гарантий в отношение кода, ни производительности.

Единственно, где C++ до сих пор незаменим, это существующие кодобазы на C++.

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

187. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (187), 14-Июн-24, 14:52 
>Единственно, где C++ до сих пор незаменим, это существующие кодобазы на C++.

Заменим, незаменим...

Когда  Rust начнут использовать для ПО используемом на АЭС, в аэрокосмической отрасли и т.п, тогда можно сказать про какую-то замену.

А пока "истории успеха" от этого языка единичны.

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

196. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от Аноним (72), 14-Июн-24, 15:35 
В софте для АЭС не может быть никакой магии. Или в аэрокосмической области. Не может быть такого что из карго прилетел неизвестный пакет и не может быть такого что лишняя непонятная магия проверяет некие абстрактные выходы за границы буфера.  
Ответить | Правка | Наверх | Cообщить модератору

201. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +2 +/
Сообщение от Алиса (??), 14-Июн-24, 15:43 
> АЭС
> аэрокосмической
> карго

Тех кто юзает "карго" и всякие хипстерские "безопасные" язычки, как правило, не допускают к этим областям на пушечный выстрел)

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

335. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Прохожий (??), 15-Июн-24, 03:05 
Правильно ли я понимаю, что поскольку Си - нехипстерский язык, то ваять на нём софт для АЭС или космоса - нормалёк, несмотря на известную распространённость ошибок определённого класса, от которых на 100% защититься невозможно?
Ответить | Правка | Наверх | Cообщить модератору

415. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (415), 15-Июн-24, 23:15 
Си -язык простой (в математическом смысле). Sapienti sat.
Ответить | Правка | Наверх | Cообщить модератору

424. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Ivan_83 (ok), 16-Июн-24, 06:28 
for (int i = 0; i < 100; i ++) printf("%i/n", i);

Зачем мне тут от чего то защищатся? :)
Даже если int станет 8 бит, понятно что ничего не изменится.

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

476. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (483), 17-Июн-24, 09:50 
>Даже если int станет

Ваня, слезай с дерева! Ты не прав.

(0..100).for_each(|d| println!("{d}"))

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

210. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –2 +/
Сообщение от pavlinux (ok), 14-Июн-24, 16:37 
> В софте для АЭС не может быть никакой магии.

Как такого "софта для АЭС" нет, там всë аналоговое. Полупроводники не любят радиацию

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

244. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Массоны Рептилоиды (?), 14-Июн-24, 17:46 
> Как такого "софта для АЭС" нет, там всë аналоговое. Полупроводники не любят радиацию

Там чистый стимпанк в основном. Шестерёнки и паровые клапана

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

362. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 15-Июн-24, 08:42 
>> В софте для АЭС не может быть никакой магии.
> Как такого "софта для АЭС" нет, там всë аналоговое. Полупроводники не любят радиацию

То-есть древний журнал "наука и жизнь" про станционную ЭВМ (если не ошибаюсь "Скала" называлась) в анализе аварии ЧАЭС - нагло гнал? Или таки полупроводник полупроводнику рознь?

FYI ты скопытишься от радиации заметно быстрее чем многие полупроводники, особенно оптимизированные на rad hard.

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

197. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (72), 14-Июн-24, 15:37 
Ты же понимаешь что в си плас плас софте все так потому что ни для кого это не является проблемой кроме тебя. И то ты просто теоретик и си плас плас никогда в глаза не видел.
Ответить | Правка | К родителю #183 | Наверх | Cообщить модератору

312. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от Аноним (-), 15-Июн-24, 00:38 
> Например, строки в rust'е все в utf8. Код работы со строками с
> целью оптимизации полагается на то, что весь этот utf8 валиден, вплоть
> до UB в случае невалидного utf8 внутри str. Но std гарантирует,
> что если ты не создаёшь str при помощи unsafe, то все
> они будут валидны.

То-есть если строка передается ремотой, мы можем конкретно выкусить? Оок!

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

370. Скрыто модератором  +/
Сообщение от Аноним (500), 15-Июн-24, 09:31 
Ответить | Правка | Наверх | Cообщить модератору

390. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Ivan_83 (ok), 15-Июн-24, 14:37 
Про отвественность между вызывающей/вызываемой и проверкой кода возврата - да.
Но я лично всегда всё проверяю на входе и проверяю код возврата если не пофиг на результат.


Насчёт строк - уже много раз писал: нет в С/С++ никаких срок кроме константных объявленных в коде.
Всё что вы откуда то получили - это область памяти с какими то данными предположительно содержащими текст, и именно так и надо это обрабатывать: указатель + размер передавать везде, а не думать что там /0 будет и что только валидный текст.

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

389. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Ivan_83 (ok), 15-Июн-24, 14:30 
Нету в С/С++ никаких оптимизаций которые где то запрещены.
Есть ручное управление ресурсами и есть возможность писать код так чтобы он работал максимально эффективно на конкретных архитектурах.

В остальном - я вот смотрю на зоопарк приложений у меня в компе и там очень мало приложений где я могу уверенно сказать: "а пофиг на производительность и сколько оно жрёт".

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

188. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от pavlinux (ok), 14-Июн-24, 15:09 
100500 лет назад доказано, что никакой язык не может сам себя проверять.
На пальцах: if ( ptr == NULL) - сам язык может проверить только, что ptr NULL или нет,
но не может отвечать, что if ( ) правильно отработал.
Ответить | Правка | Наверх | Cообщить модератору

189. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  –1 +/
Сообщение от Массоны Рептилоиды (?), 14-Июн-24, 15:14 
> 100500 лет назад доказано, что никакой язык не может сам себя проверять

Не может проверять сам себя - будем проверять javascript-ом

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

194. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от pavlinux (ok), 14-Июн-24, 15:32 
>> 100500 лет назад доказано, что никакой язык не может сам себя проверять
> Не может проверять сам себя - будем проверять javascript-ом

И как жабаскрипт проверит выставлен ZF на проце или нет?


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

206. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Массоны Рептилоиды (?), 14-Июн-24, 15:58 
> И как жабаскрипт проверит выставлен ZF на проце или нет?

Элементарно! Напишем npm пакет if-zf на rust-е

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

208. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +2 +/
Сообщение от pavlinux (ok), 14-Июн-24, 16:18 
>> И как жабаскрипт проверит выставлен ZF на проце или нет?
> Элементарно! Напишем npm пакет if-zf на rust-е

:D

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

253. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +1 +/
Сообщение от _ (??), 14-Июн-24, 18:09 
Ви таки зохватите Землю, да :) План зело хорошЪ!
Ответить | Правка | К родителю #206 | Наверх | Cообщить модератору

313. "Выпуск Rust 1.79. Создан консорциум для разработки высоконад..."  +/
Сообщение от Аноним (-), 15-Июн-24, 00:40 
> Ви таки зохватите Землю, да :) План зело хорошЪ!

КМК будет как с наполеоном примерно. Захватил, спалил, сам не понял нахрен это сделал, удрал обратно получая по пути волшебные пинки... закончил дни на острове вообще. Ящеры историю не изучали? :)

Ответить | Правка | Наверх |