The OpenNET Project / Index page

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



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

Оглавление

Линус Торвальдс подключился к обсуждению начальной реализации поддержки Rust в ядре Linux , opennews (??), 12-Июл-20, (0) [смотреть все]

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


30. "Линус Торвальдс подключился к обсуждению начальной реализаци..."  –4 +/
Сообщение от Аноним (30), 12-Июл-20, 11:33 
unsafe не безопаснее ленты которой перетянули рядом с открытым люком.
Ответить | Правка | Наверх | Cообщить модератору

47. "Линус Торвальдс подключился к обсуждению начальной реализаци..."  +3 +/
Сообщение от Аноним (47), 12-Июл-20, 12:58 
Если бы был компилятор/препроцессор C каждый раз, когда делается что-то потенциально опасное требовал бы писать какую-нибудь директиву типа #unsafe, думаю само это уже чуток, но улучшило бы качество продукта.
Другой вопрос что в классическом C это пришлось бы писать почти везде и сильно ухудшило бы качество уже кода.
Как быть когда народ, бизнес, нарастающая сложность требует гарантий, хоть каких-то?
Rust как раз отражает возникший спрос. Соответствует ли он ему, это уже другой вопрос.
Но уже понятно, что просто сказать "лучше тестируйте", "нанимайте профи" и т.п. уже не достаточно.
Что-то он это улучшит, где-то поднимет дискуссию, где-то сам Rust потом еще будут допиливать...
Ответить | Правка | Наверх | Cообщить модератору

80. "Линус Торвальдс подключился к обсуждению начальной реализаци..."  –2 +/
Сообщение от Аноним (80), 12-Июл-20, 15:52 
>Если бы был компилятор/препроцессор C каждый раз, когда делается что-то потенциально опасное требовал бы писать какую-нибудь директиву типа #unsafe, думаю само это уже чуток, но улучшило бы качество продукта.

Епрст. Прагма unsafe сделана для ЯП, где работы с указателями нуль. При чем тут Си, который работает только с указателями и другого режима у него нет? Господин иксперт, идите учить матчасть. Для вас смысл unsafe все еще не раскрыт.

>Как быть когда народ, бизнес, нарастающая сложность требует гарантий, хоть каких-то?

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

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

87. "Линус Торвальдс подключился к обсуждению начальной реализаци..."  +/
Сообщение от Аноним (86), 12-Июл-20, 16:19 
>Как быть когда народ, бизнес, нарастающая сложность требует гарантий, хоть каких-то?

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

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

104. "Линус Торвальдс подключился к обсуждению начальной реализаци..."  –3 +/
Сообщение от Lex (??), 12-Июл-20, 18:57 
Затем, что джава не нужна.
Безумно жирная и откровенно переусложненная для нынешнего времени.. и это притом, что багованного барахла на ней понаписано более, чем немало.
Ответить | Правка | Наверх | Cообщить модератору

130. "Линус Торвальдс подключился к обсуждению начальной реализаци..."  +1 +/
Сообщение от Аноним (86), 13-Июл-20, 05:50 
> и это притом, что багованного барахла на ней понаписано более, чем немало.

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

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

161. "Линус Торвальдс подключился к обсуждению начальной реализаци..."  +/
Сообщение от Lex (??), 13-Июл-20, 13:14 
>> и это притом, что багованного барахла на ней понаписано более, чем немало.
> Это прекрасно демонстрирует, что инструмент не помогает вправлять кривые руки, следовательно
> все языки существующие лишь ради ограничения возможности программиста не нужны. Нужен
> Си для самого производительного кода и языки набитые сахаром вроде шарпа
> и Perl. Если сделать язык, на котором могут писать даже идиоты
> то только идиоты на нём и будут писать.

Перл и шарп не набитые сахаром.
Они вообще едва ли когда-то таковыми были, поскольку набивка их - синтаксический мусор и горы оверхеда.

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

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

173. "Линус Торвальдс подключился к обсуждению начальной реализаци..."  +/
Сообщение от лютый жабби__ (?), 13-Июл-20, 19:08 
>Безумно жирная и откровенно переусложненная для нынешнего времени

дай угадаю, ты не программист, а кульсисоп? и про жабку судишь по местным креативам?

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

195. "Линус Торвальдс подключился к обсуждению начальной реализаци..."  +/
Сообщение от Lex (??), 15-Июл-20, 05:47 
> дай угадаю, ты не программист, а кульсисоп? и про жабку судишь по
> местным креативам?

Забавное слово. Самого так часто называют ?)
Поскольку лично я, по итогу многих лет разработки, слышу это слово впервые.

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

Жаба в этом смысле чем-то плюсЫ напоминает: нЕкогда крутая, логичная и лаконичная, с течением времени и появлением новых технологий/подходов к разработке, полухаотически допиливалась для хоть какой-то актуализации..
Как итог - нереально жирная лексика, бескрайние кучи барахла.. и "основа", на которой, вроде бы, сделать можно и очень многое, но почти нифига - просто, быстро и без тонн уродливого кода.

п.с: жабу сужу по мобильной разработке и в т.ч по тому простому факту, что, посредством нее, программист по итогу многих месяцев( а то и лет ) обучения, с кучей страданий и расходов для конторы( посколькумобильные жаба-программисты еще каких-то денег стоят.. по "инерции" ) выдаст приложение только под андройд, тогда как другой программист, по итогу месяцев обучения и применению штук типа react-native, выдаст на выходе 2 приложения - для андройда и для яблока, более того, при нормальной реализации, у 80+% приложений даже не будут ощущаться проблемы с производительностью( поскольку у норм реализованных приложений, подавляющая часть времени ожидания - это просто ожидание выполнения запросов к бэкенду ).
Конечно, можно сказать, что подобные штуки базируются на модулях с "нативным" для платформ кодом, но для 90+% типовых приложений( формы/поля/статистика/итп ) не требуется вообще на него глядеть и все потребности полностью покрываются штуками вроде того же JS( или Dart ).

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

212. "Линус Торвальдс подключился к обсуждению начальной реализаци..."  +/
Сообщение от Аноним (-), 15-Июл-20, 18:29 
> дай угадаю, ты не программист, а кульсисоп? и про жабку судишь по местным креативам?

Чтобы судить о жаба программах можно быть даже домохозяйкой - УГшность этого софта самоочевидна. Хуже только гадюка да электрон чтоли.

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

226. "Линус Торвальдс подключился к обсуждению начальной реализаци..."  +/
Сообщение от Аноним (-), 15-Июл-20, 19:37 
> И Java их даёт уже не один десяток лет. Ещё есть виртуальные
> машины, контейнеры, микросервисы. Rust то зачем нужен?

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

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

49. "Линус Торвальдс подключился к обсуждению начальной реализаци..."  +7 +/
Сообщение от Аноним (189), 12-Июл-20, 13:11 
Увы, мнение об отключении всех проверок в unsafe — это типичное заблуждение, потому что в документации к языку Rust сказано, что unsafe позволяет:

    Разыменовывать сырой указатель;
    Вызывать и объявлять unsafe функции;
    Читать или измененять статическую изменяемую переменную;
    Реализовывать и объявлять unsafe типаж;
    Получать доступ к полям union.


Ни о каких отключениях всех проверок Rust здесь и речи не идет. Если у вас ошибка с lifetime-ами, то просто добавление unsafe не поможет коду скомпилироваться. Внутри этого блока компилятор продолжает проверять код на соответствие системы типов, отслеживать время жизни переменных, корректность на потокобезопасность и многое-многое другое. Подробнее можно прочитать в статье You can’t "turn off the borrow checker" in Rust.

К unsafe не стоит относиться как "я делаю, что хочу". Это указание компилятору, что вы берете на себя ответственность за вполне конкретный набор инвариантов, которые компилятор самостоятельно проверить не может. Например, разыменование сырого указателя. Это мы с вами знаем, что сишный malloc возвращает NULL или указатель на аллоцированный кусок неинициализированной памяти, а компилятор Rust об этой семантике ничего не знает. Поэтому для работы с сырым указателем, который вернул, к примеру, malloc, вы должны сказать компилятору: "я знаю, что делаю; я проверил, там не нулл, память правильно выравнена для этого типа данных". Вы берете на себя ответственность за этот указатель в блоке unsafe.

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

62. "Линус Торвальдс подключился к обсуждению начальной реализаци..."  –2 +/
Сообщение от Аноним (62), 12-Июл-20, 13:49 
>к примеру, malloc, вы должны сказать компилятору: "я знаю, что делаю; я проверил, там не нулл, память правильно выравнена для этого типа данных". Вы берете на себя ответственность за этот указатель в блоке unsafe.

Ровно тоже делает разработчик на С, далее приводит указатель к нужному типу, работает с ним и освобождает. В С++ operator new ещё и возвращает указатель нужного типа на полностью сконструированный объект и может бросить (он или конструктор объекта) исключение, а деструктор освободит все ресурсы выделенные объектом. Или раст в состоянии автоматически освободить системный хэндл или указатель выделенный в ансейф блоке?

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

81. "Линус Торвальдс подключился к обсуждению начальной реализаци..."  –1 +/
Сообщение от Аноним (80), 12-Июл-20, 16:00 
>Или раст в состоянии автоматически освободить системный хэндл или указатель выделенный в ансейф блоке?

Да никак он не освободит. Вызывать раз free() это совсем детский случай. Но также жду ответа от ржависта.

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

211. Скрыто модератором  –1 +/
Сообщение от Аноним (-), 15-Июл-20, 18:28 
Ответить | Правка | Наверх | Cообщить модератору

236. Скрыто модератором  –1 +/
Сообщение от Аноним (-), 15-Июл-20, 21:26 
Ответить | Правка | Наверх | Cообщить модератору

112. "Линус Торвальдс подключился к обсуждению начальной реализаци..."  +/
Сообщение от Аноним (112), 12-Июл-20, 20:43 
Да, типичная история. unsafe указатель оборачивают в структуру Rust и для нее пишут деструктор (реализуют Drop trait)
после этого раст автоматически освободит системный хэндл после окончания его жизни

Вот тут подробнее
https://medium.com/dwelo-r-d/wrapping-unsafe-c-libraries-in-...

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

163. "Линус Торвальдс подключился к обсуждению начальной реализаци..."  –1 +/
Сообщение от Аноним (80), 13-Июл-20, 14:17 
Ну это порнография. Враппер на внутренний небезопасный деструктор. Где тут иксперт по unsafe. Вот он этому коду будет доверять? Ведь там есть магическое слово unsafe. А то, что нижележачий деструктор на плюсах может быть бажным никого не волнует!
Ответить | Правка | Наверх | Cообщить модератору

165. "Линус Торвальдс подключился к обсуждению начальной реализаци..."  +2 +/
Сообщение от анонн (ok), 13-Июл-20, 15:49 
>>> Да никак он не освободит.
>> после этого раст автоматически освободит системный хэндл после окончания его жизни
> Ну это порнография. Враппер на внутренний небезопасный деструктор.
> И вообще НИЩИТАИЦА! ЭТО НИЩИТАИЦА, Я СКАЗАЛ!1!

Движок форума съел последнюю строчку. Я восстановил.

> Вот он этому коду будет доверять? Ведь там есть магическое слово unsafe. А то, что нижележачий деструктор на плюсах может быть бажным никого не волнует!
> А вообще, баги могут быть в микрокоде и железе, поэтомо в ж*пу все тесты, анализаторы, МИЗРЫ и прочее ограничивающее креативность настоящих разработчиков  барахло для ламаков! Потому что анонимный гладиолус!

Тут движок целый абзац съел. Не благодари!

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

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

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




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

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