The OpenNET Project / Index page

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



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

Оглавление

Шестая версия патчей для ядра Linux с поддержкой языка Rust , opennews (ok), 08-Май-22, (0) [смотреть все]

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


3. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +4 +/
Сообщение от Аноним (3), 08-Май-22, 11:07 
А те, кто делает патчи, пользуются Linux? Или это как у нас в современной политике "якобы делаем, а сами не пользуемся"
Ответить | Правка | Наверх | Cообщить модератору

5. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  –2 +/
Сообщение от Аноним (4), 08-Май-22, 11:08 
Делать Линукс надо, по-хорошему, на МакОС
Ответить | Правка | Наверх | Cообщить модератору

11. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от Аноним (3), 08-Май-22, 11:20 
На мой взгляд консервативно никто сейчас не делает: ни MacOS ни Windows. Linux всё же даёт свободу, но всё равно консервативного отношения не видно.
Много стандартов.
Ответить | Правка | Наверх | Cообщить модератору

12. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +5 +/
Сообщение от Аноним (12), 08-Май-22, 11:27 
OpenBSD. Там столько консервативности, что хоть консервы заворачивай.
Ответить | Правка | Наверх | Cообщить модератору

328. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от сосед (?), 09-Май-22, 20:52 
И хорошо. Если нужно что-то действительно железобетонное - это Опенок.
Ответить | Правка | Наверх | Cообщить модератору

356. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от Аноним (356), 10-Май-22, 09:56 
> И хорошо. Если нужно что-то действительно железобетонное - это Опенок.

Местами оно таки оказывается гипсокартонным. Достаточно посмотреть на некоторые их вулны.

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

15. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от Мохнатый пись (?), 08-Май-22, 11:31 
Откуда такая растофобия? Как будто в ядро пытаются добавить не низкоуровневый удобный язык, а javascript со смузями
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

22. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +5 +/
Сообщение от keydon (ok), 08-Май-22, 11:51 
Так ведь и пытаются
Ответить | Правка | Наверх | Cообщить модератору

31. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  –2 +/
Сообщение от bOOster (ok), 08-Май-22, 12:17 
Сам не знал что истину написал? :))

Когда-то были языки высокого уровня и низкого. А Раст и иже с ними это уже новый класс. Языки программирования среднего уровня. То есть по старой квалификации ни то и не другое.

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

40. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от Аноним (40), 08-Май-22, 12:29 
Высокий уровень в С++ потому что умные указатели такие же как в расте. Плюс жор памяти.
Ответить | Правка | Наверх | Cообщить модератору

128. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  –2 +/
Сообщение от Аноним (4), 08-Май-22, 15:46 
Так а смысл ядро на низком уровне писать? Тонкий контроль не всегда нужен. Да и Си не особо низкого уровня, Си не отражает устройства X86, он в лучшем случае отражает условный виртуальный PDP11.

https://queue.acm.org/detail.cfm?id=3212479

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

268. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +2 +/
Сообщение от Аноним (267), 09-Май-22, 10:43 
Мдаа. Молодежь еще тупее, чем я думал.
Ответить | Правка | Наверх | Cообщить модератору

308. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от Аноним (4), 09-Май-22, 18:26 
Почитай статью, вместо того чтобы измышлять
Ответить | Правка | Наверх | Cообщить модератору

284. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  –1 +/
Сообщение от bOOster (ok), 09-Май-22, 13:11 
> Так а смысл ядро на низком уровне писать? Тонкий контроль не всегда
> нужен. Да и Си не особо низкого уровня, Си не отражает
> устройства X86, он в лучшем случае отражает условный виртуальный PDP11.
> https://queue.acm.org/detail.cfm?id=3212479

Причем тут X86 вообще. Любой язык программирования - это абстракция от железной инфраструктуры. В этом их суть..

И на эти помои - X86 вообще никто и никогда не ориентировался...

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

309. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  –1 +/
Сообщение от Аноним (4), 09-Май-22, 18:27 
> Любой язык программирования - это абстракция от железной инфраструктуры. В этом их суть

Так и Раст такая же абстракция.

> помои - X86

Эти т.н. "помои" победили, ибо как оказалось лучшая архитектура

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

315. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +1 +/
Сообщение от bOOster (ok), 09-Май-22, 18:39 
> Эти т.н. "помои" победили, ибо как оказалось лучшая архитектура

В каком месте они победили? Временное преймущество из-за человеческой лени. Этой системы команд в процессорных ядрах уже тыщу лет как нет. "Эмулятор" только. И продолжают рыдать, но тащить это убожество.
Хотя Apple с 680xx отлично двинулись на PowerPC, дальше на Intel, а сейчас на ARM отлично переходят. Идут в ногу со временем.  

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

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

345. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от Аноним (345), 09-Май-22, 23:51 
> преймущество

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

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

350. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от bOOster (ok), 10-Май-22, 08:16 
>> преймущество
> как там... "В Тайланде войн выйграл у андройда в мозайку", не иначе,
> обладал каким-то тайным "преймуществом". Похоже уже пора отдельный словарь заводить.

В обычный словарь сходи.., только не так как ты попытаешься ответить. А почитать..

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

355. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от Аноним (355), 10-Май-22, 09:26 
Зачем анониму (в отличии от тебя) ходить в обычный словарь? Не заметил у него ошибок, кроме самой фразы стёба, может невнимательно просмотрел. Предложение не с заглавной буквы или пунктуация хромает? Но тогда причем здесь словарь? Может ты "Тайланд" считаешь правильным написанием? Другие слова вроде более "очевиднонеправильные". Огорчу тебя:
"Единственный правильный вариант написания –  с буквой «и», то есть «Таиланд».
Данное слово является названием страны. В русском языке чаще всего его произносят как «Тайланд», однако это неправильно. Во всех словарях топонимов название этой страны пишется с буквой «и» и произносится точно так же. Следовательно, слово является словарным, а его правописание необходимо раз и навсегда запомнить.
Источник: https://orfographia.ru/tailand-ili-tayland-kak-pravilno"
Ответить | Правка | Наверх | Cообщить модератору

265. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +2 +/
Сообщение от Аноним (265), 09-Май-22, 10:10 
А что ты понимаешь под средним уровнем?

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

Второстепенная причина -- при создании языка уделялось внимание рекомендациям современного защитного программирования: константность по-умолчанию, отсутствие null, исчерпывающий switch (exhaustive pattern matching), требуемая обработка (или проброс дальше) ошибок программистом, базовые типы с явным указанием размерности, требование явного преобразования базовых типов (без возможности UB), отсутствие неявных блоков в циклах/ветвлениях (напр. знаменитая ошибка Apple -- https://embeddedgurus.com/barr-code/2014/03/apples-gotofail-.../ ), вместо наивной подстановки строк - макросы разбирающие дерево токенов, пространства имен для контроля видимости (в которых все по-умолчанию приватно), требование к программисту явно обрабатывать возможную ошибку при сравнении чисел с плавающей запятой, необходимость явно указывать какому полю присваивается значение при определении структуры, обобщенные типы... с поведением по белому списку, единая семантика преобразования сложных типов, времена жизни в определении функции увеличивают читаемость (нет необходимости заглядывать в тело функции, чтобы понять какой параметр окажется в выходе), безопасные и удобные обертки типов (New Type idiom), и пр.

Также и стандартная библиотека усилена, например более продуманными мьютексами ( https://habr.com/ru/post/659547/ ) или тем что HashMap использует более защищенный алгоритм хеширования.

Неявного замедления скорости исполнения почти нет. Достаточно прочитать стандартную книгу по раст где все такие места описаны чтобы ты мог сам решить, стоит ли тебе пользоваться такими языковыми конструкциями или библиотечными объектами.
https://doc.rust-lang.ru/book/ch17-02-trait-objects.html#Типаж-объекты-выполняют-динамическую-диспетчеризацию-связывание
https://doc.rust-lang.ru/async-book/02_execution/02_future.html
https://doc.rust-lang.ru/book/ch03-02-data-types.html#Некорректный-доступ-к-элементу-массива

и библиотека
https://doc.rust-lang.ru/book/ch08-03-hash-maps.html#Функция-хэширования
https://doc.rust-lang.ru/book/ch08-02-strings.html#Байты-скалярные-значения-и-кластеры-графем-Боже-мой

При написании идиоматичного раст кода применяются соответствующие наработанные практики вроде использования итераторов по срезам вместо индексирования, применения assert'ов перед индексацией чтобы убедить LLVM в ограничении длины буфера, использования enum вместо dyn, а также соответствующих паттернов проектирования которые еще даже не до конца сформировались - https://raphlinus.github.io/rust/gui/2022/05/07/ui-architect...

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

351. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  –2 +/
Сообщение от bOOster (ok), 10-Май-22, 08:27 
> А что ты понимаешь под средним уровнем?
> Основная причина (как мне видится) по которой его принимают в качестве языка
> написания модулей ядра -- он обеспечивает безопасность уровня управляемых языков (даже

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

> больше, потому что ни один популярный ЯП не защищает от гонок
> по данным) в сочетании с программированием на голом железе, как в

От "racing сonditions" только мозг программиста защищает. Те тупые проверки что есть в расте на racing conditions видит и хороший программист, а в реальных, тяжелых, очень слабо продумываемых, просматриваемых racing conditions - которые в последнее время и всплывают - никаких бонусов RUST не дает.

>[оверквотинг удален]
> https://doc.rust-lang.ru/async-book/02_execution/02_future.html
> https://doc.rust-lang.ru/book/ch03-02-data-types.html#Некорректный-доступ-к-элементу-массива
> и библиотека
> https://doc.rust-lang.ru/book/ch08-03-hash-maps.html#Функция-хэширования
> https://doc.rust-lang.ru/book/ch08-02-strings.html#Байты-скалярные-значения-и-кластеры-графем-Боже-мой
> При написании идиоматичного раст кода применяются соответствующие наработанные практики
> вроде использования итераторов по срезам вместо индексирования, применения assert'ов
> перед индексацией чтобы убедить LLVM в ограничении длины буфера, использования enum
> вместо dyn, а также соответствующих паттернов проектирования которые еще даже не
> до конца сформировались - https://raphlinus.github.io/rust/gui/2022/05/07/ui-architect...

А все что вышенаписано - ерунда для выпускника средней школы, в которой преподавали информатику, которого взяли на практику - "Оператором ЭВМ", а серьезный программист, ответственный за практиканта, пытается облегчить себе его воспитание, чтобы не бить практиканта часто по башке чем нибудь...

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

383. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +2 +/
Сообщение от morphe (?), 10-Май-22, 14:53 
> От "racing сonditions" только мозг программиста защищает. Те тупые проверки что есть в расте на racing conditions видит и хороший программист, а в реальных, тяжелых, очень слабо продумываемых, просматриваемых racing conditions - которые в последнее время и всплывают - никаких бонусов RUST не дает.

Не надо путать data race и race condition

Первое Rust сделать не даст, ты не сможешь использовать не thread-safe структуру в многопоточке

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

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

384. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  –2 +/
Сообщение от bOOster (ok), 10-Май-22, 17:00 
>> От "racing сonditions" только мозг программиста защищает. Те тупые проверки что есть в расте на racing conditions видит и хороший программист, а в реальных, тяжелых, очень слабо продумываемых, просматриваемых racing conditions - которые в последнее время и всплывают - никаких бонусов RUST не дает.
> Не надо путать data race и race condition
> Первое Rust сделать не даст, ты не сможешь использовать не thread-safe структуру
> в многопоточке

И именно это будет обрастать такими граблями в ядре - что скоро пальма первенства по производительности перекочует к BSD. Они в 13 Free уже ноздря в ноздрю идут почти, но качества кода в BSD выше на пару порядков.

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

Ты же моешься по утрам? Или нет?
Почему в программировании на Сишке не примешь для себя идентичые идиомы, а все на Раст полагаешься?


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

386. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +2 +/
Сообщение от morphe (?), 11-Май-22, 01:47 
> И именно это будет обрастать такими граблями в ядре

Не понял о каких граблях речь)
Сейчас если ты хочешь использовать в драйвере какую-либо не thread-safe структуру, ты должен корректно обернуть обращения к ней в блокировку мьютекса/спинлока

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

https://habr.com/ru/post/659547/

> Почему в программировании на Сишке не примешь для себя идентичые идиомы, а все на Раст полагаешься?

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

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

149. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от НяшМяш (ok), 08-Май-22, 16:53 
Это национальная забава. Когда что-то не понимаешь, надо это хейтить, а лучше запретить. Вон недавно на Форуме Безопасного Интернета дядечка высказался о запрещении этого самого интернета. Там же дети пропадают и роскомнадзорятся. А сколько от раста несчастий - и не перечесть. Теперь так просто UB и закладки не позапихивать, придётся думать.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

385. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  –1 +/
Сообщение от Вы забыли заполнить поле Name (?), 10-Май-22, 20:05 
> Теперь так просто UB и закладки не позапихивать, придётся думать.

В расте есть UB. Ты, наверное, перечитал весь код компилятора и все, что тащит cargo, чтобы утверждать, что компилятор, прибитый гвозядми к llvm не тащит закладок?

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

331. Скрыто модератором  +/
Сообщение от Аноним (-), 09-Май-22, 21:30 
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

408. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от ммнюмнюмус (?), 14-Май-22, 23:28 
Ядро - как раз тот компонент, у которого работа с железом - задача. Так что ядерный язык обязан уметь прямой доступ к памяти. Когда раст научится такому - тогда и будет что предлагать в ядро.

Фобии и страхи - у неграмотных, при наличии достаточно чётких аргументов - не аргумент.

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

412. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от Аноним (-), 15-Май-22, 00:42 
>> Откуда такая растофобия?
> Ядро - как раз тот компонент, у которого работа с железом -
> задача. Так что ядерный язык обязан уметь прямой доступ к памяти.
> Когда раст научится такому - тогда и будет что предлагать в ядро.

Классический образец воинственного опеннетного "растофоба" - привел "доказательства негодности" на основе своих же фантазий...

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

425. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  +/
Сообщение от ммнюмнюмус (?), 20-Май-22, 19:52 
>>> Откуда такая растофобия?
>> Ядро - как раз тот компонент, у которого работа с железом -
>> задача. Так что ядерный язык обязан уметь прямой доступ к памяти.
>> Когда раст научится такому - тогда и будет что предлагать в ядро.
> Классический образец воинственного опеннетного "растофоба" - привел "доказательства
> негодности" на основе своих же фантазий...

Хм, беру назад слова о том, что rust не умеет прямой доступ к памяти. Этот вывод я сделал на основе других постов. Будет время - конечно, побалуюсь, а пока только очередное подтверждение: Не брать на веру никакие опеннетные посты, проверять ВСЁ.

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

255. "Шестая версия патчей для ядра Linux с поддержкой языка Rust "  –1 +/
Сообщение от Аноним (255), 09-Май-22, 08:00 
>А те, кто делает патчи, пользуются Linux?

Так же, как и Redox.

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

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

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




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

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