The OpenNET Project / Index page

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



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

Оглавление

Фронтэнд для языка Rust доведён до готовности для интеграции в GCC 13, opennews (??), 06-Дек-22, (0) [смотреть все]

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


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ообщить модератору

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

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




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

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