LINUX.ORG.RU
ФорумTalks

FAQ по Rust в ядре

 , ,


0

5

Привет, ЛОР!

В связи с ожесточёнными спорами вокруг внедрения языка Rust в ядро Linux, разработчик ядра Мигель Охеда (Miguel Ojeda) опубликовал список вопросов и ответов на них касательно сложившихся практик в разработке ядра и как это затрагивает Rust.

Тыц: https://rust-for-linux.com/rust-kernel-policy

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

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

Я просто пытаюсь понять, в чём тут принципиальная разница между Rust и C.

у руста сколько компиляторов?

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

Стоял где курили, сидел где пили, лежал где трахались. В этом всём очень много людей участие принимало.

Роб Пайк автор Newsqueak идеи из которого потащили в Rust :)

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

что за еще компилятор кроме rustc? и насколько они реализуют один язык?

кто гарантирует, что разрабы не бросят rust, в пользу какого-нить rust++ или еще какой моды. кто будет поддерживать rust в таком случае?

любой язык что «в развитии», не имеющий стандарта - опасен своей «экспериментальностью», использовать его всерьез, все равно что летать на «экспериментальном» самолете.

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

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

mg хватит всем. Пайк говорит, что подсветка синтаксиса для тех, кто в детстве фломастерами не наигрался.

А на дорожных знаках красный тоже от фломастерного недодетства?

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

что за еще компилятор кроме rustc?

gccrs

Повторюсь. Ты написал:

довольно очевидно, что руст - это повесточка

Где в Rust повесточка-то?

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

давайте просто договоримся, что gccrs как компилятора rust не существует.

Зачем мне с тобой о чём-то договариваться?

То, что гнутые не могут реализовать rust в gcc, говорит об их skill issue больше чем о Rust.

Всё ещё стоит вопрос:

Где в Rust повесточка-то?

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

Два.

А второй уже может скомпилировать самый обычный Hello World???

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

А что договариваться то, в PDF по ссылке, так и написано на 112 странице.

Что самое ужасное - сколько я помню Rust - он всегда в таком состоянии. Студенты приходят и уходят, а толку нет.

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

То, что гнутые не могут реализовать rust в gcc, говорит об их skill issue больше чем о Rust.

Rust это тонкий интерфейс к LLVM, поэтому реализовывать его на базе gcc вообще странно.

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

Rust это тонкий интерфейс к LLVM, поэтому реализовывать его на базе gcc вообще странно.

Почему? Ну кроме того, что в GCC не смогли породить нормальный промежуточный язык, в который разные фронты могли бы компилировать код. В основном, потому что Штальман был категорически против.

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

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

zurg
()
Ответ на: комментарий от hateyoufeel

Почему?

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

Вот и приходится полагаться на LLVM, причем даже нормально отделить свой транслятор (rustc) от компилятора (LLVM) они не смогли, в базовых частях впихнуты интриски от LLVM, даже есть конструкции для вставки MIR кода. Это реально связка транслятора и LLVM получается, а так как о стандартах никто из комьюнити и авторов не слышал, придется реализовывать LLVM специфичные штуки если нужен альтернативный компилятор.

Если отвалятся компании которые отдают изменения в шланг, то помрет раст как та система контроля версий что не выдержала переход на python 3.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 3)
Ответ на: комментарий от hateyoufeel

Зачем мне с тобой о чём-то договариваться?

не хотите по-хорошему, будет по-плохому. хватит пи..ть про два компилятора, их только один. так пойдет?

То, что гнутые не могут реализовать rust в gcc, говорит об их skill issue больше чем о Rust.

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

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

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

это точно не про руст. о какой науке вообще слышали в мозилле?

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

это кстати тоже элемент повесточки - нашу чудо-швабру разрабатывают ведущие инженеры мира

Повесточка – это когда @alysnix жопу рвёт. Я понял.

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

Это какой то транслятор, вот смотрю на определение из википедии

Компиля́тор — программа, переводящая написанный на языке программирования текст в набор машинных кодов

Там в репозитории такого нету, а транслятор есть.

Из свойств компилятора выделена еще оптимизация (опционально), ну а как мы знаем оптимизаций rustc практически не занимается. Просто вываливает свой мусор LLVM в надежде что он разберется.

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

как мы знаем оптимизаций rustc практически не занимается.

Тебя обманули. Rustc оптимизациями как раз занимается.

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

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

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

руст это как автомобиль с веслами на самом деле. «память безопасными» являются языки со сборкой мусора и запретом адресной арифметики(это корабль). а системными и быстрыми - с ручным управлением памятью(это автомобиль). а руст - это автомобиль с веслами. ни туда, ни сюда.

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

Ты на какой скорости код читаешь?

Синтаксический разбор очень быстрый, именно благодаря подсветке. Да и дорожные знаки довольно долго в фокусе внимания остаются, тем более если в городе едешь, и разница между 30км/ч и 33км/ч уже граница между «ничего не будет» и «прийдёт штраф за превышение».

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

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

Мне нравится твоя линия мысли. Надо лялекс закапывать уже!

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

Ах да, апелляция к естественному языку вообще не в кассу аналогия. Потому что у естественного языка гораздо более разнообразная и неоднозначная семантика, в отличие от формальных языков.

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

Мне нравится твоя линия мысли. Надо лялекс закапывать уже!

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

а руст - просто язычог на хайпе.

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

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

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

а руст - просто язычог на хайпе.

Не. На нём уже слишком дохрена написано. Вон аж в лялекс всунули по самые гланды.

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

Ко-ко-ко повесточка!

Кудах-тах-тах не компилятор а надстройка над LLVM!

ОЛОЛОЛОЭ МАЙКРОСОФТ ПОРАБОТИТ RUST

Просто потрясающая шиза!

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

Не. На нём уже слишком дохрена написано. Вон аж в лялекс всунули по самые гланды.

Можно сюда пожалуйста сводку сколько строк на расте в ядре Linux?

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

А зачем простые выражения оптимизировать?

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

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

Давай попробую угадать, менее 5 000 строк кода.

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

правда непонятно

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

Давай попробую угадать, менее 5 000 строк кода.

Ну, пока что, возможно, что и так. Будет больше.

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

правда непонятно

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

Согласен, именно поэтому я их и пишу! Но ты рассказывай все же! Почему даже if false { ... } передается без изменений, что же это там они оптимизируют?

И напомни какой флаг отвечает за уровень оптимизации транслятора rustc?

Давай попробую угадать, менее 5 000 строк кода.

Ну, пока что да. Будет больше.

Ахах, да, и Wayland скоро будет готов! Растопобеда!!! Три обвязки для сишки!!!

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

Почему даже if false { … } передается без изменений, что же это там они оптимизируют?

А зачем им оптимизировать то, что может за них оптимизировать LLVM?

Ахах, да, и Wayland скоро будет готов! Растопобеда!!! Три обвязки для сишки!!!

Wayland включен по дефолту в большинстве юзер-френдли дистров сейчас, так-то.

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

А зачем им оптимизировать то, что может за них оптимизировать LLVM?

Это я уже слышал, напомни какие там сложные оптимизации? Сколько строк занимает их оптимизатор, и больше ли он rust-кода в ядре без комментариев?

Wayland включен по дефолту в большинстве юзер-френдли дистров сейчас, так-то.

Но только если у тебя маргинальный производитель видео-карт %)

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

даже if false { … } передается без изменений

Но это же ложь, компилятор раста проводит эту оптимизацию на уровне MIR.

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

Но только если у тебя маргинальный производитель видео-карт %)

Главное, больше смайликов ставить. Глядишь и Wayland выключат.

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

Я хотел приложить вывод, но Rust Playground говорит что «The server reported an error: The operation timed out: deadline has elapsed».

pub fn foo(b: bool) {
    if b {
        loop {}
    }
}

fn main() {
    foo(false);
}
MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)
Ответ на: комментарий от hateyoufeel

Так давно выключен, как только появился пункт в gdm - «Wayland», так сразу и выключили для всех Nvidia-господ.

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

про повесточку.

самые защищенные языки - мусоросборочные и писать на них легко и приятно. а не руст.

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

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

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

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

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

а с++ руст проигрывает потому что с++ идейно мощней и быстрей.

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

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

самые защищенные языки - мусоросборочные и писать на них легко и приятно. а не руст.

Тут я согласен. Писать на Haskell гораздо легче и приятнее! Уже 11 лет на нём пишу за бабло, всё ваще отлично.

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

Впервые встречаю это утверждение. И всё ещё не понимаю, о какой именно повесточке ты пишешь. Сформулируй, пожалуйста, продолжение фразы: повесточка – это …

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

Мне кажется ты забыл ответить, какие сложные, комплексные оптимизации выполняет Rust? Там их реально видимо много, а я все найти не могу где они.

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

Всё в порядке, он просто тупой. Не отвлекай его! Я хочу ох?:?ельных историй про повесточку в Rust и про то, как из-за Rust @alysnix перешёл на мужиков. Думаешь, зачем я этот тред тут создал?

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

Счетчики ссылок это основной GC в Rust, без которого не может обойтись не одна Rust-программа с сложным выделением памяти.

Или боров уже решил проблему остановки?

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)
Ответ на: комментарий от alysnix

При чём тут вообще мозилла? Рассуждать тут можно, примерно, так. Системщина, в общем, это про надёжность и скорость, а значит статическая и максимально строгая система типов - у рачта есть. А более конкретно это про тонкое управление ресурсами, компьютер сайентисты придумали для этого линейные типы и в расте реализована одна из разновидностей этих самых типов (в кой-то веки до системщины что-то добралось из CS ), ну и логично выглядит в соответсвии с этим формализация и реализация таких понятий как время жизни, владение, мутабельность. Так то ещё Ада, конечно, удовлетворяет но до сих пор без доступных тулинга библиотек поддержки - без нихрена, ещё какая-нибудь полумёртвая и устаревшая маргинальщина вроде оберона - так вот и получается…

zurg
()
Ответ на: комментарий от hateyoufeel

А я вот люблю словари! «Повесточка», основные близкие слова - насаждение, определение насаждения:

результат такого действия; усиленное внедрение, распространение каких-либо взглядов, порядков, методов и т. п.

Усиленное внедрение Rust есть? Есть. Распространение взглядов его фанатиками? Есть.

Вот и ответ на твой вопрос! Так вот, теперь мой вопрос, я вижу ты боишься отвечать на первый, задам другой. Много ли сил потребуется что бы избавится от 5 000 строк Rust в ядре? Просто ты писал что от Rust сложно отказаться, он везде, даже в ядре.

MOPKOBKA ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)