LINUX.ORG.RU

В linux-next добавлена возможность писать драйверы на Rust

 , linux-next, ,


1

7

В ветку ядра linux-next включен код для написания драйверов на Rust, сам патч. Пока неясно, оставит Линус это или нет, он высказывается довольно туманно, из его слов не совсем понятно, есть ли четкие критерии включения.

>>> Подробности

anonymous

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

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

У меня в гараже спорткар. Значит и у тебя должен быть.

предпочитаю самолеты
а еще у меня 25

еще в 2010-м году, в налоговой инспекции стояла программа учета налогоплательщиков под ДОСом (экран как у нортона), а ИНН печатались на матричном принтере.

ты в налоговой писал драйвер для мыши? сочувствую..

Мы говорим за страну, а не за твое ЧП Васян.

налоговая - не страна.
я работал не в ЧП, это была госкомпания, местный филиал ВГТРК.

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

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

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

Конечно можно. Особенно если это не сильно быстрая сетевая или видео карта.

Ахахаха

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

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

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

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

pavlick ★★
()

Ну наконец-то, а то раньше драйверы никто не хотел писать, а сейчас то они попрут!

grem ★★★★★
()
Ответ на: Linus Torvalds on where Rust will fit into Linux от AlexVR

Sylvestre Ledru, a Mozilla director by day and Debian Linux developer by night, has ported a Rust version of Coreutils to Linux using the LLVM compiler infrastructure and its Clang C language front-end and tooling infrastructure.

Eventually, it may replace GNU Coreutils

Пля, зачем? Эти обезьяны все сломают и всех посорят, впереди 100500 форков всего на свете. Лоббируют эту ржавую поделку как и системд. Слишком много желающих подставить зад корпорациям. Линукс - всё. RIP.

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

более менее понятно, но не красиво =)
я имел ввиду перескоки вниз/вверх по коду, а не имитацию исключений, как в примере.

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

Перескоки вверх - плохо. Перескоки вниз - норм. Выход из множественного цикла наружу - хорошо. Конечный автомат - норм.

более менее понятно, но не красиво =)

Предложи красивее. Чем это со стороны существенно отличается от вызова процедуры?

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

Вообще-то Ц/ЦПП эволюционируют вместе с миром или ты не заметил стандарты раз в три года? Что-то допиливают, что-то депрекейтят. Поэтому аргумент несостоятелен. Многие дружно променяли условно свободную технологию на высер корпораций. Просто линукс стал достаточно популярным среди «домохозяек», это стало интересно всяким папикам.

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

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

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

Речь шла о C, а не о неведомой зверушке C/C++. Да, развивается. Вот gets в 2011-м удалили наконец. В C2x может быть char8_t добавят.

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

Выход из множественного цикла наружу

только для имитации исключений

Конечный автомат

а там зачем гото?
КА это же while not_exit case ...

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

так, с чего мы начали... некий чувак запили кореутилз на расте

Многие дружно променяли условно свободную технологию на высер корпораций

это про раст?
как он ограничивает твою свободу? свободу чего?

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

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

только для имитации исключений

Не только. Попробуй выйди в Си из вложенного цикла наружу без goto, дополнительных переменных и проверок во внешних циклах. Метки для break не завезли.

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

не завезли

Странно, что не завезли ведь особенность, та полезная. Хотя в с++, я думаю, в следующем стандарте добавят

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

Вообще-то Ц/ЦПП эволюционируют вместе с миром или ты не заметил стандарты раз в три года?

Раз в три года - это про С++. А в Си до сих пор свои bool, TRUE, FALSE пишут, не смотря на то, что он есть в стандарте больше 20 лет.

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

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

КА реализуется циклом дейкстры или его имитацией на if-ах или case-ах.

только для имитации исключений

Не только. Попробуй выйди в Си из вложенного цикла наружу

это нужно только при нарушении инварианта цикла, а нарушение инварианта это эксепшен.

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

какая эволюция?!
Си родился как макро-ассемблер для PDP-11, таким и остался.

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

Не обязательно. В алгоритме в цикле может быть достигнуто нужное условие и тогда нужно просто из него выйти совсем наружу.

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

Да, и правда. Тоже проверил.

Ну как так-то… (фейспалм)

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

В алгоритме в цикле может быть достигнуто нужное условие

если это условие окончания цикла — выход осуществляется естественным путем.
если нет — это неправильно спроектированный цикл.

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

если это условие окончания цикла — выход осуществляется естественным путем. если нет — это неправильно спроектированный цикл.

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

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

правильный цикл в любом языке будет правильным.

выход к метке по break

хм.. передача управления не на следующий за циклом оператор при достигнутом условии окончания цикла? — зачем тогда придумали структурное программирование?

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

линукс в 99м от шляпы это была жестью. 9й как щас помню с CDE - так он на 128мб так свопал, так свопал…

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

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

пофигу.

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

вот для них раст наверно как раз выход и волшебная палочка.

но для «обычных людей» раст это кадавр, чудище обло, стозёвно и лаяй. синтаксис невменяемый совершенно, одна точка может поменять смысл(eao197 этот момент на сайте у себя описывал).

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

одна точка может поменять смысл(eao197 этот момент на сайте у себя описывал).

Ссылкой поделишься?

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

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

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

линукс в 99м от шляпы это была жестью. 9й как щас помню с CDE - так он на 128мб так свопал, так свопал…

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

линупс - это какая-то катастрофа в плане свопинга. и с тех пор ничего особо не поменялось

ну как ничего.. своп в zram, и демон карающий прожорливых =)
оно конечно фризит все еще, но совсем раком не встает вроде бы.

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

Некоторые нет - сам алгоритм подразумевает подобные условные переходы. Некоторые можно, но будет только хуже. Просто надо уметь его правильно использовать.

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

спп сложный только для тупых программистов ... тупых где-то 99%.

тред же про раст: «раст сложный только для тупых программистов ... тупых где-то 99%.»

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

Некоторые нет

матчасть с тобой не согласна.

сам алгоритм подразумевает подобные условные переходы.

не съезжай, условный переход это не гото.

Просто надо уметь его правильно использовать.

в языках ВУ гото — г-код.

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

не съезжай, условный переход это не гото.

Сам goto безусловный переход, но его вставляют при выполнении условия.

Ты просто не умеешь его использовать.

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

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

Сам goto безусловный переход, но его вставляют при выполнении условия.
Ты просто не умеешь его использовать.

а ты не умеешь писать структурно.

Матчасть, которую ты читаешь, можешь выкинуть.

эту матчасть я читал лет 30 назад.
кого выкинуть? Дейкстру, Кнута, Вирта, etc?
если тебе не хватает 3-х управляющих конструкций для описания алгоритма — себя выкинь из профессии.

Статья в википедии с примерами и то полезнее будет.

ну понятно где ты учился.
учи матчасть, школьник...

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

если тебе не хватает 3-х управляющих конструкций для описания алгоритма

Если они замедляют выполнение алгоритма, то не хватает.

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

А они замедляют? А то оптимизатор в безготовой версии может каких-нибудь cmov понаставить, а в версии с гото не разобраться. Или делаем -O0 и всё оптимизируем ручками?

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

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

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

он видимо думает что

if error goto :error
some_work
goto :end
:error
error_handle
:end

сгенерит более быстрый код чем

if error error_handle
else some_work

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

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

Но если есть метки для циклов, то лучше пользоваться ими.

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

это было в ветке про трудность сей. раст не трудный, он неудобный.

bernd ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.