The OpenNET Project / Index page

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



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

"Фронтэнд для языка Rust доведён до готовности для интеграции в GCC 13"  +/
Сообщение от opennews (??), 06-Дек-22, 21:20 
Разработчики проекта  gccrs (GCC Rust) опубликовали четвёртую редакцию патчей с реализацией фронтэнда компилятора языка Rust для GCC. Отмечается, что в новой редакции устранены почти все замечания, ранее высказанные при рецензировании предложенного кода, и патчи  удовлетворяют всем техническим требованиям к коду, добавляемому в GCC. Ричард Бинер (Richard Biener), один из сопровождающих GCC, упомянул, что теперь код фронтэнда для языка Rust готов для интеграции в ветку GCC 13, релиз которой состоится в мае 2023 года...

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

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

Оглавление

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


1. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +12 +/
Сообщение от Аноним (1), 06-Дек-22, 21:20 
как говорится - Собаки гавкают, а караван идет.
Ответить | Правка | Наверх | Cообщить модератору

3. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –2 +/
Сообщение от раст переусложнён (?), 06-Дек-22, 21:22 
караван не умеет в goto и синглтоны. количество - не значит качество. скорее - ширпотреб.
Ответить | Правка | Наверх | Cообщить модератору

6. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +10 +/
Сообщение от Gedweb (ok), 06-Дек-22, 21:25 
Орнул, даже и добавить нечего. Разве только ещё антипаттернов.
Ответить | Правка | Наверх | Cообщить модератору

71. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от Аноним (71), 06-Дек-22, 22:59 
> Орнул, даже и добавить нечего. Разве только ещё антипаттернов.

Ну так номер версии сабжа в тему. Так кого должен любить черт, тринадцатый? %)

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

13. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –2 +/
Сообщение от Царь бог лучший князь (?), 06-Дек-22, 21:37 
Зачем расту goto? Эта конструкция используется в си из-за его хренового эррор хендлинга, ибо какой то из дескрипторов в функции может не открыться, нужно будет закрыть в обратном порядке. А поскольку RAII в си не завезли, выбора нет. Так зачем же goto в языке с RAII?
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

14. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –4 +/
Сообщение от раст переусложнён (?), 06-Дек-22, 21:42 
Кнута почитайте..
Ответить | Правка | Наверх | Cообщить модератору

16. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Царь бог лучший князь (?), 06-Дек-22, 21:45 
Будут ли более веские аргументы? Кроме отсылок почитать Кнута
Ответить | Правка | Наверх | Cообщить модератору

28. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от Аноним (28), 06-Дек-22, 22:04 
Зачем в расте unsafe? Что-то принципиально нельзя сделать в "безопасном" режиме?
Ответить | Правка | Наверх | Cообщить модератору

42. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +4 +/
Сообщение от Аноним (-), 06-Дек-22, 22:32 
> Зачем в расте unsafe? Что-то принципиально нельзя сделать в "безопасном" режиме?

Да, представляете. Например...
1) Все сисколы операционок мало того что сишные, так еще деланые в лохматых годах. Когда думали ... ну в общем о совсем других вещах. И никто это не будет ради вас переделывать, софта под это уже вся планета, вломы всем столько переписывать. Поэтому интерфейсы ос такие какие есть и с этим придется жить. И разумеется гарантии сабжа при этом немного пролетают. Покажите вообще статический анализ штуки типа ioctl()? Как бы это могло вообще выглядеть?
2) Многие интерфейсы к ЯП, либам и проч - см. выше, та же ерунда. Переписать весь мир на %s это круто конечно. До тех пор пока вот лично вам не приходится этим заняться. А вот тут почему-то оказывается что не так уж это и круто, если вы хатели сделать вон ту задачу а не убить 100500 лет на побочную активность.
3) В системных вещах иногда надо референсить память по конкретным адресам, с пофигом на то что там расположено. И разумеется это не безопасно если вы не понимаете что и зачем делаете.
4) Некоторые алгоритмы могут сильно выиграть по скорости от лобовой математики с адресами и проч, если там минимум допущений и оверхеда. И более того - эффективная их реализация с проверками может быть не особо внятной. Разумеется при этом можно отстрелить себе пятку.

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

58. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –3 +/
Сообщение от Аноним (28), 06-Дек-22, 22:47 
Мог бы просто написать, что на расте всё выше перечисленное сделать невозможно.
Ответить | Правка | Наверх | Cообщить модератору

69. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (71), 06-Дек-22, 22:58 
> Мог бы просто написать, что на расте всё выше перечисленное сделать невозможно.

При сильном желании вроде возможно. Обложившись кучей unsafe, да...

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

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

48. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –2 +/
Сообщение от ip1982 (ok), 06-Дек-22, 22:37 
> Зачем в расте unsafe?

unsafe отключает _некоторые_ возможности статистического анализатора. Всё.

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

55. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –1 +/
Сообщение от Аноним (28), 06-Дек-22, 22:46 
Т.е. со включенным анализатором толком ничего не сделать...
Ответить | Правка | Наверх | Cообщить модератору

95. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +7 +/
Сообщение от Анончик (?), 07-Дек-22, 00:18 
Примерно так же как предохранитель на ружье, что бы ногу себе не отстрелить.
Ну это же только дурачки пользуются оружием с предохранителем, настоящие пацаны знают что если на курок не нажимать то все будет нормально.
Ответить | Правка | Наверх | Cообщить модератору

107. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от Аноним (-), 07-Дек-22, 01:34 
С другое стороны, пока ты будешь снимать с предохранителя свое ружье, тебя как раз настоящий  пацан и пристрелит пока ты там возишься.
Ответить | Правка | Наверх | Cообщить модератору

147. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от Аноним (147), 07-Дек-22, 07:28 
Настоящий пацан успеет прострелить себе ногу. 👏
Ответить | Правка | Наверх | Cообщить модератору

166. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от YetAnotherOnanym (ok), 07-Дек-22, 09:57 
Аналогия так себе. Овердофига моделей пистолетов, у которых просто нет предохранителя, как детали, управляемой отдельным рычажком или кнопкой. Роль предохранителя выполняет накладка на спусковом крючке (блокирует спуск, пока стрелок не надавит на неё пальцем) или выступающий рычаг на задней стороне рукояти (блокирует УСМ и отключается при утапливании в корпус, когда ладонь стрелка обхватывает рукоять).
Ответить | Правка | К родителю #95 | Наверх | Cообщить модератору

228. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Проффесорemail (?), 08-Дек-22, 00:20 
Зачем нужно ружье, если не трогать предохранитель?
Ответить | Правка | К родителю #95 | Наверх | Cообщить модератору

73. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от ssdf (?), 06-Дек-22, 23:04 
Еще некоторые auto trait'ы как Send / Sync руками можно только через unsafe объявить.
Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору

99. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от pashev.ru (?), 07-Дек-22, 00:39 
Статического, конечно же.
Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору

129. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (129), 07-Дек-22, 04:30 
Например, без unsafe не написать биндинги к системным библиотекам линукса, которые по сути своей все на Си. https://github.com/gtk-rs/gtk4-rs/search?q=unsafe
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

162. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (-), 07-Дек-22, 09:23 
> Например, без unsafe не написать биндинги к системным библиотекам линукса, которые по
> сути своей все на Си. https://github.com/gtk-rs/gtk4-rs/search?q=unsafe

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

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

248. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Совершенно другой аноним (?), 08-Дек-22, 12:47 
Сисколы они, всё-же, немного не С-шные, а таки процессорные. int 0x80, sysenter и т.д. к C отношения не имеют.
Ответить | Правка | Наверх | Cообщить модератору

278. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (278), 12-Дек-22, 06:44 
> и т.д. к C отношения не имеют.

Вообще-то есть такая штука - syscall(). И мне очень интереcно что такое "int 0x80" в каком-нибудь RISCV. А вот syscall() там тоже будет. Как он там внутрях сделан второй вопрос. Факт в том что так можно доступиться к всем услугам операционки.

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

32. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Sw00p aka Jerom (?), 06-Дек-22, 22:10 
Software Developer Manuals for *
Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

39. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Gefest (?), 06-Дек-22, 22:24 
Правильна : Все управляющие конструкции можно  заменить на while - так победим !
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

41. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +4 +/
Сообщение от анонимус (??), 06-Дек-22, 22:29 
goto нужен только чтобы выпрыгнуть из вложенных циклов - для этого есть более явный человеческий break с меткой. Ну и для очистки ресурсов - но тут это принято через раишный дроп. Синглтоны кроме как для примеров антипаттернов не нужны(хотя и нет проблем их реализовать завернув например банально в лэзи-статик)
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

60. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +3 +/
Сообщение от Аноним (28), 06-Дек-22, 22:49 
> goto нужен только чтобы

Говоря "только", ты показываешь свою необразованность.

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

66. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (66), 06-Дек-22, 22:53 
> goto нужен только чтобы выпрыгнуть из вложенных циклов

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

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

268. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Gj (?), 09-Дек-22, 21:22 
>> Для этого даже в самых винтажных сяx break был

в "сях" break не поддерживал метки

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

272. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (-), 10-Дек-22, 02:34 
> break не поддерживал метки

Вы хотите недостатки goto + break сразу?! Оба плохи для структурирования программ, а такое комбо просто ужасно. Если вы хотите чтобы чтец неверно понял что вы делали и посадил баг вы на верном пути.

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

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

46. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (-), 06-Дек-22, 22:36 
> караван не умеет в goto

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

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

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

64. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (64), 06-Дек-22, 22:52 
Незачем из Раста делать плюсы, наличие похожих но разных методов только усложняет язык.
А ты и предлагаешь это сделать.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

96. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Без аргументов (?), 07-Дек-22, 00:20 
Это тролль
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

106. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (106), 07-Дек-22, 01:33 
Эдсгер Дейкстра ещё в 1968 году написал всё, что нужно знать про goto. Но ты ж не осилил, даже с переводом.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

123. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (123), 07-Дек-22, 03:30 
А Дональд Кнут в своей фундаментальной книжке goto любил и применял. Кнут написал TeX. А что написал Дейкстра, чтобы его слушать?
Ответить | Правка | Наверх | Cообщить модератору

139. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от name (??), 07-Дек-22, 06:11 
операционную систему и компилятор к алголу например
Ответить | Правка | Наверх | Cообщить модератору

149. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от Александрemail (??), 07-Дек-22, 08:04 
ТеХ вродь как вполне себе живет и пользуется. а где та ОСь и тот алгол?
Ответить | Правка | Наверх | Cообщить модератору

108. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –5 +/
Сообщение от Аноним (108), 07-Дек-22, 01:40 
Какой готу, иди книги почитай, этот костыль даже в си используют только криворукие.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

115. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (115), 07-Дек-22, 02:21 
так думают только те, кто его один раз в жизни юзал во время изучения языка
Ответить | Правка | Наверх | Cообщить модератору

134. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (108), 07-Дек-22, 05:38 
Потому что учить надо сначало ассемблер, а потом си. Тогда желание его использовать в си сразу отпадает.
Ответить | Правка | Наверх | Cообщить модератору

168. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от YetAnotherOnanym (ok), 07-Дек-22, 10:07 
Тебя бэйсиком в детстве ушибло?
Ответить | Правка | К родителю #115 | Наверх | Cообщить модератору

119. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (119), 07-Дек-22, 02:47 
Goto тебе никогда и не понадобится (ну или иди на ассемблере прогай). А нужен синглтон - ну так создай объект в самом верхнем скоупе и пробрасывай его везде через DI. А исторически сложившиеся синглтоны в других языках через статические поля и методы, которые потом можно дернуть где угодно - не, спасибо. Ладно бы еще потокобезопасность, так потом на эту фекалию тесты нормально писать невозможно.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

124. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (123), 07-Дек-22, 03:30 
> Goto тебе никогда и не понадобится

Дональд Кнут с вами не согласится

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

127. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (119), 07-Дек-22, 04:26 
Он просто предлагает менее радикальную точку зрения, по сравнению с Дейкстрой. Что если суть алгоритма в прямых переходах, то может стоит не так сильно стесняться ими пользоваться. При этом он не отрицает, что читабельность подобных алгоритмов резко деградирует.
Ответить | Правка | Наверх | Cообщить модератору

135. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (108), 07-Дек-22, 05:48 
Когда говорил? В 1974? Сейчас компиляторы все сами оптимизируют, никакие готу не нужны.
Ответить | Правка | К родителю #124 | Наверх | Cообщить модератору

140. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (140), 07-Дек-22, 06:14 
Парадигма структу́рного программи́рования предполагает отказ от goto
Концептуализирована в конце 1960-х — начале 1970-х годов

Удивительно что местные высококомпетентные эксперты по программированию с ней не знакомы.

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

167. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –1 +/
Сообщение от YetAnotherOnanym (ok), 07-Дек-22, 10:05 
> Собаки захлёбываются восторженным лаем, впадая в экстаз от переполняющего их энтузиазма, а караван жизни идет мимо, не замечая их радостной истерики.

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

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

2. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от раст переусложнён (?), 06-Дек-22, 21:21 
чем смартпоинтеры в c++ хуже раста?
Ответить | Правка | Наверх | Cообщить модератору

7. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –3 +/
Сообщение от Бьерн Страуструп (?), 06-Дек-22, 21:26 
Тем что они имеют фатальный недостаток
https://ru.wikipedia.org/wiki/%D0%A1%D0%...
Ответить | Правка | Наверх | Cообщить модератору

43. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от анонимус (??), 06-Дек-22, 22:32 
В плюсах нет таких сильных гарантий для поинтеров
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

54. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от AlexCr4ckPentest (?), 06-Дек-22, 22:43 
А что, в расте разве есть какие-то гарантии на по указателям в unsafe?
Ответить | Правка | Наверх | Cообщить модератору

62. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +4 +/
Сообщение от Аноним (28), 06-Дек-22, 22:51 
Сам факт присутствия слова unsafe в синтаксисе уже о многом говорит про язык.
Ответить | Правка | Наверх | Cообщить модератору

142. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –1 +/
Сообщение от Аноним (140), 07-Дек-22, 06:16 
Что говорит?
Ответить | Правка | Наверх | Cообщить модератору

154. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от Аноним (28), 07-Дек-22, 08:16 
> Что говорит?

- Ты что, глухонемой?
- Да!
(с)

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

217. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –1 +/
Сообщение от Аноним (140), 07-Дек-22, 18:51 
Присутствие слова unsafe говорит что аноним глухонемой?
Или что анонимный эксперт недалёкий?
Ответить | Правка | Наверх | Cообщить модератору

192. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (192), 07-Дек-22, 14:42 
Да, говорит что язык правильно спроектирован. Без unsafe не написать низкоуровневых примитивов и взаимодействия со всякими кривыми сишным апи, а вот прикладной код должен писаться без ансейфов со следующими из этого гарантиями.
Ответить | Правка | К родителю #62 | Наверх | Cообщить модератору

267. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (-), 09-Дек-22, 17:41 
>Да, говорит что язык правильно спроектирован.

Ловите дотнетчика!

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

74. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от AlexCr4ckPentest (?), 06-Дек-22, 23:07 
> В плюсах нет таких сильных гарантий для поинтеров

Ну смотри, плюсах есть 2 вида умных указателей:

- std::shared_ptr, в котором запрятан счетчик ссылок, его можно копировать сколько угодно раз, и пока счетчик не будет == 0, память не будет освобождена. Ну из минусов - это то, что управляющий блок (там где хранится счетчик ссылок и указатель) выделены в куче, а сам счетчик атомарный (проблема для многопоточки). Используя std::shared_ptr, ты можешь быть уверен, что N раз скопированный указатель будет удален только после того, как счетчик ссылок станет == 0.
Очень удобен, если нужно шарить указатель с кем-то еще.
- std::unique_ptr, в котором запрещено любое копирование, но разрешено перемещение, что так же решает проблемы владения (мы просто перемещаем состояние в новый объект, оставляя старый объект в несогласованном, но консистеном состоянии для его корректного удаления). Тем самым тут отказались от счетчика ссылок и решили еще 1 проблему: выделение управляющего блока в куче. Используя std::unique_ptr, ты можешь быть уверен, что указателем под этим классом всегда владеет только один единственный объект. Удобен, когда нужно сделать что-то похожее на PIMPL или просто автоматически освободить память при выходе из скоупа.

Согласно стандартам C++14 и C++17, эти классы гарантируют тебе одинаковое поведение на всех существующих платформах вне зависимости от компилятора и стандартной библиотеки. C чего ты решил, что тут нету гарантий?

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

78. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +6 +/
Сообщение от Бьярн Страуструп (?), 06-Дек-22, 23:21 
Да толку объяснять, если они в глаза даже стандарт С++98 не видели, использовали С++ с классами в свои студенческие годы.
Ответить | Правка | Наверх | Cообщить модератору

141. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от name (??), 07-Дек-22, 06:16 
В расте аналог для shared_ptr это Rc\Arc. А для unique_ptr - Box.
Это полноценные объекты с владениями, однако лайфтаймовые ссылки с их валидацией во время компиляции по-прежнему в плюсах не наблюдаются.
Ответить | Правка | К родителю #74 | Наверх | Cообщить модератору

177. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от Аноним (177), 07-Дек-22, 12:02 
> C чего ты решил, что тут нету гарантий?

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

Чтобы в C/C++ получить одинаковое поведение на всех существующих платформах, тебе придётся а) перерыть документацию по всем тем платформам, и б) научиться видеть все UB в коде глядя на название файла с кодом. Это не достаточное условие, но необходимое. Я не перечисляю другие, потому что уже глядя на это видно, что эти условия не выполняются никогда. А значит и одинакового поведения на всех существующих платформах от программ на C/C++ ждать не приходится.

> Согласно стандартам C++14 и C++17

Эти стандарты никогда не давали никаких гарантий. Они давали лишь устные обещания, и когда эти обещания не выполнялись, они начинали говорить "сама виновата", "ССЗБ", "вон из профессии" и прочие такие штуки.

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

198. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –1 +/
Сообщение от AlexCr4ckPentest (?), 07-Дек-22, 15:26 
Для начала уточню, речь идет про С++.

> А значит и одинакового поведения на всех существующих платформах от программ на C/C++ ждать не приходится.

Смотри, у тебя есть стандарт языка С++, согласно которому для полной реализации абстрактной машины языка С++, тебе необходимо:
  - компилятор, поддерживающий встроенные типы, исключения и шаблоны;
  - стандартная библиотека с поддержкой всех встроенных типов, исключений, шаблонов и потоков ввода вывода.
Даже если на целевой платформе не поддерживаются потоки и исключения, тот, кто пишет стандартную библиотеку - обязан это предоставить.
Реализация стандартной библиотеки может быть абсолютно разной, однако для С++ она обязана быть, и к тому же иметь ровно точно такое же поведение, что и на других платформах.
Ну например, у тебя есть шаблон класса std::vector, аллокатор которого должен знать, как ему выделять память (что-то на подобие malloc()), исключений и поддержки как минимум встроенных типов. Стандарт гарантирует, что например, std::vector<int>::push_back() для любой платформы, где есть поддержка стандартной библиотеки, сделает абсолютно одинаковые вещи везде: а именно - аллокатор std::vector`а выделит память (если не получилось - выбросит std::bad_alloc), в эту память он скопирует значение, которое ты передал в качестве параметра.
Если у тебя на платформе нету хотя бы одного, из вышеперечисленных компонентов в реализации стандартной библиотеки, то у тебя нет и компилятора С++. А значит, у тебя нету и С++.

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

206. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (-), 07-Дек-22, 16:21 
К чему ты всё это пишешь, если UB -- это Undefined Behavior, про который явно говорится, что никаких гарантий относительно его поведения нет?
Ответить | Правка | Наверх | Cообщить модератору

199. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от AlexCr4ckPentest (?), 07-Дек-22, 15:35 
> Эти стандарты никогда не давали никаких гарантий.

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

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

190. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (192), 07-Дек-22, 14:40 
> Ну из минусов - это то, что управляющий блок (там где хранится счетчик ссылок и указатель) выделены в куче

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

> счетчик атомарный (проблема для многопоточки)

Что за бред?

> Используя std::unique_ptr, ты можешь быть уверен, что указателем под этим классом всегда владеет только один единственный объект

Не можешь.

> C чего ты решил, что тут нету гарантий?

С того что ничто не мешает разыменовать `unique_ptr` хранящий nullptr, или взять два `unique_ptr` на один объект.

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

196. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от AlexCr4ckPentest (?), 07-Дек-22, 15:03 
> Не существует такого термина как "управляющий блок".

https://en.cppreference.com/w/cpp/memory/shared_ptr
Прочитай раздел "Implementation notes".

Тоже самое касается атомиков в реализации счетчика ссылок:
To satisfy thread safety requirements, the reference counters are typically incremented using an equivalent of std::atomic::fetch_add with std::memory_order_relaxed (decrementing requires stronger ordering to safely destroy the control block).

> С того что ничто не мешает разыменовать `unique_ptr` хранящий nullptr, или взять два `unique_ptr` на один объект

Это не проблема С++, это логическая ошибка, в растее точно так же в unsafe контексте можно взять 2 смарт поинтера на один и тот же объект. Ровно тоже самое про nullptr: в расте тоже можно создать указатель, хранящий нечто похожее на nullptr из С++ и разыменовать его.

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

221. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (192), 07-Дек-22, 19:51 
> Тоже самое касается атомиков в реализации счетчика ссылок

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

> Это не проблема С++, это логическая ошибка, в растее точно так же в unsafe контексте можно взять 2 смарт поинтера на один и тот же объект. Ровно тоже самое про nullptr: в расте тоже можно создать указатель, хранящий нечто похожее на nullptr из С++ и разыменовать его.

Это полнейшее непонимание принципов безопасности языка. Это проблема C++ потому что там это можно сделать, всегда, везде, в любом месте и любым способом, и язык никак этому не помешает. В Rust так сделать по умолчанию нельзя. В этом и заключается безопасность.

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

224. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (224), 07-Дек-22, 22:57 
Простите, я тут из джавы к вам заглянул, сильно не серчайте, но у нас "хорошо" атомики для многопоточности или "плохо" зависит от того, насколько многопоточность конкурентная (речь про contention), так как атомики у нас на compare-and-swap неблокирующих операциях. Если потоков много и все они конкурируют за один атомарный счётчик, то это место становится бутылочным горлышком, потому что потоки постоянно уходят в бессмысленный и беспощадный spin loop.
Ответить | Правка | Наверх | Cообщить модератору

126. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от Аноним (119), 07-Дек-22, 03:57 
Тем, что в расте, не пользуясь ансейфом, нельзя работать с кучей не через смартпоинтер. А если говорить в целом, чем он лучше - так это тем, что, первое что пришло в голову:
1) нет null, вместо этого обязательная обработка обоих вариантов развития событий у местного опшинала
2) система типов линейная, в силу чего деструктор будет всегда тривиальным и автосгенеренным компилятором (трейт Drop способом реализовать нетривиальный деструктор нельзя, это тупо коллбек на выполнение кастомной логики при уничтожении объекта, например, закрытия дескриптора, про который раст ничего не знает, потому что он пришел через FFI вызов из сишной DLL/SO).
3) боров чекер и zero-cost имитация reader-writer блокировки через зашитые в компилятор правила работы с mutable/immutable ссылками (у тебя не будет гонки потоков в программе, если тебе язык синтаксически не позволяет выразить стейт, приводящий к гонке).
Короче, то, что в С++ идиома и бест практис, который программсту один хрен нужно будет реализовать, потирая в 4 утра красные слипающиеся глаза перед дедлайном, в Rust является частью compile-time семантики, тупо не позволяющей собрать приложуху, если что-то написано не по феншую.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

132. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от _ (??), 07-Дек-22, 05:12 
Поэтому поргромисД на Rust, потирая в 4 утра красные слипающиеся глаза перед дедлайном влупенитЪ(С) unsafe и накропает кусок на плохом С.
Идите в Ж пЫонеры! (С) Одна бабушка
Ответить | Правка | Наверх | Cообщить модератору

236. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Прохожий (??), 08-Дек-22, 08:07 
От идиотов ни один язык не страхует.
В твоём случае другой, более адекватный программист на Расте, легко найдёт проблему по маркеру unsafe. В плохом Си глаза у него таки останутся красными в попытке потом найти баг.
Ответить | Правка | Наверх | Cообщить модератору

277. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Вячеслав (??), 12-Дек-22, 05:18 
При чём тут идиоты. Иногда надо сделать быстро, из говна и палок. Так и получается технический долг.
Ответить | Правка | Наверх | Cообщить модератору

170. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (-), 07-Дек-22, 11:28 
#include <iostream>
#include <memory>

int main() {
    auto i = std::unique_ptr<int>(new int);
    *i = 5;
    std::cout << "i = " << *i << "\n";
    std::unique_ptr<int> j = move(i);
    std::cout << "i = " << *i << "\n";
        // можно написать return 0, но бестолку, потому что предыдущая строчка сегфолтнется
}

Смартпоинтеры не дают никаких гарантий, они лишь немного упрощают статический анализ.

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

187. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (187), 07-Дек-22, 14:29 
А зачем ты читаешь из перемещённого указателя?
Ответить | Правка | Наверх | Cообщить модератору

189. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (189), 07-Дек-22, 14:37 
Чтобы показать, что C++ ничего не гарантирует. Программист на C++ может гарантировать, но только на словах: "мамойклянус". А C++ не гарантирует ничего.
Ответить | Правка | Наверх | Cообщить модератору

195. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –1 +/
Сообщение от AlexCr4ckPentest (?), 07-Дек-22, 14:47 
Гений инвалидировал указатель, создав для него moved-from state контекст, это черным по белому прописанно в стандарте. Почитай, что такое moved-from sate и почему у тебя тут сегфолт, а потом уже ной, что ты не знаешь стандарта.
Ответить | Правка | Наверх | Cообщить модератору

197. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (197), 07-Дек-22, 15:08 
> Почитай, что такое

Скажи мне, ты действительно настолько тупой, что не понимаешь, что код был скрафчен руками так, чтобы показать UB, и сделано это было с опорой на знание дебилизма стандарта C++?

> Гений инвалидировал указатель

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

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

202. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от AlexCr4ckPentest (?), 07-Дек-22, 15:49 
Почти аналогичный код на твоем любимом и "самом безопасном" расте.

use std::ptr;

pub fn main() {
    unsafe {
        let ptr: *mut i32 = std::ptr::null_mut();
        *ptr = 111;
        println!(*ptr);
    }
}

Догадайся, что будет выведено на экран?
Это еще кстати к слову об "отсутствии" nullptr )

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

203. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от AlexCr4ckPentest (?), 07-Дек-22, 15:52 
Интересно, если в документации у растоманов это помечено как UB, для них это типа не счиатеся UB?
P.S:
Разумеется, println! принимает формат-строку: по этому коррентнее будет println!("{}", *ptr)
Ответить | Правка | Наверх | Cообщить модератору

216. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от анон (?), 07-Дек-22, 18:30 
Ничоси! 11 метровый файл на выходе!! Что за нах?
Ответить | Правка | К родителю #202 | Наверх | Cообщить модератору

218. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от AlexCr4ckPentest (ok), 07-Дек-22, 18:51 
> Ничоси! 11 метровый файл на выходе!! Что за нах?

У меня около 9.2 МиБ получился.

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

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

238. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Прохожий (??), 08-Дек-22, 08:15 
Если бы ты, кроме форума, читал ещё документацию по обсуждаемому предмету, то  знал, что это так и есть. По умолчанию компилятор впихивает отладочную информацию и использует статическую линковку. Если нужно, всё это отключаемо. Но чукча (точнее очередной опеннетный "эксперт") не читатель.
Ответить | Правка | Наверх | Cообщить модератору

239. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от AlexCr4ckPentest (ok), 08-Дек-22, 10:31 
> По умолчанию компилятор впихивает отладочную информацию и использует статическую линковку. Если нужно, всё это отключаемо.

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

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

241. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от AlexCr4ckPentest (ok), 08-Дек-22, 11:05 
> Если бы ты, кроме форума, читал ещё документацию по обсуждаемому предмету, то
>  знал, что это так и есть. По умолчанию компилятор впихивает
> отладочную информацию и использует статическую линковку. Если нужно, всё это отключаемо.
> Но чукча (точнее очередной опеннетный "эксперт") не читатель.

Кстати, а почему бы не пойти дальше, и не запихать вообще все "так нужные" библиотеки в core раста?
Ну а что, было бы удобно: и 100500 реализаций спецификации OpenGL, чтобы GUI рисовать, например.
Вот почему линковаться статически научились по умолчанию, а в реализацию компилятора под такое же кол-во архитектур и написание собственного рантайма без libc - не смогли?

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

234. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Прохожий (??), 08-Дек-22, 07:59 
По умолчанию в программу включается отладочная информация. Плюс используется статическая линковка. Всё это можно отключить при необходимости. Об этом уже на этом сайте говорилось огромное количество раз.
Ответить | Правка | К родителю #216 | Наверх | Cообщить модератору

229. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +3 +/
Сообщение от anonymous (??), 08-Дек-22, 02:39 
Так ты ж сам написал unsafe. Зачем?
Сделай UB без unsafe, тогда поговорим
Ответить | Правка | К родителю #202 | Наверх | Cообщить модератору

235. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Прохожий (??), 08-Дек-22, 08:03 
Похоже, твой оппонент таки был прав. Ты реально глуп. В Расте, если не использовать unsafe, ты подобного не напишешь. В плюсах у тебя нет никаких опций для этого.
Ответить | Правка | К родителю #202 | Наверх | Cообщить модератору

240. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от AlexCr4ckPentest (ok), 08-Дек-22, 10:57 
> Похоже, твой оппонент таки был прав. Ты реально глуп. В Расте, если
> не использовать unsafe, ты подобного не напишешь. В плюсах у тебя
> нет никаких опций для этого.

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

Как-то опять двойные стандарты пошли: программистам на расте можно говорить что-то про UB в C++, а вот если им начинаю предъявлять за самые глупые ошибки даже в их собственной стандартной библиотеке и про ровно точно такой же код в unsafe, то они плачут и оправдывают это словами "ну это же логическа ошибка" и "по умолчанию так нельзя" и бла-бла-бла.

Кстати, почему вы вообще сравниваете С++ и Rust? По-моему это вообще никак не сравнимо, это абсолютно 2 разных языка с разными подходами к их использованию.

Я согласен, проверка всего этого в compile-time - это здорово, но не нужно это возносить как средство от всего. Кроме того, существование подобной штуки в языке наоборот препядствует адекватному восприятию безопасного кода (логические и семантически ошибки твои compile-time проверки никак не исправят). Не надо натягивать маску клоуна, чтобы выступать в цирке.

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

250. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (-), 08-Дек-22, 13:27 
> Использование unsafe контекста для данного примера как раз необходимо

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

Попробуй скомпилять вот это, вот тебе unsafe но со смарт-поинтерами:

fn main() {
    unsafe {
    let i = Box::new(5i32);
    println!("i = {i}");
    let _j = i;
    println!("i = {i}");
    }
}

Этот код не компилируется:

rustc tmp.rs
error[E0382]: borrow of moved value: `i`
--> tmp.rs:6:17
  |
3 |     let i = Box::new(5i32);
  |         - move occurs because `i` has type `Box<i32>`, which does not implement the `Copy` trait
4 |     println!("i = {i}");
5 |     let _j = i;
  |              - value moved here
6 |     println!("i = {i}");
  |                    ^ value borrowed here after move
  |

Попробуй найти способ получить в i невалидный указатель, разадресация которого приведёт к UB. Используй unsafe или не используй, как тебе покажется удобнее. Вот когда ты найдёшь такой способ, я смогу тебе на нём объяснить, чем смарт-поинтеры Rust'а лучше C++. А пока не найдёшь, тебе придётся оставаться в неведении.

> Кстати, почему вы вообще сравниваете С++ и Rust?

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

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

257. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от AlexCr4ckPentest (ok), 08-Дек-22, 15:41 
>> Использование unsafe контекста для данного примера как раз необходимо
> Нет, оно нужно для того, чтобы у тебя появилась возможность заменить смарт-поинтеры
> raw-указателями.
> Попробуй скомпилять вот это, вот тебе unsafe но со смарт-поинтерами:

Вот код на расте: https://godbolt.org/z/8hPrK7ddv
Вот аналогичный код на C++: https://godbolt.org/z/j63E6jh4o
И там, и там - это ошибка компиляции, дальше что?

> Попробуй найти способ получить в i невалидный указатель, разадресация которого приведёт к UB.

Любой volatile указатель, или указатель, который используется в коде на C. Очевидно, если он приходит от C API, то управляешь им не ты, а значит нужно использовать "сырые" указатели, относительно которых нету гарантий.

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

262. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (-), 08-Дек-22, 17:17 
> Вот код на расте

Сори. Там js нужен, у меня не работает.

Но, глядя вот на это:

> И там, и там - это ошибка компиляции, дальше что?

Я могу сказать тебе, что ты аргумент совершенно определённо пытаешься выставить кривым образом. Если C++ код можно написать так, чтобы он фейлился на этапе компиляции, когда программист попросил сделать что-то глупое, то Rust-код нельзя написать так, чтобы он не фейлился на этапе компиляции, когда программист попросил сделать что-то глупое.

Вчитайся в эту фразу. Я её укоротил как мог, чтобы тебе проще логику было бы применять. Оно из-за этого не совсем верное стало: я выкинул оговорку об ограничении классов глупостей программистов. Но ты тем не менее вчитайся, и пойми что приводя примеры когда C++ что-то ловит на этапе компиляции ты ничего не докажешь. Тебе надо показать, что невозможно написать код на смартпоинтерах C++, который не сфейлится на компиляции но сфейлится в рантайме.

> Любой volatile указатель, или указатель, который используется в коде на C.

В смысле смарт-поинтер, или raw-поинтер? Если второе, то тебя опять заносит в raw-поинтеры, хотя мы говорим о смарт-поинтерах. Если первое... Ну я не знаю, например, может ты можешь рассказать как взять raw-pointer, который по логике volatile, завернуть его в Volatile[1], и потом получить UB, работая с Volatile, то расскажи нам об этом. Или может у тебя в голове какой-то другой сценарий? Расскажи нам об этом.

[1] https://docs.rs/volatile/latest/volatile/

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

259. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от AlexCr4ckPentest (ok), 08-Дек-22, 15:52 
> Этот код не компилируется ...

Так же некоторый вопрос: чем же смарт-поинтеры в расте лучше, если компилятор зачем-то перемещает состояние, когда копирование запрещено? Причем делает это неявно, даже не выдавая диагностики.
Хотя C++, например, это вообще-то ошибка компиляции, и компилятор обязан выдать диагностику.

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

260. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (-), 08-Дек-22, 16:24 
> компилятор зачем-то перемещает состояние, когда копирование запрещено?

Компилятор перемещает, потому что я попросил его переместить значение. Я в курсе что Copy не реализован для Box'а, в этом фишка Box'а, это смарт-поинтер, а не член собачий. Box гарантирует, что он будет в единственном экземпляре. Если бы мне нужно было клонировать, я бы сделал:

let j = i.clone();

Но тогда я бы получил вторую аллокацию памяти и в i и j лежали бы разные Box<i32>, которые по значению бы совпадали, но были бы разные. В терминах lisp'а, они были бы equal, но не eq.

> Причем делает это неявно,

Да, это дефолтное поведение типов в ответ на =, описанное в любом материале для личинок растоманов. Clone и Copy -- это дополнительные трейты, которые разработчик этих типов может навешивать на них, а может нет. Таким образом move -- это дефолт в расте.

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

Или может не совсем иррелевантно... Это ведь суть отличий смарт-поинтеров C++ и Rust'а, так? Та самая суть которая делает смарт-поинтеры Rust'а смарт-поинтерами, и оставляет смарт-поинтеры C++ членами собачьими.

> даже не выдавая диагностики.

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

> Хотя C++, например, это вообще-то ошибка компиляции, и компилятор обязан выдать диагностику.

В C++ это не ошибка компиляции, выше по треду есть аналогичный C++ код, и компилятор C++ его радостно компилирует и выдаёт на выходе бинарь. А вот в Rust'е это ошибка, и раст как раз выдаёт ошибку компиляции и диагностику.

Ты чо, крeмлeвcкoй пpoпaгaнgы пересмотрел, и решил что обвинять других в своих грехах -- это хороший способ вести дискуссию? Нет, это может быть эффективным способом пpoпaгaнgы -- не знаю, но в дискуссии тебя будут макать в чан с известной субстанцией за каждую такую попытку.

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

273. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (-), 10-Дек-22, 02:37 
> move occurs because `i` has type `Box<i32>`, which does not implement
> the `Copy` trait

Вот чем rust приколен так это абсолютно марсианской диагностикой.

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

276. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (-), 10-Дек-22, 11:40 
Это не марсианский, это английский.
Ответить | Правка | Наверх | Cообщить модератору

242. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (242), 08-Дек-22, 11:11 
Санитайзер, да даже clang-tidy тебе об этом скажет
Ответить | Правка | К родителю #170 | Наверх | Cообщить модератору

252. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 08-Дек-22, 14:16 
clang-tidy скажет об этой ошибке

> used after it was moved [bugprone-use-after-move,-warnings-as-errors]

не говоря уже о санитайзерах.

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

180. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от Px (?), 07-Дек-22, 12:58 
Странно сравнивать абстракцию для контроля над временем жизни объекта и языком, но: cмартпоинтеры добавляют оверхед в рантайме; смартпоинтеры не устраняют проблемы рейсов; cмартпоинтеры используются и в расте, но по возможности, лучше обходиться без них. А ещё, у раста удобный синтаксис.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

204. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (204), 07-Дек-22, 15:56 
И unique_ptr добавляет оверхед в рантайме?
Ответить | Правка | Наверх | Cообщить модератору

4. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –7 +/
Сообщение от Аноним (4), 06-Дек-22, 21:23 
А я всё равно LLVM не брошу, потому что он хороший. ГСС бяка несовременная.
Ответить | Правка | Наверх | Cообщить модератору

18. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от anon223516234 (?), 06-Дек-22, 21:50 
Я тоже отчасти был согласен с этим аргументом до выхода 20го стандарта, однако эта вот самая "бяка несовременная" реализовала модули в ощутимо большем объеме, нежели модный шланг с якобы хорошей для таких дел архитектурой.
Так что ну... не все так просто в этом вопросе
Ответить | Правка | Наверх | Cообщить модератору

38. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (38), 06-Дек-22, 22:23 
А еще LLVM вымахал в огроменную, жирную и тормозную мегалибу где одна только .so кодогенератора весит 60 метров. А крутая у проекта архитектура - один 60-метровый .so, сразу видно, нонейм раджа из корпорации сархитектил. Не очень думая о том что будет с проектом когда он оптимизаторов навернет и запилит с десяток архитектур. Ведь для реализации задания босика здесь и сейчас все это не надо было, а там получил премию и хоть трава не расти.
Ответить | Правка | Наверх | Cообщить модератору

100. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (100), 07-Дек-22, 00:40 
Крутая у проекта архитектура. Одна либо на 60 мегов, а не 10 компиляторов для каждой архитектуры по 45 мегов каждый.
Ответить | Правка | Наверх | Cообщить модератору

111. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (111), 07-Дек-22, 02:03 
> Крутая у проекта архитектура. Одна либо на 60 мегов, а не 10
> компиляторов для каждой архитектуры по 45 мегов каждый.

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

Более того - это жирное месиво память будет жрать оптом. Вгружая вообще совсем все. И требования к ресурсам получатся более другие. Хотел ли я компилять под тот ARM на той машине - отдельный вопрос так то.

Более того. Шланг поддерживает здорово меньше архитектур. В какого кадавра ЭТО превратиться если попробовать приблизиться к уровню GCC можно лишь гадать. Но можно с умным видом рассказать что эти архитектуры не надо, как вариант. И мы будем компилять там GCC'ом, а чем же еще.

А если этого мало - пересобрать GCC под желаемый таргет весьма подъемная задача. Я это активно практикую, это в пределах досягаемости смертного с не сильно позорным компом. А вот то же самое для LLVM повторить... уу... это совсем другие затраты ресурсов и усилий и серьезная заявка на билдферму. Или туповэйтинг черти сколько.

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

181. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (140), 07-Дек-22, 13:35 
Современные разработчики совсем обнаглели. Кто заплатит пользователям за размещение у себя на диске огромной либы на 60мб? Кто заплатит за терабайты оперативной памяти? Разработчики llvm?
Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

226. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (226), 07-Дек-22, 23:55 
Не надо перекладывать с больной головы на здоровую. Это твой хозяин нанял безрукого тебя, чтобы экономить. Это ты работаешь тяп-ляп и быстрей-быстрей. Это ты и твой хозяин - жлобы, а не пользователь ПО. Он, как раз, усердного работает, ответственно тебя учит и лечит, чтобы ты был умный и здоровый, и чтобы ему хватило на новое железо под постоянно растущие требования твоих калькуляторов на JS, Java и C#.
Ответить | Правка | Наверх | Cообщить модератору

230. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –3 +/
Сообщение от Аноним (140), 08-Дек-22, 06:45 
Все так и есть. Я пишу за еду на java и js 😥
Ответить | Правка | Наверх | Cообщить модератору

232. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –2 +/
Сообщение от Аноним (140), 08-Дек-22, 06:54 
А также на kotlin, php, ts. Фронтэнд, бэкэнд и мобильное приложение одновременно.
А ещё на 2 языках запросов к базе данных, 8 фреймворках и это не полный список 😥
Ответить | Правка | Наверх | Cообщить модератору

233. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –4 +/
Сообщение от Аноним (140), 08-Дек-22, 06:56 
А так как программирую плохо и учиться тяжело, то уйти из помойки не могу 😥
Ответить | Правка | Наверх | Cообщить модератору

244. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (-), 08-Дек-22, 11:14 
слабак. руки ноги все есть ? займись физическим трудом. будешь через месяц плеваться что вс.ал пол жизни в похапе свое
Ответить | Правка | Наверх | Cообщить модератору

274. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (-), 10-Дек-22, 02:39 
> слабак. руки ноги все есть ? займись физическим трудом. будешь через месяц
> плеваться что вс.ал пол жизни в похапе свое

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

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

171. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (171), 07-Дек-22, 11:29 
LLVM - бяка смузи-модно-молодёжная, потому что.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

8. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +9 +/
Сообщение от Chlen22sm (?), 06-Дек-22, 21:27 
Впечатление что эти новости кто-то специально форсит, будто ничего другого не происходит в мире opensource.
Ответить | Правка | Наверх | Cообщить модератору

9. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –4 +/
Сообщение от Царь бог лучший князь (?), 06-Дек-22, 21:30 
Мне кажется, это у вас повышенное внимание именно к расту
Ответить | Правка | Наверх | Cообщить модератору

10. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +5 +/
Сообщение от раст переусложнён (?), 06-Дек-22, 21:32 
раст - это 90% хайпа и форсинга. на поверку он не полезнее чем go или c++, каждый из которых хорош в своей нише.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

19. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –5 +/
Сообщение от аноним2244 (?), 06-Дек-22, 21:54 
c++ не может быть хорошим по определению, это де тупо говно мамонта и куча угловых скобок
Ответить | Правка | Наверх | Cообщить модератору

33. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +6 +/
Сообщение от Аноним (33), 06-Дек-22, 22:10 
а раст типа свежее и потому лучшее? есть куча не только скобок
Ответить | Правка | Наверх | Cообщить модератору

40. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +4 +/
Сообщение от Аноним (38), 06-Дек-22, 22:24 
> c++ не может быть хорошим по определению, это де тупо говно мамонта
> и куча угловых скобок

А в хрусте палочки и закорючки какие-то для примерно того же. Ну и чо, лучше стало? :)

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

76. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Бьярн Страуструп (?), 06-Дек-22, 23:19 
Вот ты и попался, с C++17 угловые скобки для шаблонов не обязательны, а С++20 еще больше старого сахара не обязательно
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

169. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (169), 07-Дек-22, 10:21 
К тому времени когда его допишут (Раст) уже cpp2 от Саттера будет готов.
Ответить | Правка | Наверх | Cообщить модератору

89. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от Аноним (89), 07-Дек-22, 00:09 
Комментарий уровня: "Я создам новый язык программирования (форк JavaScript), в котором не нужно будет писать фигурные скобки, тем самым разработчики сэкономят кучу времени", ...
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

11. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –1 +/
Сообщение от Аноним (11), 06-Дек-22, 21:33 
Новости с растом получаются одними из самых обсуждаемых на этот ресурсе, так почему нет? Тем более язык УЖЕ добавлен в ядро и от него не отвертеться.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

12. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от Chlen22sm (?), 06-Дек-22, 21:35 
> Новости с растом получаются одними из самых обсуждаемых
> язык УЖЕ добавлен в ядро

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

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

21. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –2 +/
Сообщение от НяшМяш (ok), 06-Дек-22, 21:55 
Просто мало кто сюда других новостей пишет, не смотря на то что может каждый. На том же похорониксе за сегодня вышло 10 новостей и все написал один человек. Новость про раст просто теряется среди других.
Ответить | Правка | Наверх | Cообщить модератору

22. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (11), 06-Дек-22, 21:57 
>Это всё следствие искусственного шума.

Не думаю, что Торвальдс падок на такие шумы.

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

Может быть, вы не там сидите? На том же реддите, фочане довольно часто о расте пишут.

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

24. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –2 +/
Сообщение от НяшМяш (ok), 06-Дек-22, 22:02 
r/rust
Ответить | Правка | Наверх | Cообщить модератору

51. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (-), 06-Дек-22, 22:38 
> Не думаю, что Торвальдс падок на такие шумы.

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

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

263. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (263), 08-Дек-22, 19:05 
Торвальдс падок на эксперименты. В непонятной ситуации он предлагает оставлять обе альтернативы и давать сообществу выбирать победителя. Так всегда было. Вот только является ли сообщество ядра по-прежнему технократическим или хайп, маркетинг и влияние корпораций теперь имеют больше влияния - это открытый вопрос.
Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

275. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (-), 10-Дек-22, 02:41 
Они вроде вполне рациональные технократы. И под этим углом у сабжа есть определенные здравые идеи. Просто общая реализация хайпежная.
Ответить | Правка | Наверх | Cообщить модератору

109. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –1 +/
Сообщение от Аноним (106), 07-Дек-22, 01:40 
> Только не пойму в чьих интересах.

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

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

25. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (25), 06-Дек-22, 22:03 
> язык УЖЕ добавлен в ядро

А зачем вообще потребовалось rust ДОБАВЛЯТЬ в ядро? У него такой сложный компилятор и такой жирный рантайм, что не получается сделать автономный модуль на rust?

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

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

37. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +3 +/
Сообщение от Аноним (28), 06-Дек-22, 22:18 
> Может сначала rust должен осилить работу на микроконтроллерах

задача раста - не в том, чтобы работать...

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

146. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (140), 07-Дек-22, 07:04 
А в чем?
Ответить | Правка | Наверх | Cообщить модератору

173. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (173), 07-Дек-22, 11:39 
зарабатывать
Ответить | Правка | Наверх | Cообщить модератору

258. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (258), 08-Дек-22, 15:46 
Гранты осваивать
Ответить | Правка | Наверх | Cообщить модератору

176. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (171), 07-Дек-22, 11:45 
Переписывать, переписывать, переписывать
Ответить | Правка | К родителю #146 | Наверх | Cообщить модератору

61. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (66), 06-Дек-22, 22:50 
вообще по минимуму такие затеи есть, криво и специфично но все же...

а вот зачем newlib в мк - кто б его знает? вообще не критерий.

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

83. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (83), 06-Дек-22, 23:51 
>> язык УЖЕ добавлен в ядро
> А зачем вообще потребовалось rust ДОБАВЛЯТЬ в ядро? У него такой сложный
> компилятор и такой жирный рантайм, что не получается сделать автономный модуль
> на rust?

А еще в огороде бузина. Опеннетные эксперты совсем не палятся "знанием" матчасти.

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

118. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –1 +/
Сообщение от Аноним (25), 07-Дек-22, 02:44 
> не палятся "знанием" матчасти

Пояснил бы. Понятия не имею что за зверь такой rust и зачем ему так потребовалась поддержка в ядре. Написать модуль для ядра linux на том же C++, или на паскале (допустим, так https://wiki.freepascal.org/linux/kernel), или на ассемблере можно уже сейчас.

Что ж такого потребовалось для rust, что пришлось явно добавлять поддержку rust в ядро?

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

225. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (83), 07-Дек-22, 23:08 
>> не палятся "знанием" матчасти
> Пояснил бы. Понятия не имею что за зверь такой rust и зачем
> ему так потребовалась поддержка в ядре. Написать модуль для ядра linux
> на том же C++, или на паскале (допустим, так https://wiki.freepascal.org/linux/kernel),
> или на ассемблере можно уже сейчас.

И много в ядре модулей на паскале или С++, о теоретик?

> Что ж такого потребовалось для rust, что пришлось явно добавлять поддержку rust в ядро?

Возможность закоммитить свой код в ядро?


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

110. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (110), 07-Дек-22, 01:47 
>Может сначала rust должен осилить работу на микроконтроллерах

С добрым утром.

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

44. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от анонимус (??), 06-Дек-22, 22:34 
Все очень просто - язык развивается очень быстрыми темпами и очень много где его пытаются присунуть, от чего ещё больше хайпа
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

172. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –1 +/
Сообщение от Аноним (171), 07-Дек-22, 11:31 
Присунуть, это вы удачно заметили.
Ответить | Правка | Наверх | Cообщить модератору

94. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +6 +/
Сообщение от Без аргументов (?), 07-Дек-22, 00:17 
"- Что там за шум на улице, Бэрримор?
- Это раст-парад, сэр.
- И чего же они требуют, Бэрримор?
- Убрать сишные дыры, сэр.
- Им разве кто-то запрещает?
- Нет, сэр.
- Так почему же всё-таки они шумят?
- ...rustы, сэр."
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

157. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Igraine (ok), 07-Дек-22, 08:48 
"- Что там за шум на улице, Бэрримор?
- Это эксперты по программированию, сэр.
- И чего же они требуют, Бэрримор?
- Чтобы программы писали на ANSI C
- Им разве кто-то запрещает? Пусть пишут.
- Нет, сэр, не запрещает.
- Так почему же всё-таки они шумят?
- Они неспособны, сэр."
Ответить | Правка | Наверх | Cообщить модератору

210. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +4 +/
Сообщение от Аноним (210), 07-Дек-22, 16:55 
Лол, даже сдесь растаманы не смогли ничего придумать и просто переписали уже написанное.
Ответить | Правка | К родителю #94 | Наверх | Cообщить модератору

97. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –1 +/
Сообщение от Без аргументов (?), 07-Дек-22, 00:26 
А если серьезно, скопипащу свое размышление:
Мне пришло осознание, что приход Rust вместо C неизбежен. Да и не обязатльно именно Rust.
Да, технически он лучше, для глаза — вырвиглаз, по семантике порог вхождения наоборот выше, примерно как на C++, не для тупых это точно, противоположность Ts-JS.
Да, действительно более безопасный бинарник, и даже не важно, что власть над центральным репозиторием будет у корпоратов под вывеской общественной организации (Rust Foundation).

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

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

Т.е. они будут писать прошивки-фирмвари для устройств, UEFI, аналогов Intel ME/AMT или AMD PSP, работающих вне всяких ограничений. Всякие системы на крипте и блокчейнах. Это меньшинство интеллектуально лучших разработчиков будет делать.

А фронтом к этому всему и всякому ширпотребу с точки зрения этой всей системы будут вебм@каки, которых всегда предостаточно. Только софт вебм@как будет не системного уровня, и как пример платформа deno — замена NodeJS написана уже не на Си, а на Rust.

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

Т.ч. стартап HAL/LL на Rust взлетит, но правда до того момента, как откажется быть поглощенным. И сделать это не трудно, т.к. объявить адреса памяти и регистров под идентификаторы, получится тот же CMSIS. И так далее.

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

150. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –1 +/
Сообщение от Ыыыыыы (?), 07-Дек-22, 08:06 
Закусывать надо все же
Ответить | Правка | Наверх | Cообщить модератору

179. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Без аргументов (?), 07-Дек-22, 12:58 
Я 6 лет не пью, поэтому соображаю.
Ответить | Правка | Наверх | Cообщить модератору

143. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –1 +/
Сообщение от Аноним (140), 07-Дек-22, 06:20 
В каждой новости про rust начинается бурление.
Он как красная тряпка для местных экспертов по программированию
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

15. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (25), 06-Дек-22, 21:43 
Позитивная новость. Надеюсь, что через год получится собрать на один llvm меньше ;)
Ответить | Правка | Наверх | Cообщить модератору

17. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (17), 06-Дек-22, 21:48 
Вроде и позитивная. Но как бы это не стало серьезным якорем для развития самого языка.
Ответить | Правка | Наверх | Cообщить модератору

20. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от Chlen22sm (?), 06-Дек-22, 21:55 
Зачем развивать язык? Язык это инструмент. Это всё равно что развивать кувалду или топор. Соответствует тьюрингу? — БОльшего и не надо. Любой синтаксический сахар вреден и от него нужно отказываться, т.к. это усложнение ради усложнения. Посмотрите во что превратился PHP. Он теперь сложнее Java. Язык нужно оптимизировать на уровне компиляции и эффективности генерации машинного кода, а не развивать, добавляя туда как можно больше сложных конструкций.
Ответить | Правка | Наверх | Cообщить модератору

23. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –3 +/
Сообщение от НяшМяш (ok), 06-Дек-22, 22:00 
> Это всё равно что развивать кувалду или топор.

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

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

151. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +3 +/
Сообщение от Ыыыыыы (?), 07-Дек-22, 08:07 
Джаваскриптизеры, молчать!
Ответить | Правка | Наверх | Cообщить модератору

200. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (-), 07-Дек-22, 15:41 
> Джаваскриптизеры, молчать!

У них бензопилы, но цепь у нее все же пластмассовая. Так проще и быстрее произвести было, извините. Как сломается, приходите за новой, с удовольствием продадут новую.

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

26. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –2 +/
Сообщение от Дмитрий (??), 06-Дек-22, 22:04 
А вы не задумывались, зачем добавляют больше этих конструкций? Не для тго ли, чтобы зык был более выразительным и давал больше информации компилятору? Вот есть тьюринг полный brainfuck. Но вряд ли вы там что-то наоптимизируете
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

30. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +6 +/
Сообщение от Chlen22sm (?), 06-Дек-22, 22:07 
> более выразительным

Потянуло смузи.

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

50. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –1 +/
Сообщение от анонимус (??), 06-Дек-22, 22:38 
Штош.. Пишите и дальше в машинных кодах..
Ответить | Правка | Наверх | Cообщить модератору

59. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (66), 06-Дек-22, 22:48 
> Штош.. Пишите и дальше в машинных кодах..

А ведь таки пишут. Даже вон тот пафосный гугель в своем кодеке не гнушается. А что делать, если simd интринсики разгоняют вон ту операцию в пять раз?!

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

84. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (83), 06-Дек-22, 23:58 
> машинных кодах
> интринсики

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

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

70. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от анонимус (??), 06-Дек-22, 22:59 
Штош.. Пишите и дальше в машинных кодах..
Ответить | Правка | К родителю #30 | Наверх | Cообщить модератору

186. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (186), 07-Дек-22, 14:28 
Настоящий программист это тот кто может написать любую программу на любом соответствующем тьюрингу языке.
Так называемые программисты на rust, как и так называемые программисты на java даже не знают что значит "соответствовать тьюрингу", не знаю что такое шина адреса и вообще ничего не знают, но лезут со своим так называемым языком в ядро.
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

256. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (256), 08-Дек-22, 15:20 
Иди на Brainfuck пиши, поехавший.
Ответить | Правка | Наверх | Cообщить модератору

188. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (186), 07-Дек-22, 14:35 
>Вот есть тьюринг полный brainfuck

Настоящий программист это тот кто может написать программу на любом полном по Тьюрингу языке. Если программист не может писать любой сложности программу, для однокомандного компьютера с FlipJump, то он никакой не программист, а недалекий растоман и должен идти вон из профессии. Например "программировать" фронтэнд

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

219. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (219), 07-Дек-22, 18:53 
Настоящий программист знает, что на разных языках сложность и скорость решения задачи разная. Можно и фронтенд программировать на ассемблере, но зачем?
Ответить | Правка | Наверх | Cообщить модератору

222. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (140), 07-Дек-22, 20:14 
Покажите написанный вами фронтэнд на ассемблере. Очень интересно на это посмотреть
Ответить | Правка | Наверх | Cообщить модератору

45. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (45), 06-Дек-22, 22:34 
> Посмотрите во что превратился PHP. Он теперь сложнее Java.

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

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

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

56. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (66), 06-Дек-22, 22:46 
И в результате PHP стал здоровым монстром, с которым страшно связываться, малореально обслуживать, апгрейд версии требует командочку инженеров...

...и в результате он как-то взял и стал deprecated. Новые проекты пишут на чем-ниудь другом. А опкеш и JIT его добьют окончательно. И пока они будут рубиться с питоном, штуки типа игого и хруста с тематичными либами их зашибут как таракана тапком. А прикиньте, там не надо париться ни кешами ни jit?! Да и идея прогнать проверки адеквата програмера на фазе сборки - здравая, что ни говори. Сильно лучше чем когда прод с рантайм егором наворачивается.

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

254. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (-), 08-Дек-22, 14:48 
> Сильно лучше чем когда прод с рантайм егором наворачивается.

Ну навернется с паникой, разница то..

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

279. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (-), 12-Дек-22, 06:50 
> Ну навернется с паникой, разница то..

Ну блин, ты хотел чтобы софт вообще никогда нигде не наворачивался? Если требования такие то читать придется что-то типа MISRA C и иные специфичные стандарты, где много вещей диковатых для мягкотелых апликушников.

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

112. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Отец Ононим (?), 07-Дек-22, 02:14 
Только не надо про околосветовую скорость ПХП...
На голом ПХП уже наверное никто не пишет (к сожалению).
А эти ваши ларавели и симфонии с доктринами и вордпрессы тормозят так, что даже джанге и не снилось.
И ни какой opcache не спасает.
Ответить | Правка | К родителю #45 | Наверх | Cообщить модератору

159. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (159), 07-Дек-22, 08:54 
*Раньше* он был язык для персонал хоумпагес. Так и развивался.
Ответить | Правка | К родителю #45 | Наверх | Cообщить модератору

87. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от fuggy (ok), 07-Дек-22, 00:01 
Посмотри на последние изменения в самом языке Rust. Некоторые функции переведены из бета в стабильный интерфейс. Некоторые функции подшаманили и теперь их можно объявлять constexpr. Некоторый синтаксис теперь можно использовать для других мест, где раньше было ограничено. Почему? Потому что нельзя сделать сразу завершённый язык. Некоторые вещи просто не успели отладить и доделывают, на некоторые просто не было времени, где-то придумали схему как оптимизировать метод внутри, при этом уменьшив ограничения снаружи. Можно ли написать программы без всего этого? Да конечно, просто это требовало больше бойлерплейт кода, обходить ограничения, искать хаки на SoF и прочее. Теперь это всё возможно намного проще в самом языке.
Второй точкой для развития языка является то, что пользователи, когда видят фасад стандартной библиотеки, хотят больше возможностей. Требования к ПО и соответственно требования к языку изменяются со временем. Иначе бы и сейчас все сидели бы на C/C++. Иначе бы не было всех этих C++17, C++20 и далее. Разве нельзя было тоже самое сделать на C99? Лишь тот язык живой, который развивается.
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

160. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (140), 07-Дек-22, 08:57 
"Соответствует тьюрингу? "
Как это язык или кувалда может соответствовать тьюрингу?
Что это вообще означает "Соответствует тьюрингу"? Знал ли это Алан Тьюринг или это изобретение местных экспертов по программированию.
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

211. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (-), 07-Дек-22, 17:05 
> Зачем развивать язык? Язык это инструмент. Это всё равно что развивать кувалду или топор.

Мне для развития топора подбирать ссылок влом, но давай я про кувалду накидаю?

1. https://www.youtube.com/watch?v=PquEWbQdkvc Чувак куёт простой кувалдой.
2. https://www.youtube.com/watch?v=KsFTp2Qszko Чувак использует power hammer, и обычную кувалду. Но если ты присмотришься к его "обычной" кувалде, то он её явно сам себе делал, и это вовсе не параллелепипед с дыркой, проткнутой палкой.
3. https://www.youtube.com/watch?v=tBEbGb3xyWE а вот это реально уже кувалда эволюционировавшая в пресс, и подумай как такое можно сделать неэволюционировавшей кувалдой.

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

194. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (192), 07-Дек-22, 14:46 
Как оно может стать якорем? Если gcc не будет поспевать за стандартом раста, его просто не будут использовать, как не используют уже в куче других ниш ге он безнадёжно отстал.
Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

27. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (11), 06-Дек-22, 22:04 
А будет ли раст реализовывать собственный бекэнд? Просто, как я понял, в расте не могут довести до ума некоторые фичи именно из-за llvm.
Ответить | Правка | Наверх | Cообщить модератору

31. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (28), 06-Дек-22, 22:08 
> в расте не могут довести до ума некоторые фичи

Это его архитектурная проблема от рождения.

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

47. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от анонимус (??), 06-Дек-22, 22:37 
Какие например? Вообще переписывать выглядит слишком масштабно и дорого. Кор разработчики обычно стараются идти наиболее практичным путем
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

57. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (17), 06-Дек-22, 22:47 
https://github.com/bjorn3/rustc_codegen_cranelift
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

35. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –1 +/
Сообщение от Аноним (35), 06-Дек-22, 22:14 
Хде мой карбон?
Ответить | Правка | Наверх | Cообщить модератору

72. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от Аноним (72), 06-Дек-22, 23:04 
"If you can use Rust, ignore Carbon" из официального faq карбона
Ответить | Правка | Наверх | Cообщить модератору

131. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (129), 07-Дек-22, 04:42 
Карбон по синтаксису, да и во возможности интеграции в проект c/c++ кода на порядки лучше раста. Не нужны никакие cbindgen. Я как-то раз увидел биндинги к одной си pdf библиотеке для языка D, больше не открываю сайт Dlang. Из всех убийц Си++ совместимых с Си++ у Карбона есть реальные шансы быть лучшим системным ЯП.
Ответить | Правка | Наверх | Cообщить модератору

209. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от Аноним (-), 07-Дек-22, 16:40 
> Из всех убийц Си++ совместимых с Си++ у Карбона есть реальные шансы быть лучшим системным ЯП.

Ровно ноль шансов. Даже если рассматривать какие-нибудь маловероятные события, типа божественного вмешательства, всё равно шансов ноль. Как у C++ всегда было было ноль шансов стать системным ЯП, так и у карбона.

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

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

231. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (231), 08-Дек-22, 06:53 
Одна только проблема с этим вашим Карбоном пишет его корпорация не способная сделать нормальный CMake,
а вместо этого нужено JDK ставить и выкачивать пару гигов каких-то классов. Когда научаться писать программы самодостаточные тогда и можно говорить о каких-то аналогах, а пока это собрать без свистоперделок невозможно просто смешно... Загубили все дело своим говеным фантиком...
Ответить | Правка | К родителю #131 | Наверх | Cообщить модератору

80. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –1 +/
Сообщение от неаноним (?), 06-Дек-22, 23:28 
Посмотри в компайлер эксплорере, что твай карбон выдает
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

88. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  –1 +/
Сообщение от fuggy (ok), 07-Дек-22, 00:09 
Твой карбон ещё в зародыше, его даже не существует. Первый релиз намечен того гляди на 2024-2025. Если к тому времени гугл дерзко, как мы знаем любит, может выкинуть эксперимент на грейвярд.
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

36. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от beck (??), 06-Дек-22, 22:17 
Написать прошивку для soho роутера, безопасно и надёжно, вот казалось бы самая ниша для раста.

Есть хоть одна такая прошивка, уже не говорю про ОС для soho-роутера?

Нет? А почему? Но зато давайте пропихнем раст туда,  раст сюда...

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

49. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (45), 06-Дек-22, 22:37 
Ну так специально Вам дали шанс. Пожалуйста, напишите прошивку для soho роутера на расте, умоляем Вас
Ответить | Правка | Наверх | Cообщить модератору

67. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +3 +/
Сообщение от Аноним (28), 06-Дек-22, 22:54 
Начни с того: "а это вообще возможно?". Почему под редох не могут написать дрова, но лезут писать дрова в линух?
Ответить | Правка | Наверх | Cообщить модератору

215. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от beck (??), 07-Дек-22, 17:28 
Да тут множество вопросов риторических.

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

А просто прошивки пейсать, это не про раст оказывается.

Эвона чо.

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

165. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от beck (??), 07-Дек-22, 09:45 
Вы не поняли, коллега, мой пойнт. Повторю.

Вот есть Zycell, d-link, tp-link, mikrotik, и так далее.

Они выпускают свои железки, в которых перманентно находят уязвимости и возникают всякие ошибки. С одной стороны.

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

Хоть кто-то из производителей почесалмя переписать прошивку на раст? Нет.

Вопрос: почему?

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

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

183. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от СтреляныйВоробей (?), 07-Дек-22, 13:42 
>С другой стороны у нас появился супер пупер дупер безопасный раст, который именно для решения этих проблем и создан.

У каждого инструмента - своя область применения. Rust - не для встроенных систем. Rust - это попытка решить проблему ненадежности кода на C/C++, применяемого в таких проектах как Google Android, Google Chromium/Chrome, GNU GCC, Linux. Дело в том, что в этих продуктах при разработке применяется методология Agile, а иногда даже Extreme, а это совсем не то что в обычных проектах по обычной методологии, когда сначала составляется список требований, потом делается прототип, потом разрабатывается рабочий проект, потом пишется код, при этом каждый этап разработки проходит верификацию, потом проект проходит валидацию (опытное эксплуатирование) и только потом сдаётся в эксплуатацию. В agile-проектах Rust _действительно_ позволяет повысить надёжность кода, но в проектах по обычной методологии Rust неэффективен.

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

213. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от beck (??), 07-Дек-22, 17:23 
Коллега,  вы понимаете,  что вы занесли сейчас очень тяжёлый бред, говорящий о полной оторванности от реальности?


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

249. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от СтреляныйВоробей (?), 08-Дек-22, 13:18 
Я не коллега :), поэтому и оторван от реальности. Но OpenNet -это такое место, где не страшно показать свою некомпетентность, можно надуть щёки и изобразить из себя кого угодно.
Ответить | Правка | Наверх | Cообщить модератору

223. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (224), 07-Дек-22, 22:46 
Это в какой госконторе вас так мучают? Щас по водопаду работает исключительно военщина и для технических проектов. Все госуслуги, честные знаки и прочее писаны по скраму/канбану (я там был какое-то время, все как везде - дейлики,сторипоинты).
Ответить | Правка | К родителю #183 | Наверх | Cообщить модератору

184. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (140), 07-Дек-22, 13:43 
Современные так называемые программисты просто не способны понять этих очевидных вещей
Ответить | Правка | К родителю #165 | Наверх | Cообщить модератору

201. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (-), 07-Дек-22, 15:43 
> Они выпускают свои железки, в которых перманентно находят уязвимости и возникают всякие
> ошибки. С одной стороны.

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

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

214. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от beck (??), 07-Дек-22, 17:24 
> Типа, если обезьяне с гранатой выдать гранату другой системы, случится чудо и это перестанет быть обезьяной с гранатой?

Типа да. Но, как мы видим,  это  разумеется не работает.

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

75. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Gedweb (ok), 06-Дек-22, 23:15 
Роутеры работают под busybox и подобными сборками.
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

105. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от NINIKA (?), 07-Дек-22, 01:20 
Есть стартап oxide computer, который ембеддед развивает - пишут firmware для серверов с нуля
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

264. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (264), 08-Дек-22, 21:11 
>Нет? А почему?

А потому что soho роутер не вибрирует и его нельзя туда засунуть.

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

63. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от Аноним (63), 06-Дек-22, 22:52 
А что по времени сборки? Если собирать gcc без го, д и ады, только раст и c/c++.
Ответить | Правка | Наверх | Cообщить модератору

79. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Бьярн Страуструп (?), 06-Дек-22, 23:23 
По времени сборки С++20 с модулями быстрее всех языков компилируются в данный момент, только тихо, а то очередные студенты недоучки начнут рассказывать про С++ с классами
Ответить | Правка | Наверх | Cообщить модератору

85. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +2 +/
Сообщение от Аноним (25), 06-Дек-22, 23:59 
Наконец-то C++20 сделал то, что паскаль умел ещё в 80-е. И то, что делали java и C# в 90-х и начале 2000-х. Не нужно в 100500-й раз склеивать и по новой компилировать простыню из инклюдов, если можно посмотреть готовый результат в уже скомпилированном объектнике ;)
Ответить | Правка | Наверх | Cообщить модератору

93. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +/
Сообщение от Аноним (25), 07-Дек-22, 00:13 
дополню чуток...

K&R в своё время отчасти торопились, отчасти хотели упростить компилятор, отчасти хотели использовать ГОТОВЫЕ ОТЛАЖЕННЫЕ КУСКИ (препроцессор появился лет за 10 до компилятора СИ).

Страуструп своего компилятора никогда не делал! Он делал cfront - это кодогенератор, который переделывал исходник на C++ в исходник на C (который компилировался компилятором C). В лихие 90-е - во времена исключений и шаблонов... Страуструп сдался и сказал: "Дальше делайте полноценный компилятор C++ сами, cfront стал ну просто пипец какой сложный, я его дропаю", а сам занялся книгами и чуть позже пошёл в комитет по стандартизации C++.

Препроцессор автоматически унаследовался из языка C в стандарт C++ (т.к. по факту это "почти" тот же C, но с наворотами). В модулях придумали как "обойти" препроцессор и сделать как в нормальных языках (по сути скопировали паскаль с его interface/implementation, но главное - добавили ограничений на использование препроцессора; т.к. в паскале препроцессор может сломать программу, как и в C).

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

120. "Фронтэнд для языка Rust доведён до готовности для интеграции..."  +1 +/
Сообщение от Аноним (-), 07-Дек-22, 02:58 
> А что по времени сборки? Если собирать gcc без го, д и ады, только раст и c/c++.

Возьми да замерь. Зафиг тебе опеннетных экспертов слушать? Думаешь они это делали и скажут что-то дельное?

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

90. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +3 +/
Сообщение от Аноним (-), 07-Дек-22, 00:10 
Один вопрос.

Оно сможет собирать без интернета ?

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

92. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +/
Сообщение от Без аргументов (?), 07-Дек-22, 00:12 
"Интернет людей не хотят только луддиты"
Ответить | Правка | Наверх | Cообщить модератору

103. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +/
Сообщение от Аноним (103), 07-Дек-22, 00:55 
А что мешает скачать все зависимости локально или написать все самим и скомпилировать полностью локально, как это привыкли делать в C?

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

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

116. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +3 +/
Сообщение от Аноним (-), 07-Дек-22, 02:33 
Нет, это невозможно и не работает. Без интернета ничего собрать используя только репозиторий дистрибутива - невозможно. А спорят только те кто не пробовал.
Ответить | Правка | Наверх | Cообщить модератору

138. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  –1 +/
Сообщение от Аноним (115), 07-Дек-22, 06:02 
и нельзя все пакеты заранее заинсталлировать, типа как nimble install packagename?

а потом просто "папочку" копировать с ПК на ПК, зато безопасно

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

152. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +/
Сообщение от Ыыыыыы (?), 07-Дек-22, 08:11 
Можно
Ответить | Правка | Наверх | Cообщить модератору

158. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +/
Сообщение от Аноним (-), 07-Дек-22, 08:54 
.cargo там есть, да, наверное можно. но речь шла о раст пакетах в том же дебиане. для того чтоб эта .cargo появилась интернет надо.

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

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

178. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +/
Сообщение от Аноним (103), 07-Дек-22, 12:48 
cargo вещь не обязательная же, при большом желании можно скомпилировать чисто с самим компилятором rustc, если скачать пакет и зависимости заранее. Правда это будет очень геморройно и не представляю зачем так нужно делать, кроме совсем крайних случаев
Ответить | Правка | Наверх | Cообщить модератору

182. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +2 +/
Сообщение от Аноним (-), 07-Дек-22, 13:41 
>  при большом желании можно скомпилировать

у меня тоже был приступ наивности

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

212. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +/
Сообщение от Аноним (-), 07-Дек-22, 17:10 
> Правда это будет очень геморройно и не представляю зачем так нужно делать, кроме совсем крайних случаев

Если NIH замучал, и хочется свою собственную систему сборки, то можно. Портянок на bash может не хватает для счастья?

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

265. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +/
Сообщение от Аноним (264), 08-Дек-22, 21:13 
Ещё при большом желании можно panic не бросать и написать компилятор раста на расте.
Ответить | Правка | К родителю #178 | Наверх | Cообщить модератору

102. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  –3 +/
Сообщение от Аноним (102), 07-Дек-22, 00:54 
Что-то новость, которая касается разве что гентушников, которым компиляние раста с постоянно новыми номерами версий нужно как собаке пятая нога в то время как GCC имеет разные версии и параметры по умолчанию даже специально выключены для недодистрибутивов для пользователей, которые не умеют в программирование вызвала словесный ажиотаж у растоманов и его противников. Але, гараж! Раст никуда не выкинули, но теперь он ненужен отдельным пакетом будет в зависимостях когда гентушники протестируют все. А то вам все переводить надо с русского на русский.
Ответить | Правка | Наверх | Cообщить модератору

104. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +1 +/
Сообщение от Аноним (11), 07-Дек-22, 01:14 
Не думаю, что это проблема языка, скорее, сообщества, которое в бОльшей части представляет собой выходцев из веб-макак, но меня ужасно отпугивает стиль написания программ на раст. Сотни зависимостей, которые скачиваются из интернета даже для маленькой программы. И эта культура работы с зависимостями в стиле джаваскрипта в системном языке программирования оставляет очень неприятный привкус. Особенно после программ на Си/плюсах, где софт более самодостаточен и не требуют такого количества зависимостей.
Ответить | Правка | Наверх | Cообщить модератору

117. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +1 +/
Сообщение от Аноним (-), 07-Дек-22, 02:36 
это вы еще du -sh build/ привести забыли для маленькой программы для которой места еле хватает, а вот сложнее хеловорлда уже не каждый сможет себе позволить собрать, не говоря о том чтоб просмотреть исходники хотяб на предмет откровенного слива
Ответить | Правка | Наверх | Cообщить модератору

122. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  –2 +/
Сообщение от Аноним (122), 07-Дек-22, 03:23 
На сях софт как раз менее самодостаточен, тк в стандартной библиотеке ваще ничего нет.
Ответить | Правка | К родителю #104 | Наверх | Cообщить модератору

125. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +3 +/
Сообщение от Аноним (-), 07-Дек-22, 03:52 
Сказал адепт езыка где генератор случайных чисел качается из интернета и к нему еще пару десятков пакетов зависимостей...
Ответить | Правка | Наверх | Cообщить модератору

133. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  –1 +/
Сообщение от Аноним (122), 07-Дек-22, 05:30 
И даже при этом стдлиб раста в сто раз полезнее стдлиба сей.
Ответить | Правка | Наверх | Cообщить модератору

137. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +/
Сообщение от Аноним (115), 07-Дек-22, 06:00 
только на хард не влазит. а так да, в сто раз полезнее
Ответить | Правка | Наверх | Cообщить модератору

144. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +3 +/
Сообщение от Аноним (-), 07-Дек-22, 06:30 
это что за стдлиб в котором базовый ранд не придусмотрен ? г-но это, а не стдлиб. а у сей есть все что нужно, до тебя еще никто не жаловался.
Ответить | Правка | К родителю #133 | Наверх | Cообщить модератору

175. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +1 +/
Сообщение от Аноним (-), 07-Дек-22, 11:44 
А ты пользуешься libc'овым генератором случайных чисел? Я забил давно, потому что там нет понятности с ним никакой -- он генерирует случайные числа или псевдослучайные? Есть ли возможность воспроизвести заданную последовательность псевдослучайных чисел? Нет? Насколько тогда можно полагаться на случайность, в криптографии можно использовать?

Когда лет 10-15 назад начались споры об этом, я забил на libc'овые генераторы, потому что когда ты берёшь себе генератор специализированной библиотекой или пишешь ручками, ты _знаешь_ что это за генератор. Ты можешь подобрать такой генератор, который тебе нужен в данный момент. Например для дебаг-сборок использовать линейно-конгруэнтный генератор, которому стартовое состояние задаётся переменной окружения, а для релиза реализацию, которая будет в бекграунде подкачивать энтропию из /dev/urandom по мере надобности, поддерживая состояние юзерспейс-генератора реально непредсказуемым.

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

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

185. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +1 +/
Сообщение от Аноним (-), 07-Дек-22, 13:44 
Я тоже знаю как минимум четыре способа эффективно генерить рандом и что ? В расте нет рандома ибо ВАМЭТОНИНАДА !? Отличная логика, какой дружилюбный язычек.
Ответить | Правка | Наверх | Cообщить модератору

130. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +/
Сообщение от Аноним (119), 07-Дек-22, 04:32 
что мешает чекать транзитивные зависимости у библ, которые хочешь использовать и подключать только те, которые не тащат в виде пакета зависимость, которая, условно, складывает два числа? А в плюсах посмотрите в количество транзитивных зависимостей Qt или Boost - знатно поплюетесь.
Ответить | Правка | К родителю #104 | Наверх | Cообщить модератору

191. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +/
Сообщение от Аноним (102), 07-Дек-22, 14:41 
А как ты хотел? Чтобы самому иметь пакетный менеджер и все контроллировать без франкенштейнизма, да еще и компилируя код самостоятельно, да еще и используя неправославгый оригинальный компилятор с новомодным подходом? Может тебе еще и схему работы компилятора расписать как сделать то же самое на плюсах с теми же проверками чтобы получился раст код? Вебмакакам нужно чтобы они думали какие они необычные использующие только самые новые тнхнологии и их код это вам не какие-то преобразованные данные в единицы и нолики!
Ответить | Правка | К родителю #104 | Наверх | Cообщить модератору

113. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +/
Сообщение от Аноним (115), 07-Дек-22, 02:17 
началось...
Ответить | Правка | Наверх | Cообщить модератору

145. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +7 +/
Сообщение от RethoughtFamiliar (?), 07-Дек-22, 06:51 
А смысл в таком компиляторе, если большое количество полезных библиотек с crates io требует не просто последней стабильной версии rustc, а даже nightly? Если есть блоги или статьи о разработке проектов с использованием именно gcc-rust?
Ответить | Правка | Наверх | Cообщить модератору

148. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +4 +/
Сообщение от Аноним (28), 07-Дек-22, 07:59 
> crates io требует не просто последней стабильной версии rustc, а даже nightly

Следствие отсутствия стандарта. И так будет перманентно: время жизни растпроектов - 3 недели. Пользоваться такими, мягко сказать, затруднительно.

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

155. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +1 +/
Сообщение от Аноним (140), 07-Дек-22, 08:38 
Modula-2 Language Frontend Patches Ready For Merging Into GCC 13

Что скажут эксперты по программированию?

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

164. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +/
Сообщение от Аноним (-), 07-Дек-22, 09:32 
> Что скажут эксперты по программированию?

WTF?

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

174. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +/
Сообщение от Аноним (171), 07-Дек-22, 11:43 
Это откуда взято?
Ответить | Правка | К родителю #155 | Наверх | Cообщить модератору

282. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +/
Сообщение от Аноним (282), 15-Дек-22, 22:05 
Лец ми гугл ит фор ю: https://www.phoronix.com/news/Module-2-GCC-Merged
Ответить | Правка | Наверх | Cообщить модератору

261. "Фронтэнд для языка Rust доведён до готовности к интеграции в..."  +/
Сообщение от Эксперт (?), 08-Дек-22, 17:16 
Спрошу, какого в стандартном гнутом компиляторе нет поддержки лиспа.
Ответить | Правка | К родителю #155 | Наверх | Cообщить модератору

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

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




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

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