Мигель Охеда (Miguel Ojeda), автор проекта Rust-for-Linux, предложил для рассмотрения разработчиками ядра Linux выпуск v10 компонентов для разработки драйверов устройств на языке Rust. Это одиннадцатая редакция патчей с учётом первого варианта, опубликованного без номера версии. Включение поддержки Rust одобрено Линусум Торвальдсом для включения в состав ядра Linux 6.1, если не всплывут непредвиденные проблемы. Разработка финансируется компанией Google и организацией ISRG (Internet Security Research Group), которая является учредителем проекта Let's Encrypt и способствует продвижению HTTPS и развитию технологий для повышения защищённости интернета...Подробнее: https://www.opennet.me/opennews/art.shtml?num=57840
до сих пор не могу отойти от той новости о 6.1
Какой ранимый человек.
бедный, купи себе уже огнетушитель.
А вот как объяснить явление карбона который сделан гуглом как замена галимотье под названием раст ? (прим переведен)
Existing modern languages already provide an excellent developer experience: Go, Swift, Kotlin, Rust, and many more. Developers that can use one of these existing languages should. Unfortunately, the designs of these languages present significant barriers to adoption and migration from C++. These barriers range from changes in the idiomatic design of software to performance overhead.Итак, на замену чего сделан карбон?
Я раньше писал на другом языке, потом попробовал С++, я мне так понравилось. Клёвый язык. Сильно удобнее, чем то, что было.
Ещё расскажи, что ты выучил наизусть спецификацию из около 1000 страниц плюсов.
> Ещё расскажи, что ты выучил наизусть спецификацию из около 1000 страниц плюсов.Почти 2000 на самом деле. Но по языку не так много, 75% - это описание библиотеки (что в любом языке читают, если библиотеку используют). Учить наизусть не надо. Стандарт нужен, что бы в спорных случаях не спрашивать экспертов Опеннета, а найти там ответ.
О чём эта новость вообще? Ну хорошо, до официального объявления, имело некий смысл поддерживать интерес к статусу проекта. Но теперь же уже объявили, что будет в 6.1.Давайте мораторий на выход новостей о "Rust в ядре" до выхода 6.1?
Выйдет -- снимем.
врага надо знать в лицо
И время от времени трепать за нежные щёчки
Новость чтобы поддерживать местную публику в тонусе и напоминать что "раст близко!!11"
Последний абзац в новости - это что-то удивительное. Никогда такого не видел.
Ну дык... Такого языка, как Rust, человечество ещё не знало.
Самый безопасный абзац
Потому что чукча не читатель. :)
Сделали бы уже свой форк ядра и пихали бы туда свой раст
Вот да. Но не тут-то было - они приходят во все возможные существующие проекты и говорят "вы всё делаети ниправильно, давайте перепише всё на rust!!111"
Разработчики Tor'а подходят такие к зеркалу, смотрят в него и говорят: "вы всё делаети ниправильно, давайте перепише всё на rust!!111"
Вот да. Но не тут-то было - опеннет эксперты приходят во все возможные существующие новости и наваливают в комментарии "вы всё делаети ниправильно, давайте перепише всё"
Сделай свой форк без раста.
За что на этом форуме не любят rust?
Тут не любят всё и всех. Когда по делу сказать нечего и когда анонимус. Анонимов блокировать надо.
Не расстраивайтесь.
Думаете ваши или мои, ... суждения кому то нужны?Это форум, а все форумы - БАЗАР (и не более того).
> Это форум, а все форумы - БАЗАР (и не более того).Короче.
"Широка страна моя родная. Много в ней форумов и рек ..."
> Анонимов блокировать надо.Тогда это будет не опеннет
поздравляю, продемонстрировав собственную глупость, ты доказал, что анонимом блокировать не нужно
За то, что наркоманский синтаксис и кучу семантики железа втащено в язык типа высокого уровня. За то, что позиционируют Раст как язык высокого уровня -- в нём куча небезопасных возможностей.И самое неприятное -- именно за это: много булшита от маркетологов, много громких заявлений о переписывании того, что и так работает, и тупой копи-пастинг из новости в новость одних и тех же абзацев.
И всем здравомыслящим людям понятно: Раст -- это тупиковая ветка эволюции.
Хороших языков программирования нет.
Посмотрите на Алгол-60.
Он не намного хуже нынешних языков программирования.
Да новых ЯП то и нет.
Перекладывают из пустого в порожнее и говорят - это новый ЯП ...Вообще то лояльно отношусь к любому ЯП.
Пост о том, что с 1960 года ни каких новых идей по проектирования ЯП нет ...
> Пост о том, что с 1960 года ни каких новых идей по проектирования ЯП нет ...Ну а как Algol-68 ?
И ADA туда же
ЯП программирования помогают вести разработку алгоритмов, а для разработки алгоритмов нужно всего лишь
ряд управляющих конструкций.
Алгол-60 их имеет.
Ныне из ЯП делают - кофеварки ...
Алгоритмы к ЯП не имеют никакого отношения. Ты хотя бы Кнута почитай что-ли.
Я его наизусть знаю.
Любой код - алгоритм
>>> Любой код - алгоритмNOP
NOP
NOP
>>>> Любой код - алгоритм
> NOP
> NOP
> NOPВ IA32 опкод 90h на самом деле соответствует команде XCHG EAX, EAX. То есть NOP обменивает аккумулятор с самим собой.
> IA32 опкод 90h на самом деле соответствует команде XCHG EAX, EAX.
> То есть NOP обменивает аккумулятор с самим собой.IA32 наверное все знают, куда можно засунуть
Я не знаю. Но видел человека, который случайно сел на ВГ93. Только при чём тут это? NOP не только там так реализована.
> Я не знаю. Но видел человека, который случайно сел на ВГ93.Ж...а наверное долго болела? :)
>> Я не знаю. Но видел человека, который случайно сел на ВГ93.
> Ж...а наверное долго болела? :)Это зимой было дело, когда у нас мороз и одеваются соответсвующе. :) Он с радиорынка зашёл погреться и перед уходом обнаружилось, что потерял микросхему. Ну кто-то и пошутил «ты на нём сидишь». :)
> Я его наизусть знаю.
> Любой код - алгоритмАлгоритм имеет реализацию в коде.
Но далеко не весь код является алгоритмом. Когда котик ходит по клавиатуре с включенным IDE -- код есть, а алгоритма нет.
Значит ты знаешь только 2 языка.
Ээээээ, полтора
> это тупиковая ветка эволюции.то ли дело оберон))
Не использовал его.
Дя embeded систем ни каких заумных ЯП и не нужны.
Вполне достаточно словарного запаса Элочки
Пользуюсь брейнфаком, остальное не нужно.
> Пользуюсь брейнфаком, остальное не нужно.SUBLEQ попробуй, после брейнфака хорошо заходит. Заодно и проц сможешь на десятке транзисторов собирать. И черт с ним с синтаксическим сахаром.
>кучу семантики железа втащеноКакой семантики?
>позиционируют Раст как язык высокого уровняhttps://appfox.ru/upload/medialibrary/c98/image4.jpeg
А на самом деле rust что, если не язык высокого уровня? Ассемблер что-ли?>И всем здравомыслящим людям
Почему-то пока у вас не очень получается блеснуть здравомыслием
Не обращай внимание, чел оберонщик. Каковы они можно прочитать в соседней новости про кастрированную Qt
> Не обращай внимание, чел оберонщик. Каковы они можно прочитать в соседней новости
> про кастрированную QtОни по сути не программисты. Больше абстрактные математики и философы, практический результат их потуг их вообще не интересует.
Что за непонятная диаграмма? Твоя диаграмма это пруф? Почему си выше графы "высокоуровневый язык"?
Потому же почему и Фортран с Паскалем
1. наркоманский синтаксис
не более, чем в плюсах
2. кучу семантики железа
не куча, а чуть-чуть.
3. куча небезопасных возможностей
помеченных unsafe. Случайно ничего не отстрелишь.
4. много булшита от маркетологов
ха-ха, примеры в студию.
5. много громких заявлений о переписывании того, что и так работает
периписывании того, что без переписывания нельзя развить. В репах уже есть rg - установи и сравни с обычным grep, который уже дцать лет как "и так работает".
6. тупой копи-пастинг из новости в новость одних и тех же абзацев.
напиши умно сам или найми копирайтера
7. Раст -- это тупиковая ветка эволюции
А то, будущее за поездами, гружеными легаси-говном.
> 4. много булшита от маркетологов
> ха-ха, примеры в студию.На реддите, в разделе линукса, массово продавливали насильно раст.
Тогда к каждой новости писали "written on rust".
До этого никто и никогда не делал подобные приписки, т.е. ты открывал новость и не знал, на чем написана сей чудная прога.
Давили всяким редкостным шлаком, каждым минорным обновлением, и прочим булшитом, как я начал пользоваться programname written on rust.
Огромное количество хороших отзывов под такими новостями, шаблонные или скатанные с рассылки или заголовка из диса, ирки, жабы хрустов. Проверял каждый ник, люди подписаны ток на ржавого и отписываются ток в этих новостях.Это заметил не только я, там был целый демедж контроль на спидах от "written on rust".
Те же следящие тупо тогда собрали все комменты npc из под тех новостей за год и отсортировали, там огромное количество абсолютно одинаковых многословных сложноподчиненных предложений.И это еще не все.
>5.
rg не самый лучший греп.
Здесь всего несколько человек, с кем можно было поговорить о языке: Ordu, burjui и какой-то Аноним, написавший HelloWorld в несколько Кб на сисколах (под FreeBSD). Я даже одно время подозревал, что остальная масса наоборот сливает язык своими комментариями. Сравниваю их в рекламой дотнета - тогда было много тестов, примеров кода, даже написали компилятор Nemerle и полностью безопасную операционную систему Singularity.
Здесь люди странные и злые.
Я злой и нудный, я могу вечно тыкать в строку кода с ошибкой. Но здесь это не имеет смысла. Персонаж, у которого #define объявляет переменную - герой и ведущий разработчик операционной системы.
Это о ком идёт речь?
> Это о ком идёт речь?Объект фиксации и обсессии, ночной кошмар нуба, черный плащ! А заодно еще майнтайнер роса линукса чтоли.
О mikhailnov. Позже он заявил, что наконец выучил язык. Я поверил, я всем верю. Потом у него оказалось, что типизация в Си - строгая.У них там другой ещё есть, кто рекомендовал пользователю скопировать домашний раздел в каталог на другом разделе командой dd. Ну то есть так: dd if=/dev/sda2 of=/home
> На реддите, в разделе линукса, массово продавливали насильно раст.
> Тогда к каждой новости писали "written on rust".Хейтеры не перестают удивлять. Вначале слёзно просили указывать rust в заголовке чтобы пропускать посты с ним, а как стали добавлять стали рвать и метать, что упоминанием rust в заголовке теперь глаза мозолит. А вы не пробовали поразмыслить, что может это у вас что-то не так с восприятием Rust, а не у окружающих? Нет, же начинают строить теории заговора.
Всё вам везде хейтеры мерещатся.
> На реддите […] к каждой новости писали "written on rust".MGIMO finished какой-то, а не реддит.
функционал этого rg такойже? или обрезаный и поэтому он быстрый и не может ничего(подчти ничего)
Функционал можешь сравнить сам https://beyondgrep.com/feature-comparison/
Где-то есть одно, где-то другое.
> В репах уже есть rgИспользующий pcre2, написанную на C. Причем размер tar.gz архива исходников pcre2 в пять(!) раз больше, чем rg. Да и производительность тут больше всего зависит именно от скорости обработки регулярных выражений.
Итого, 13% кода и 5% функциональности на rust, остальное - на C. Чем хвалиться то?
>> ripgrep has optional support for switching its regex engine to use PCRE2.
>> PCRE2 support can be enabled with -P/--pcre2 (use PCRE2 always) or --auto-hybrid-regex (use PCRE2 only if needed).
> Использующий pcre2, написанную на C. Причем размер tar.gz
> *Пук-пук-пук*
> Итого, 13% кода и 5% функциональности на rust, остальное - на C.
> Чем хвалиться то?Очередным мощным вспуком очередного Воена Супротив Раста, который "не читал, но ..."?
> За то, что наркоманский синтаксисНеосилятор лайфтаймов? Предложи для них синтаксис лучше. Куда там, ты же увидел апостроф и испугался, даже не разобравшись что он делает.
> и кучу семантики железа втащено в язык типа высокого уровня
Это какой же?
Здесь всё не любят и постоянно оскорбляют разработчиков.
Самоутверждаются в собственных глазах.Скорее всего какой-то один, два тролля набрасывали глупости про rust и теперь все их повторяют, как попугаи
Аноним 15 вот пытается что-то набрасывать. Треть комментариев в к новости один тролль оставил
> За что на этом форуме не любят rust?лично меня его реклама задолбала. из принципа не использую то, реклама чего пробивается через мои блокировщики, в т.ч. посредством сми, как то: раст, нэтфликс, укомбинатор, элoн маркс и т.д.
считаю это инфоцыганщиной
> из принципа не использую то, реклама чегоВ шесть это нормально.
в шесть чего? потоков? часов утра? лет?
За то, что слишком навязчиво его везде проталкивают. Если бы раст естесственным образом распростанялся, то другое дело, но в данный момент очевидна активность некой группы подозрительных лиц, которые форсируют переписывание программ с си на раст.
За то, что и на lwn, комбинаторе и прочих профильных. Но методичка обязует унифицировать до небольшой группки, чтобы многократно понизить значимость недовольных в лице обывателя.
Думаю, на RUST взъелись излишне консервативные люди.
Это как с музыкой - когда был в моде рок, жаловались на него...
Проблема моды, а не проблем с тем или иным языком.
Все гораздо проще.
Имеются такие типажы характеров у людей, которым "все не так".
А Rust лишь "под руку" попадает
и вообще с этими нелюбителями раста всё не так. а раст - божественный
Но-но, божественная только сишка!
Ну и как любое божественное, оно непознаваемо в принципе... Поэтому ни сишке так никто нормально писать и не научился))
Вообщем дело было так."Упал UB на ковер. И запылал он как костер. Программа плохая была.
И комп выгорел дотла ..."
Ныне в ядре Linux по три миллиона строк в одном патче меняют?
Утрирую конечно, но изменений очень много?
Кто и как эти изменения тестирует и где эти тесты, ...?
Вся надежда на тебя.
Там две трети из них это декларации регистров для драйверов, которые автоматически генерируются.
Они однажды были сгенерированы. Удобнее же работать с осмысленными именами.
Уже факт того что этих патчей 10 версий, говорит о том что они занимаются фигней.
Толи дело зафигачить одним патчем 40kloc кода. Вот это было-бы сильно. Линус матом крыл-бы до следующего мажорного релиза, не меньше. А если не шутить, то это, как мне кажется, корректней назвать не версиями, а итерациями.
Нас обвиняют в необъективности? Я смотрел на раст и пробовал на нём писать. Его существование для меня безразлично. То, что предоставляет раст - концепция константности ссылок по умолчанию и контроль за единственной возможной изменяемой ссылкой в компайл-тайм не оправдывает перехода на него, вот и вся необъективность. Всё остальное, да и константность ссылок тоже, при желании, выполняется на С++ без извращений, с привычным синтаксисом. Что касается неопределённого и прочих поведений, то они легко элиминируются не использованием спорных паттернов. Пиши просто и понятно и не выёбывайся. Как написано в одной берестяной грамоте: "еби бабу лёжа". А уж С++ шаблоны, вычисления времени компиляции и всё что к ним относится по богатству возможностей (безопасных) не содержит ни один язык.
Хочешь бросить разработку - заведи женщину (и кота)
> при желанииОфигенно правильное уточнение! Оно объясняет просто всё в разработке на с++!
> без извращений, с привычным синтаксисом
Просто синдром утенка
> С++ шаблоны
вот что что, а шаблоны точно нельзя отнести к "безопасным возможностям"
не, ну для плюсовиков это норм, что шаблон можно вызвать передав в него что угодно и оно спокойно себе скомпилируется, а падать будет уже в рантайме и вываливать километры логов
> в рантайме и вываливать километры логовЯ конечно давно не писал на C++, но вы уверены что его rtl умеет в рантайме вываливать километры логов, вы точно не перепутали C++ с Java?
С++ говно, даже бог и создатель всего живого Линус Торвальдс про это говорил, говорит и судя по тому, что он не против раста, будет говорить. Вопросы?
То что для Вас палка в заднице (С++) удобнее палки в руке (Rust), это говорит только о необъективности. Если раст поможет быстро создавать программный продукт, который будет потреблять вменяемое количество ресурсов, то почему бы нет?Для остальных, кто извергает аргумент с привет_мир на 3 мегабайта, уже все показывали, что бинарники весят так же, как и на Сях.
Просто когда поднимался вопрос про плюсы он был тем еще нердом. Плюсы были старые и ничего кроме бесполезных для системщины классов не давали. Современные плюсы совсем другие и имеют кучу преимуществ помимо классов.
Сейчас линус больше руководитель и компромиссер, а его излюбленная стратегия в спорных ситуациях "выпускайте обоих, выживет сильнейший". Кроме того возможно его поставили перед фактом что без поддержки раста некоторые компании захотят сделать свой линукс с растом (это мои догадки не имеющие никаких доказательств) и боюсь старая гвардия с их почтовыми рассылками не потянут маркетинговую машину гугла (например кубернетес и докер протащили) и мелкомягких (гвидо и поттеринга например захантили).
> Если раст поможет быстро создавать программный продукт, который будет потреблять вменяемое количество ресурсов, то почему бы нет?Проблема в том что это не будет "не хотите - не используйте". Само ядро собираться будет, а вот куча софта от гугла без этих модулей не запустится. Придется тащить раст в систему и сталкиваться с кучей ненужных проблем ради мифического профита. Канонинклы и ibm сделают это дефолтом и прощай легковесные и элегантные системы. Кроме того это очередной рычаг на линух от корпораций, которые стоят за растом. В итоге раст либо угробит ядро, либо про него забудут через N лет. Увы, раст в основном это маркетинг, он далеко не та серебрянная пуля за которую его выдают, а то что он реально добавляет не стоит той цены что он требует.
Ну и для молодежи напомню что лет ~15 назад была точно такая же ситуация: пришел гугл со своим андройдом и начал заливать в уши что си это ненадежно и надо непременно безальтернативно писать на джаве (тогда ndk не было и вроде андройд на смартфонах был только в проекте и замечу что та джава очень сильно отличалась от популярной в то время J2ME), вот он супербезопасный и избавит от всех проблем (не помню был ли тогда айфон, в любом случае он не афишировался и это никого не смущало). Тогда тоже звучало что производительность волшебным образом сравняют. Тогда тоже писали что вся проблемы существуют только потому что не используют джаву. Проходит еще десятка лет и у меня до сих пор волосы дымом встают от безопасности андройда. С растом похоже будет такая же история.
> а вот куча софта от гугла без этих модулей не запуститсяну так не используй софт от гугла, делов-то
> прощай легковесные и элегантные системы
эм... ты точно про ядро линукса говоришь?
да в чем проблема если gcc станет поддерживать еще один язык? он сильно потяжелеет?
Такое впечатление, что все идет по такому сценарию - "Я Linux создал, я его и разрушу"
На свете что-то кроме Раста существует?
дырявая сишка и разжиревший с++
Зигланг маленький, красивый
В котором ручное управление памятью и оттого не нужный - ибо уже есть сишка?
nim
Ещё один "Си-я-знаю-как-надо". Проблема в том, что индустрии не нужен ещё один Си. Нужно что-то революционно повышающее скорость разработки и поддержки БОЛЬШИХ проектов.
Rust - вполне терпимый язык. Хрень конечно, но например PL-1 был гораздо хуже. Основная неприятность в расте - сообщество его разработчиков. Именно поэтому писать на нем невозможно, т.к. когда тебе мозг выносит жена - это как-то оправдано, а когда какие-то левые джуниоры пытаются заниматься мозголомством, то ну их на фиг. И раст с ними.
Ерунду ты какую-то написал. Как раз в коллективе Rust-разработчики обычно самый вменяемый народ. Потому что освоение этого языка не самое простое дело и требует особой мотивации, то есть отбираются думающие, самостоятельные люди, как правило, с опытом Си, C++ или Go - познавшие всю боль плохих языков.
Всячески поддерживаю данное высказывание. Много пипла свалило с плюсов, сишки, голянги на раст в виду изящной компактности последнего языка. Действительно буквально все концепции этого языка представляют собой в сумме монолитное граммотно спроектированное строение, и в итоге весь язык легко умещается в голове человека. Для думающих компетентных людей данный язык вызывает явный интерес. Среди растоманов нет случайных людей, язык отпугивает проходимцев своей кажущейся сложностью, которая на поверку оказывается мнимой. Язык открывает большие возможности, если месяца три-четыре неустанно пробивать защиту от псевдопрограммистов.
Это они ещё Ди не видели :)
И не увидят. Кому нужно смотреть на язык, который до сих пор не может решить со сборкой он мусора или без, когда для тех кому нужен gc есть Go, а для тех кому нужно без gc есть rust?
Ну не знаю PL/1 норм был язык. Такой Франкенштейн из КОБОЛ и ФОРТРАН. Писать на нём было удобно (но не драйвера конечно и низкоуровневые протоколы). Компилятор с него был ужасен. А так вполне себе для своего времени. Слишком избыточен, но можно писать на "своём" подмножестве.
На форумах бесполезно кому-то что-то доказывать.
Когда программист разработку не ведет, то у него остается лишь одна отрада - форум.Сегодня вот разговорился потому, что разработка хорошо продвинулась и в качестве отдыха вот "форумчу" ...
Сочиняй тут, конечно, разработчик
>Сегодня вот разговорился потому, что разработка хорошо продвинуласьСтранно думать какое место ты там себе разрабатывал
Быстро ржавчина пожирает ядро, ох не к добру это...
Замечательный язык, 10 попыток нужно чтобы написать вменямый код
> 10 попыток нужно чтобы написать вменямый кодДак он ещё не дописан... Будет, как с редохом.
Вот потеха будет, когда каждый драйвер на расте так же приниматься будет, или просто забьют разбираться в этой лапше и будут принимать в ядро как есть. Может в этом план спецслужб? Напихать в ядро малочитаемый код с бэкдорами
Это для вас нечитаемый. Хотя... как будто вы код дров сейчас читаете...В си бекдоров напихать намного легче. Там на null не проверил, тут входящий индекс не проверил, а там дважды free вызвал, но в очень редком случае. И все - бэкдор живет годами, а тыщщщи глаз смотрят куда-то не туда.
А тут нужно ансейфы городить, придумывать отмазку для ревью зачем оно там вообще нужно... Да еще и падать может при такой критической ошибке - просто жесть какое палево по сравнению с молчаливым получением рута!Может против раста как раз всякие майоры и анбешники? Это же насколько усложнит работу!
Бред не пишите. Раст защищает только от одного типа ошибок. А миллион других типов ошибок остаются. И чем сложнее код, тем труднее найти в нем логическую ошибку. Программа на расте целиком состоит из попыток угодить компилятору, в итоге даже простой алгоритм превращается в нечитаемую лапшу
Конечно только от одного типа ошибок. Которые крайне распространенные и их очень сложно находить. Я не просто так перечислил именно такие примеры. Кроме того, в си так и будет N+1 тип ошибок.
А от логических ошибок не защищает практически ничто))> целиком состоит из попыток угодить компилятору
У рукожoпов, которые пытаются на нем писать тупо как на си
> даже простой алгоритм превращается в нечитаемую лапшу
Вы просто читать не умеете. Кому-то и APL был нечитаемой лапшой...
Конечно только от одного типа ошибок. Которые крайне распространенные и их очень сложно находить - не согласен.
1. В rust есть какая-никакая защита от кривого заимствования.
2. В rust есть какая-никакая защита от переполнений и.т.д, хотя бы в дебаге увидишь.
3. В rust есть cargo, которая позволяет как-то помочь с ошибками оркестровки.
В других языках это решается сторонними утилитами. Соответственно встроенная защита есть сходу как минимум от 3, на деле от большего числа ошибок.И да - rust позволяет избегать самых простых и скорее малораспространенных ошибок. Самые частые ошибки - ошибки в алгоритмах.
> rust позволяет избегать самых простых и скорее малораспространенных ошибок.https://cwe.mitre.org/data/definitions/1387.html
Out-of-bounds Write - (787)
NULL Pointer Dereference - (476)
Use After Free - (416)
Integer Overflow or Wraparound - (190)
Out-of-bounds Read - (125)Кроме overflow, это все проблемы с памятью.
Да, логические ошибки там тоже есть (Server-Side Request Forgery (SSRF)(918))
И куча просто раздолбайства типа Missing Authorization(862) или Use of Hard-coded Credentials (798)Но писать что это самые простые и малораспространенные... Это как минимум странно.
По крайней мере в контексте безопасности, а не корректности.
На самом деле, это ярлык аутиста. Не используй подобное в качестве аргумента в пользу чего бы то ни было.
Тут речь не вообще, а в частности о ядре. А там именно таких ошибок мало. И раст там не нужен.
> Integer Overflow or Wraparound - (190)Нюансик в том что Rust от этого не защищает. Только в дебаг режиме, но так и ubsan умеет. С теми же граблями: код жирнее и медленнее.
Нюансик в том что signed integer overflow для Си это undefined behavior и фиг знает что произойдет.
А для раст signed integer overflow is specified to wrap as two’s complement.
если ты баран то то все ровно какой тебе инструмент дать, все ровно будешь рогами об забор биться. если ты человек то ты реализуешь задачу тем инструментом, который по максимуму гибок и проверен временем. так что иди пасись.
Рукожопов, которые не могут понять что он них хочет раст, на пушечный выстрел к программированию на С подпускать нельзя.
Зато можно подпускать к Ди
ImportC и другие инструменты позволят использовать Си либы
А плюшки рейндж из стд и нормальных шаблонов покорят вас навсегда
Вы не сможете потом писать на чем-то другом
Программа на расте целиком состоит из попыток угодить компилятору - Вы можете спокойно себе написать библиотеку, с которой согласны и ее использовать.Для комфортного программирования на rust Вы можете использовать unsafe функциональность. Там и указатели, и transmute как нравится, и можете спокойно malloc использовать заместо box и.т.д. Сохранить привычные устои забив болт на рекомендации.
простой алгоритм превращается в нечитаемую лапшу - может громоздким стать - да, но нечитаемым делает его именно программист.
Легче на раст забить при таком подходе
Ты же не пишешь ничего, тебе должно быть все равно, на чём написана программа.
На чём у умел программист, на том и написал, а ты только потребляй и грубости в комментарии пиши
Раз ничего хорошего сделать не можешь
Для вас что угодно нечитаемый код, просто потому что вы не умеете ни на чём программировать.
Совсем слабенький тролль
>Замечательный язык, 10 попыток нужно чтобы написать вменямый кодИменно так работают компиляторы хороших идейных языков - Раста, Хаскеля... Бьют по рукам программиста, заставляют писать правильно, а не как попало.
Покажи пример правильного UI на расте
Мейнстрим ничего плохого не сделает. Хватит звиздеть про расты пульсы и системды. Все отлично в результате получается.
Спасибо за Бета-тест, но это уже устарело ⚰️
Приступайте к бетатесту pipewire и Boot Configuration Data 🪟
pipewire очень даже неплох, на него можно переходить
Я запускаю бэктреки в ютуб в файерфоксе, он играет по маршруту пульса - джек. И играю одновременно сольники на гитаре через джек. Все работает как часы. Вообще конфета. За что ругали Поттеринга? Все продумано, все работает.
> Я запускаю бэктреки в ютуб в файерфоксе, он играет по маршруту пульса - джек. И играю одновременно сольники на гитаре через джек. Все работает как часы. Вообще конфета. За что ругали Поттеринга? Все продумано, все работает.Ну так никто же не отнимает. Но, в принципе, pw делают с упором на прозрачную замену и пульсы и джека. Так что, хотя-бы ради эксперимента, можно попробовать. Вполне возможно, что связка и не понадобиться и всё будет работать в рамках единого решения.
К слову, скорей всего, после плавного переползания мейнстримных дистров на pw (интерес к чему, как я понимаю, есть, благодаря возможности прозрачно заменять пульсу, и вообще много чего вкусного несёт), FF научится в него напрямую. И пульса не будет нужна в данном конкретном случае, от слова вообще.
Пробовать пока никак, мои программы еще не поддерживают pw. Так что будет он, будем им пользоваться, делов то.
А вот интересно, в BSD они тоже лезут со свои растом или только Linux хотят развалить?
А зачем мейнтейнерам ядра линукс лезть в БСД?
"Мейнтейнер ядра" Miguel Ojeda кроме как пропихивание раста что-нибудь для ядра делает?..
Тебя в гугле что ли забанили?
Прямо первая же ссылка https://ojeda.dev/Linux Kernel
R̶u̶s̶t̶ ̶f̶o̶r̶ ̶L̶i̶n̶u̶x̶ ̶p̶r̶o̶j̶e̶c̶t̶ ̶—̶ ̶W̶e̶b̶
Compiler attributes maintainer — Tree
Auxiliary display drivers maintainer — Tree
.clang-format maintainer — Tree
Одним словом, типичный диверсант.
Потом он уйдет работать как Потный пацан в Майкрософт?
>>десятая версияСколько ещё версий нужно, чтобы исчезли все уязвимости в линуксе?
Версий патчей для ядра Linux с поддержкой языка Rust? Бесконечно много, ибо эти патчи сами по себе ни одну уязвимость не устраняют. Уязвимости устраняют патчи для уязвимого кода.
Они были и будут потому, что архитектуры всех процессоров не умеют верифицировать данные и данные для них - машинные команды и байтики.Поэтому уязвимости будут всегда
Отличный язык для прототипирования! Низкоквалифицированные люди пишут черновики функционала, которые квалифицированные инженеры смогут переписать на Си быстрее чем с нуля разрабатывать
> Низкоквалифицированные люди пишут черновики функционала, которые квалифицированные инженерыНу да из ГК, профессионалы будут делать конфетку.
Скажу вам по секрету хорошего API очень мало.
К примеру API Microsoft для работы с строками больше на лабу похоже.
Если бы профессионалы разрабатывали, то он был бы совсем иной.
К примеру replace у Microsoft это лабище.
Да разве только replace ...
чтобы пересобрать свежий раст и карго нужно 100 гигов места на диске (при учете что llvm и др. компоненты свежие) и несколько дней работы компьютера...это какой-то адъ...
да я ведро 10 раз пересоберу за это время...
И как всегда без пруфов)) Впрочем, тут ожидать чего-то другого просто глупо...А ты точно ведро пересобираешь? Его сборка требует ~12G оперативы и больше 150Гб места https://groups.google.com/g/android-building/c/5G2l5JR3jWE
> И как всегда без пруфовкакой тебе пруф?
вот я могу написать вывод команды du для cargo-0.57...
дак ты же скажешь, что я нолик приписал к выводу или типа того...
> дак ты же скажешь, что я нолик приписал к выводуя еще не настолько разуверился в людях
вот щаз прям собираю этот карго-0,57, конец сборки еще не виден, а уже на диске 14,7 гигов сожрано... сколько оно в итоге займет... хз...
> А ты точно ведро пересобираешь? Его сборка требует ~12G оперативы и больше
> 150Гб места https://groups.google.com/g/android-building/c/5G2l5JR3jWEЯдра? Да вы упрлс, я его на ноуте с 2 гигами билдил и весь диск на 200 гигз. Ну да, медленно. И включать все и вся в такой конфиге или билдить дистрибный кернел конечно не рулит, медленно. Но если не борзеть с числом потоков то прокатит.
А если у вас 64 ядра или сколько там чтобы 12 гигз реально жрало - так и опратиыки под стать ставьте, зачем вам куча ядер не обеспеченных оперативой и остальными ресурсами?
Ты наркоман что ли? Вообще читать разучился? Где там ядро? Или нужно побыстрее в коммент нaсрать, а читать это не обязательно?
У меня на 5950x c 32 ГиБ ОЗУ где-то час собирается.
dev-lang/rust
Installed versions: 1.62.1(stable/1.62)^t(21:15:36 08/25/22)(clippy nightly rls rust-src rustfmt system-llvm wasm -debug -dist -doc -miri -parallel-compiler -profiler -system-bootstrap -test -verify-sig ABI_MIPS="-n32 -n64 -o32" ABI_S390="-32 -64" ABI_X86="32 64 -x32" CPU_FLAGS_X86="sse2" LLVM_TARGETS="AMDGPU RISCV WebAssembly X86 -AArch64 -ARM -AVR -BPF -Hexagon -Lanai -MSP430 -Mips -NVPTX -PowerPC -Sparc -SystemZ -XCore")sys-devel/llvm
14.0.6-r2(14)^t(21:01:17 08/25/22)(binutils-plugin libffi ncurses -debug -doc -exegesis -libedit -test -verify-sig -xar -xml -z3 ABI_MIPS="-n32 -n64 -o32" ABI_S390="-32 -64" ABI_X86="32 64 -x32" LLVM_TARGETS="AArch64 AMDGPU ARM AVR BPF Hexagon Lanai MSP430 Mips NVPTX PowerPC RISCV Sparc SystemZ VE WebAssembly X86 XCore -ARC -CSKY -M68k")
https://habr.com/ru/news/t/690656/ Учёные-физики из России разработали эмулятор 34-кубитного квантового компьютера на языке RustИспользую C++ как а-ля Си.
Template, ... и все навороты стандартов не использую.
Зачем простые алгоритмы делать не readable?Не понимаю зачем некоторые программисты выбирают сложные пути для решения простых задач.
>Использую C++ как а-ля СиИ что? Наслаждайся своим утёнком сколько хочешь.
Видим первую же строчку:
#include <qsim.h>
Это Rust?Киньте в меня камень, если это Rust;
vector<qbit> q;
q.push_back(qbit::ZERO());
М... а с каких это пор из си нельзя вызывать код либ, написанный на других языках?
Открой первоисточник и прочитай https://arxiv.org/abs/2209.11460
=Использую C++ как а-ля Си.= Испокон веков так многие программисты и советовали - пиши, как на С, надо классы - подкидывай с умом. Плюс один вам (:
Ну ребят. Си был создан в 70е года прошлого века. Ему 50 лет. Надо же когда-то будет перейти на что то новое.
А колесо много раньше
Ну можешь и дальше на деревянных колёсах ездить.
Тем не менее ничего лучше Си до сих пор нет! Надо учитывать, что во времена, когда Си создавался, компы были слабыми, в сравнении с нашим днем, и памяти было мало. Следовательно, был создан язык, который отлично работает с памятью и железом. Раст в Линукс пихают не потому, что он лучше. Расту до Си далеко.
>ничего лучше Си до сих пор нетХрена себе заява. К Си была масса претензий с самого начала, но он победил, как и Питон сейчас, по принципу "популярно только говно".
На самом деле у Си есть минусы, но все равно ничего лучше Си до сих пор нет. А вот эти все претензии о "небезопасной работе с памятью" ни к Си адресуются, а к программистам.
>все претензии о "небезопасной работе с памятью" ни к Си адресуются, а к программистамСамый тупой аргумент. Программист, который не хочет переложить на программу рутинную работу — плохой программист.
Это не рутинная работа, а собранность и внимательность. Если хочешь программировать левой ногой, потягивая смузи - добро пожаловать в мир Java и других высокоуровневых языков, которые "прощают ошибки". А Си, как и создаваемые на нём программы, требует глубокой сосредоточенности и чёткого понимания что ты делаешь.
Лажа в том, что за ошибки "настоящих" погромистов приходится расплачиваться не им.
А насколько они "глубоко сосредоточены и чётко понимают происходящее" мы видим практически в каждом срочном багфиксе ядра. Прекратите гнать эту пургу.
И что, обнаруженные в ядре ошибки привели к каким-то катастрофическим последствиям? Вроде нет - весь Инет под линуксом крутится, миллионы промышленных и бытовых устройств, суперкомпьютеры. Так что не надо тут на "настоящих программистов" гнать.
Си - это фундаментальный язык программирования, созданный великими учёными, гениями инфомационных технологий, он вне времени - классика бессмертна.
Многие разработчики ЯП не понимают по существу что должен уметь ЯП и поэтому создают кофеварки
Суждение не о том, что API содержит ошибки, а о том, что оно часто и густо разработано не оптимально.
И не стесняются однако публиковать
Скорее всего вы правы.
ИМХО разработчики Си создали хороший язык для системного программирования.Ныне некоторые скажут "А чем он хорош?".
Что им ответить ...
Синтасис ПРОСТ, в нем есть 3 столпа структурного программирования и рекурсия, все больше ничего лишнего нет. Изучая Си сменилось огромное количество поколений поєтому код ЧИТАБЕЛЕН. Нет ООП поєтому код ПРОЗРАЧЕН. Язік МОЩНИЙ потому-что позволяет делать все что угодно.
> созданный великими учёными, гениямине подскажешь, кто придумал функцию gets?
>Надо же когда-то будет перейти на что то новое.Надо, но на что-то хорошее и это хорошее не Rust. Одного только "безопасная работа с памятью" в 202x недостаточно.
Трусы надевают старинным методом с момента их появления.
Тебе пора уже начать делать это через голову!
Не радует то, что многий API написан не профессионалами.
Исходники run-time Microsoft для C++ являются хорошим примером.
>Использование Rust для разработки драйверов позволит с минимальными усилиями создавать безопасные и более качественные драйверыээ, в чём проблема создавать безопасные драйверы на сях?
>качественные
скорость, то бишь производительность уже неважна?)
пусть и тормозит сильнее чем дрова девайса на винде,зато написан на Rust!?
>Так и быть - создавай и демонстрируй.так они уже есть на C.
где твой аналоговнет на расте?
>>> > ээ, в чём проблема создавать безопасные драйверы на сях?
>>Так и быть - создавай и демонстрируй.
> так они уже есть на C.Т.е. очередной уважаемый эксперт опеннета считает, что все дрова уже написаны и их просто из вредности не выкладывают заранее? Яснопонятно.
> в чём проблема создавать безопасные драйверы на сях?проблема что на си никто писать не умеет
даже самые опытные метры ядростроения раз в год, но выстреливают себе в ногу