LINUX.ORG.RU

Линус высказал своё мнение о Rust в ядре

 , ,


2

4

Поживем - увидим

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

Лично Торвальдс не продавливает Rust в ядро, но он «готов оценить обещанные преимущества и возможность избегания граблей, связанных с безопасностью», но также понимает, что «иногда обещанное не исполняется».

Торвальдс полагает, что первоначальной областью применения Rust в ядре могут быть драйверы, поскольку их написание представляет собой множество небольших и независимых задач. «Может, это не самое интересное применение, но оно самое очевидное». Он добавил, что поскольку многие устройства предназначены не для всех процессорных архитектур, недостаток их поддержки в Rust – не такая большая проблема.

>>> Источник

anonymous

Проверено: Shaman007 ()
Последнее исправление: CYB3R (всего исправлений: 1)

Ответ на: комментарий от TDrive

Какие забавные у тебя тараканы в голове.

А у тебя прикольные розовые очки, раз не заметил повсеместные экосистемы с собственными язычками, переписывания «всё заново», истории про то как отламывается обратная совместимость в каком-нибудь шарпе, или про запуск софта под вайном, который не запустить под виндой. Наверное, один лишь Ц/ЦПП позволяет взять нам какое-нибудь древнее дерьмо и прикомпилить его в новом проекте. Даже сам факт существования этих замечательных языков заставляет не борзеть слишком всяких мелкомягких.

pavlick ★★
()
Ответ на: комментарий от real_Petrovich

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

Thero ★★★★★
()
Ответ на: комментарий от yetanother

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

andalevor ★★
()
Ответ на: комментарий от pavlick

Ответь на простой вопрос, какого конкретно развития событий и последствий ты опасаешься?

А то это все филосовские рассуждения на грани типичных теорий заговоров.

TDrive ★★★★★
()
Ответ на: комментарий от bonta

Не надо додумывать за Линуса, лучше пройдите по ссылке выше и прочитайте что он думает на счёт с++. Там додумывать не придётся.

andalevor ★★
()
Ответ на: комментарий от seiken

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

Thero ★★★★★
()
Ответ на: комментарий от grem

Я ни разу не пользовался, но говорят, что дико популярно среди геймеров. А M$ уже давно с геймерпми заигрывает, площадки для стриминга организует..

andalevor ★★
()
Ответ на: комментарий от pavlick

а что не так с переходом со второго питона на третий?

Thero ★★★★★
()
Ответ на: комментарий от andalevor

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

И чего тут такого ВАУ? Мне нужно начать визжать?

pavlick ★★
()
Ответ на: комментарий от TDrive

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

pavlick ★★
()
Ответ на: комментарий от pavlick

У Раст уже была нарушена совместимость между раст2015 и раст2018. При этом программы написанные до раст2018 продолжают успешно компилироваться текущим компилятором. Как? Шок! Сенсация! Подробности по ссылке в Гугле.

andalevor ★★
()
Ответ на: комментарий от andalevor

MS не столько заигрывает, сколько имеет свои и купленные (Bethesda) студии разработки. Windows-live свою даже прикрыть успела и частично перекинула его в xbox live.

grem ★★★★★
()
Ответ на: комментарий от pavlick

Вот я как раз и пытаюсь понять, что в этом страшного?

1) Кто тебя заставляет использовать 3-й питон? Тем более в случае когда все переходят на докер.

2) Если пакет не портировали на 3 питон возможно он просто потерял актуальность и никому не нужен?

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

4) С компилируемыми языками все значительно проще. Можно собрать либки и основной бинарник из разных языков.

5) Как злые корпорации могут использовать подобное нарушение обратной совместимости в своих целях?

TDrive ★★★★★
()
Ответ на: комментарий от hobbit

мой папа написал трекер, который отключал нас от сети после часа использования Интернет

Вот негодяй! :)

grem ★★★★★
()
Ответ на: комментарий от shpinog

Стандарт на ассемблер покажешь?

А при чём тут АСМ? - он зависит от архитектуры, какую железяку придумали -таким и будет ассемблер. Или предлагаешь стандартом «заморозить» развитие аппаратных платформ?

1.0 стабилизирован.

В международном ANSI?

Когда Линус начал пилить на Си, там стандарту было сколько, лет 5?

Он был, и от него никто не отходит. Свою плюшки можно впиливать, но остальное - ANSI. Поэтому этот язык и использует почти каждый производитель «железки» - пилят, как минимум, компилер для «железа» на уровне C89 - иначе железка «не взлетит» на голом АСМе.

drfaust ★★★★★
()
Ответ на: комментарий от vitus

Попробуйте собрать современным компилятором пример 20-летней давности (я уж не говорю про K&R диалект),

Какой такой «диалект»? Он в каком ANSI описан?

Если уж и есть косяки с портабельностью прог на ANSI С** с архитектуры на архитектуру - то это либо косяки программеров, либо новые ограничения целевой архитектуры.

drfaust ★★★★★
()
Ответ на: комментарий от drfaust

А при чём тут АСМ? - он зависит от архитектуры

Синтаксис разный интел, ат&т и ещё пачка. Ты же выдвигаешь наличие стандарта как критерий для использования в ядре. Где стандарт?

Или предлагаешь стандартом «заморозить» развитие аппаратных платформ?

Так любой стандарт есть «замораживание», rust 1.0 по факту и есть стандарт, в 1.х ветке обратная совместимость гарантируется.

Или у тебя рассказы про стандарт уместны только там, где тебе выгодно? Вот здесь стандарт это плохо, мешает развитию, а вот здесь необходим?

Он был, и от него никто не отходит.

Что серьёзно? А GNU-специфик расширения марсиане использовали?

Свою плюшки можно впиливать, но остальное - ANSI.

Нет это так не работает. Ты берёшь и пишешь на стандарте+ плюшки = код который не поддерживается компиляторами реализующие чётко стандарт по бумаге.

Поэтому этот язык и использует почти каждый производитель «железки»

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

компилер для «железа» на уровне C89

Ну так какую нибудь 1.х версию раста бери, называй это стандартом и используй. Странные у тебя двойные стандарты, говно мамонта 30 летней давности ты считаешь достоинством, от другого чуть посвежее тебя воротит. Надо я так понимаю подождать ещё 20 лет, после чего гордо заявлять про rust 1.0 ?

shpinog ★★★
()
Последнее исправление: shpinog (всего исправлений: 1)
Ответ на: комментарий от drfaust

Не лги сам себе и другим: Он поддерживает только одну - LLVM, нормальные компилеры генерят сразу native-код под железо

Кто это решил? И кто у нас тут такой важный, решает что называется нормальным, а что нет?

shpinog ★★★
()
Ответ на: комментарий от pingvinek

Если драйвер AMD переписать на ржавчине, он начнет работать также хорошо как драйвер nvidia? :D

Нет. Ведь он и так лучше работает, следовательно будет работать ещё лучше лучшего)

shpinog ★★★
()
Ответ на: комментарий от drfaust

LLVM это не архитектура. Речь об архитектурах процессоров. Ты, похоже, в теме совсем плаваешь.

Legioner ★★★★★
()
Ответ на: комментарий от pavlick

не могу заюзать питон 2 пакет в питон 3 прокете

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

Но вообще за питоном тоже стоят ужасные корпорации, да?

DarkEld3r ★★★★★
()
Ответ на: комментарий от TDrive
  1. Как злые корпорации могут использовать подобное нарушение обратной совместимости в своих целях?

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

DarkEld3r ★★★★★
()
Ответ на: комментарий от TDrive
  1. Если пакет не портировали на 3 питон возможно он просто потерял актуальность и никому не нужен?

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

  1. С компилируемыми языками все значительно проще. Можно собрать либки и основной бинарник из разных языков.

А что же у вас не получилось собирать модули к ядру? Зачем костыль пропихнули? Те же либки по сути, что не так пошло?

  1. Как злые корпорации могут использовать подобное нарушение обратной совместимости в своих целях?

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

pavlick ★★
()
Ответ на: комментарий от drfaust

В международном ANSI?

Джава вон не стандартизирована аж никак, что не мешает ей иметь весьма хорошую обратную совместимость.

К слову, C# - стандартизирован. Интересно это меняет отношение @pavlick к языку?..

DarkEld3r ★★★★★
()
Ответ на: комментарий от shpinog

Ты же выдвигаешь наличие стандарта как критерий для использования в ядре. Где стандарт?

Сколько кода на АСМе в ядре?

rust 1.0 по факту и есть стандарт, в 1.х ветке обратная совместимость гарантируется.

Каким институтом это гарантировано? или толпой «растоманов»?

А GNU-специфик расширения марсиане использовали?

Ты берёшь и пишешь на стандарте+ плюшки = код который не поддерживается компиляторами реализующие чётко стандарт по бумаге.

Не вырывай фразы из контектса. Я говорил, что **«расширять» можно, но то, что написано в ANSI C компилится должно везде - иначе это проблемы у прогеров/железянщиков/«Мелкософта, который с высокой колокольни на ANSI».

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

Потому, что месяцы затраченные на написание своего ПИД-регулятора в Си будут работать на любом ПЛК, если алгоритм в С89.

Почти, но не каждый.

Rust - никто, кроме LLVM

Ну так какую нибудь 1.х версию раста бери, называй это стандартом и используй.

Я не владею властью диктовать стандарты, как ГОСТ или ANSI.

P.S. Вот когда продвините ANSI Rust2105, тогда и пойте о «стандартах»

drfaust ★★★★★
()
Ответ на: комментарий от DarkEld3r

Джава вон не стандартизирована аж никак, что не мешает ей иметь весьма хорошую обратную совместимость.

Оракл «гарантирует», якобы, и продвигает. На самом деле приходится иметь по две-три версии жабы на компе у буха, что бы с ЕГАИС/ШМЕГАИС работать.

drfaust ★★★★★
()
Ответ на: комментарий от pavlick

Ну это странное, почему пакет вообще обязан постоянно допиливаться?

Баги есть везде, надо фиксить.

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

DarkEld3r ★★★★★
()
Ответ на: комментарий от drfaust

Оракл «гарантирует», якобы, и продвигает. На самом деле приходится иметь по две-три версии жабы на компе у буха, что бы с ЕГАИС/ШМЕГАИС работать.

И как наличие стандарта этому помешало бы?

DarkEld3r ★★★★★
()
Ответ на: комментарий от shpinog

И кто у нас тут такой важный, решает что называется нормальным, а что нет?

Этот «нормальный и важный» называется «степень соответствия ANSI». Антипод такому соответствию - Мелкософтовая студия, пример gcc.

drfaust ★★★★★
()
Ответ на: комментарий от drfaust

Была бы одна версия жабы. С одной JVM и обратной совместимостью к предыдущим версиям.

Ты уверен, что это так работает? В С++ вон, если посмотреть, ломающие изменения тоже делают. Например, auto_ptr выкинули.

Никто не мешает сначала стандартизировать условную джаву 1, потом джаву 2 вообще без обратной совместимости.

DarkEld3r ★★★★★
()
Ответ на: комментарий от drfaust

Сколько кода на АСМе в ядре?

Под 300тысяч строк

Каким институтом это гарантировано? или толпой «растоманов»?

Разработчиками компилятора.

Я говорил, что **«расширять» можно, но то, что написано в ANSI C компилится должно везде - иначе это проблемы у прогеров/железянщиков/«Мелкософта, который с высокой колокольни на ANSI».

Значит ты констатировал, что у разработчиков ядра проблемы с этим, и им тоже с высокой колокольни. Ведь pure ANSI компилятор не откомпилит ядро.

Потому, что месяцы затраченные на написание своего ПИД-регулятора в Си будут работать на любом ПЛК, если алгоритм в С89.

Стандарт то здесь при чём? Ты серьёзно заявляешь, что бумажка с описанием, каким-то магическим образом влияет на генерируемый код?

Вон там пример был Java, я так понимаю без стандарта разваливается ?

Rust - никто, кроме LLVM

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

Я не владею властью диктовать стандарты, как ГОСТ или ANSI.

Зато гордишься решением под них подстилаться.

shpinog ★★★
()
Последнее исправление: shpinog (всего исправлений: 1)
Ответ на: комментарий от DarkEld3r

В С++ вон, если посмотреть, ломающие изменения тоже делают. Например, auto_ptr выкинули.

С++ до Си в плане стабильности расти и расти. Я сейчас вообще не понимаю что творят в C++, от 11го до 17го стандарта такого наворотили, что в башку не укладывается.

drfaust ★★★★★
()
Ответ на: комментарий от Thero

Ток вот я как раз и спрашиваю, а тот ли это проект (coreutils), на котором проявятся преимущества rust. Иначе можно провести эксперимент с заведомо неподходящей выборкой, и сделать на его основе неправильный вывод.

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

При чем тут coreutils?

seiken ★★★★★
()
Последнее исправление: seiken (всего исправлений: 1)
Ответ на: комментарий от pavlick

Российская рабочая группа по стандартизации Rust? Это ты на РГ21 C++ насмотрелся? А до 2016-го, значит, на плюсах программировать было нельзя, язычок корпораций был?

Херню не пиши. Можешь. https://www.rust-lang.org/governance

Выбирай интересующую команду и присоединяйся.

Result-Code
()
Ответ на: комментарий от shpinog

Под 300тысяч строк

В каком именно ядре ОС и сколько кода приходится на одну платформу?

И да - попробуй заменить эти строки Rust или C.

Разработчиками компилятора.

А они чем руководствуются? Своими «измышлизмами»? Мелкософт уже «доруководствовлся» - ихним компиляторами пользуются «по инерции», сейчас по всем флангам наступление gcc и clang

Стандарт то здесь при чём?

Дядя Вася нарисовал в С89 ПИД 15 лет назад, пришёл новый ПЛК - надо его туда воткнуть - он втыкается без проблем, с минимальными корректировками (подстройка специфичных для железа хидеров).

Зато гордишься решением под них подстилаться.

Горжусь, что мой код сможет помочь людям и после моей смерти.

Т.е по твоей логике, появляется из неоткуда язык и он уже везде есть?

Протолкнёте в ANSI - будет почти везде. Производителям «железок» надо проталкивать свой товар, а для этого, чем больше «инструментов» для программирования «железяки», тем лучше

Значит ты констатировал, что у разработчиков ядра проблемы с этим, и им тоже с высокой колокольни. Ведь pure ANSI компилятор не откомпилит ядро.

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

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

drfaust ★★★★★
()
Последнее исправление: drfaust (всего исправлений: 1)
Ответ на: комментарий от pathfinder

Обязательно сделают. Сначала ненужные большинству дрова, а потом уже всё остальное. Увидели что Линус дал слабину, значит точно одними дровами не отделаются.

fuggy
()
Ответ на: комментарий от DarkEld3r

А тесты работают? примерно два года назад не компилилось. Возможно починили.

[savant@savant-laptop xdr-rs]$ rustc –version rustc 1.50.0-nightly (0edce6f4b 2020-12-24)

У меня не собирается(и не должно вроде)

Dark_SavanT ★★★★★
()
Последнее исправление: Dark_SavanT (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.