Кристоф Хелвиг (Christoph Hellwig), мэйнтейнер подсистем DMA, KVM, Slab Allocator и архитектуры PowerPC в ядре Linux, принципиально отказавшийся принимать в ядро Rust-обвязки для подсистемы DMA, подключился к обсуждению правил сопровождения Rust в составе ядра, опубликованных проектом Rust for Linux. По мнению Кристофа подобные правила бесполезны, пока они не согласованы с сообществом и не включены в документацию к ядру...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=62748
одни плюсы от внедрения, лудитов за борт
Внедряют не плюсы, а ржавчину
в ржавчине больше плюсов, чем в плюсах
> в ржавчине больше плюсов, чем в плюсахкогда в хрустище завезут ООП плюсы можно смело закапывать будет
Не, как раз таки по моему мнению это и делает Раст выгодным, ООП это минус в сторону крестов
Согласен. На Си без классов пишут. На Rust классов нет, но есть трейты и строгая статическая типизация. Так что это плюс и от С и от C++. ООП не серебряная пуля.
Но прикладной софт промышленного уровня без ООП никто вам сейчас писать не будет (финансы, бизнеспроцессы всякие). Так что, пока что там Java, С++.
ООП лет пять уже не в моде в этой области. В моде подходы пришедшие из ФП.
Это и называется считать ООП серебряной пулей. Или нельзя написать бизнес софт без Enterprise FizzBuzz шаблонов разработки? В разработке большого и долгоживущего бизнес ПО главное стабильность, для чего используется статическая типизация из языка, чтобы простой рефакторинг не сломал весь проект. Статическая типизация есть не только в ООП языках. Просто обучающие выросшие на Java других парадигм не знают. Этим и отличается от прототипов в RAD подходе, которые пишутся на языках, даже на JavaScript. Да и даже тут уже придумали TypeScript.
> По словам Кристофа, в личной беседе Линус Торвальд заявил, что он твёрдо намерен принять в ядро Rust-код, несмотря на возражения мэйнтейнеров.Как я понял, Линус медленно, но верно превращается в Палпатина. Все чаще действует в серию, все чаще воплощает свои планы, никого не спрашивая.
я тебя умоляю, always has been
А зачем спрашивать? Это требование от важных шишек.
В то время как джедай Ричард всё никак не допилит свой хурд-световой меч и, кажется, даже уже не стирает свои джедайские колготки.
У Ричарда есть сейчас задачки важнее.
Да ладно тебе, борцы за свободный софт вдруг поняли, что "добродушный пожизненный диктатор" это не про демократию?
Вообще это хорошо. Пусть на локальном примере люди начнут понимать, почему возможность выборов, даже плохая, лучше, чем такие "самородки".
> одни плюсы от внедрения, лудитов за бортХипстеры со своей драмой и баззвордами - уже запарили. Воплей много, толку хрен - куча полурабочей дряни за это не считается. Начиная с asahi linux который - какой-то кривой выкидыш по жизни, на правах третьего сорта и заканчивая servo и прочими сбитыми летчиками, у которых уже команду уволили нахрен.
И еще вечное "скачайте ночнушку", чтоб билд был совсем уж рокетсайнсом.
> Хипстеры со своей драмой и баззвордами - уже запарили.К счастью на твое мнение всем плевать)
> И еще вечное "скачайте ночнушку", чтоб билд был совсем уж рокетсайнсом.
О, опять ты (с)
Откуда такое т№№№е со сказками по ночнушку выползло?Вот тебе пример из Андроида (это те программисты, которые are doing the work)
https://source.android.com/docs/setup/build/rust/building-ru...
Четно зафиксирован edition
edition defines the Rust edition to use for compiling this code. This is similar to std versions for C and C++. Valid values are 2015 and 2018 (default).Для дундуков объясню, что это примерно как зафиксировать версию СИшки на С89 или с11.
> К счастью на твое мнение всем плевать)Два часа за мной бежали чтобы это сказать? :)
> Откуда такое т№№№е со сказками по ночнушку выползло?
Там хрустиков прямо в этой рассылке в очередной раз ткнули на эту тему. Прикольные фигурные отмазки начались, мол, это другое. Почему-то двойные стандарты из господ лезут. Проблема только в том что работать с господами с двойными стандартами - весьма такой себе опыт.
А по делу есть что сказать?
Ну кроме бредовы выпердышей про ночнушки?
> пример из Андроида (это те программисты, которые are doing the work)почему это убожество просто не заменили фуксией где раст из коробки?
>> пример из Андроида (это те программисты, которые are doing the work)
> почему это убожество просто не заменили фуксией где раст из коробки?Потому что драйвер на игого почти не тормозит, а уж как на хруст перепишем - весь мир будет у наших ног. По версии местных адептов этой фигни.
Мир правда так и не захватывался, не понимая зачем надо тормозной глючный драйвер FAT и систему с ним. А потом и менеджмент перестал понимать на что бабки тратят, раз отдачи фиг. Да и децимировали тиму. И теперь планы по захвату мира ограничены парой фоторамок.
Android - это где гугловские рукожопы написали свою версию libc на плюсах и сломали поведение всех libc функций так, что единмтвенное что там (кое-как) можно использовать - это memcpy? "Очень интересно" послушать мнение людей, которые проблему решили не решать, ага.
У Раста нет спецификации. У Си она есть, и реализаций тоже несколько. Если один из компиляторов неожиданно "двинет коней" и его забросят, другой компилятор позволит поддерживать код на сишке, насколько бы она убогой не была.
> У Раста нет спецификации.Есть. Называется RFC.
Как показала практика - их достаточно чтобы, например, сделать интернет.> У Си она есть, и реализаций тоже несколько.
А толку, если:
- они могут быть несовместимые
- есть всего 2 (ДВА!) компилятора которые собирают ядро.> Если один из компиляторов неожиданно "двинет коней" и его забросят,
Во-1х на расте есть не один компилятор.
Во-2х если таки помрет, то что мешает форкнуть и продолжить разработку?> другой компилятор позволит поддерживать код на сишке,
Напомню еще раз, что у нас их всего два)
А сторонние компиляторы могут давать "побочные" результаты.> насколько бы она убогой не была.
10 убогостей из 10ти)
> Хипстеры со своей драмой и баззвордамиGreg KH уже за 50+.
Главное, ребята, сердцем не стареть (c)Может Грег тоже просто молод душой)
Открыт к новым идеям и не боится экспериментов.
Не всем же быть занудными закостенелыми дидами, которые как выучили С89 много лет назад, так и пишут.
Greg KH писал вот это:
As someone who has seen almost EVERY kernel bugfix and security issue
for the past 15+ years (well hopefully all of them end up in the stable
trees, we do miss some at times when maintainers/developers forget to
mark them as bugfixes), and who sees EVERY kernel CVE issued, I think I
can speak on this topic.The majority of bugs (quantity, not quality/severity) we have are due to
the stupid little corner cases in C that are totally gone in Rust.
Things like simple overwrites of memory (not that rust can catch all of
these by far), error path cleanups, forgetting to check error values,
and use-after-free mistakes. That's why I'm wanting to see Rust get
into the kernel, these types of issues just go away, allowing developers
and maintainers more time to focus on the REAL bugs that happen (i.e.
logic issues, race conditions, etc.)
Сначала про ошибки говорит "that are totally gone in Rust", а потом - "not that Rust can catch all of these by far"
> Может Грег тоже просто молод душой)
> Открыт к новым идеям и не боится экспериментов.Или в маразм начал впадать ;) Симптомы зачастую совпадают, знаете ли. Потому что причина практически одна и та же: у одних мозги ещё не работают, у других - уже не работают.
>> Хипстеры со своей драмой
> Greg KH уже за 50+.Когда kernel-программист изучает Rust -- в сообществе Rust-программистов становится на одного профессионала больше.
Когда Rust-программист приходит коммитить в ядро -- в сообществе kernel-программистов количество профессионалов не меняется.
Впору перефразировать известное.
Когда раст-программист уходит из ядра в раст-проекты - повышается средний уровень специалистов в обоих сообществах.
> Когда раст-программист уходит из ядра в раст-проекты - повышается средний уровень специалистов в обоих сообществах.Сделал мой день! Спасибо! =)
>Когда kernel-программист изучает Rust -- в сообществе Rust-программистов становится на одного профессионала больше.
>Когда Rust-программист приходит коммитить в ядро -- в сообществе kernel-программистов количество профессионалов не меняется.Да ну, это ерунда. Я вырастил двух ядерных программистов из джунов и они ничем не отличаются от любых других джунов, кроме сферы интересов.
> Я вырастил двух ядерных программистов из джуновМы с большим удовольствием на них посмотрим. Покажите.
>> Я вырастил двух ядерных программистов из джунов
> Мы с большим удовольствием на них посмотрим. Покажите.Не буду я никого на опеннете показывать.
Сколько бы вы не минусовали этот коментарий - реальность не поменяется. Правительство США призывает отказаться от небезопасных языков!
Будущее за растом!
Вы хотя-бы пробовали его изучать? Такое ощущение, что этот язык проектировали люди, которые не дружат с головой. Любое нетривиальное действие тут превращается в разгадывание сложнейшего ребуса.
> Вы хотя-бы пробовали его изучать?Да, и даже код пишу.
> Такое ощущение, что этот язык проектировали люди, которые не дружат с головой.
"Ощущения" не могут быть адекватным мерилом.
> Любое нетривиальное действие тут превращается в разгадывание сложнейшего ребуса.
Странно.
А что за действия такие?
Тут был один который хотел циклически переписывать память одновременно с нескольких потоков, но это был явный изврат.
>Тут был один который хотел циклически переписывать память одновременно с нескольких потоков, но это был явный изврат.В СУБД такое сплошь и рядом.
>Правительство США призывает отказаться от небезопасных языков! Будущее за растом!Если бы ты был чутка взрослее ты бы знал что оно уже лет 40 как призывает :) Мы вообще то лет 35 уже должны были жить в счастливо с языком Ада :)
Но вот как то не взлетело, то ли ёзык, то ли осёл, то ли правительство не той систему :)
Платный компилятор же. А так недавно что-то Nvidia делала со Spark.
Менеджмент уровня "Бох!" - несколько людей потеряли, официально "да" и "нет" не сказали, на всех участников поклали, но неофициально - как ГЛАВНЫЙ решит, так и будет.
Не то, чтобы в этом было что-нибудь нового - но забавно.
Вечная проблема любой иерархии.
> Вечная проблема любой иерархии.Эээээ... да вот вообще "нет" - настолько "нет", что просто НЕТ.
Любой реальной иерархии, а не воображаемой.
> Любой реальной иерархии, а не воображаемой.Вот не поверишь - за 20+ лет в IT до условного ГЛАВНОГО доходили (Всякую "защиту бюджета ИТ" в рамках операционной деятельности понятно, не считаем), не соврать бы, полтора раза - и то не по тому, что "Петя с Васей договориться не смогли, зовем ГД чтоб рассудил!", а по тому, что решение "хороним проект и подаем в суд на подрядчика, или бьем на доп. этапы\сдвигаем сроки?" без управляющего совета, включающего в себя в том числе членов правления (И то - нифига не Миллера-Конова-Вагнера, а "минус один" примерно) никак - ну вот в их зоне ответственности вопрос.
А так, чтобы условный "ГЛАВНЫЙ" на эту эскалацию ну вот хотя бы "рабочую группу" с набором задач\сроками\ответственными не организовал а ну... вот... отмолчался бы - так и не слышал даже.
Ну тут на самом деле обычно одно из двух - либо "главный" вообще не в курсе что творится и часто это отражается на динамике и качестве развития решений, либо напротив главный вовлечён и ключевые решения хочет или нет, но принимает он. На деле это вопрос ответственности - если решения ничего не значат, то и ответственность минимальная, если ответственность потенциально меняет проект до неузнаваемости(вынуждает содержать дублированную кодовую базу, усложняет синхронизацию и сегрегацию разработчиков как в случае RustForLinux), то эту ответственность стремятся скинуть на любого, кто решиться занять пост главного. На деле же с учётом того трения которое RFL вызывает в сообществе разработчиков ядра кмк на линуса давят сверху корпорации, ибо в сообществе голосов против сильно больше чем голосов ЗА, но корпорации в виду своих интересов ЗА, поэтому и Линус вполне себе может быть не против... невольно.
Дело не в том, кто тут главный, а в том что отсутствует регламентация процессов и разграничение зон ответственности.
Систему менеджмента качества и управления бизнес процессами не просто так придумали.
iSO 9000 наше всё.
Без иерархии, я думаю, ядро бы уже давно развалилось.Хотя, да, в СПО очень любят жесткую руку где-то в районе таза.
Всякие диктаторы (великодушные и пожизненные), хамство и мат, показывание разных пальцев, фуppисьюты...
> Всякие диктаторы (великодушные и пожизненные), хамство и мат,
> показывание разных пальцев, фуppисьюты...Как показал пример FreeBSD - без этого еще хреновее получается. Никто ни за что не отвечает, проект в состоянии саботажа, девелоп сводится к освоению гранта методами гангстера пилившего балки, когда на 750 штук грина - копируют из линя (!!) пару дров и пишут отчеты. Интересно, а что бы эти лузеры делали если бы вон тех не существовало?
Да, кстати - им таки - сюрпризов подвалит с дровами на хрусте.
> Да, кстати - им таки - сюрпризов подвалит с дровами на хрусте.Вот пример еще одного саботажа сообщества Linux для проекта FreeBSD.
Все сторонники раста в ядре - это ярые противники BSD.
#trollface
а линус за что вообще отвечает если так прикинуть, т.е за что его могут сходы выкинуть из конторы в плане этапов доработки ПО ?
Там, если посмотреть, и бюджеты в 50-100 раз различаются( у фряхи годовой бюджет 1-2 млн зелени )Вот чего линь сделал такого нереального на 100 млн зелени за год ?
> девелоп сводится к освоению гранта [...] на 750 штук гринаОткуда дровишки про $750k, можно ссылочку?
Без диктатора в OpenSource будет анархистская помойка, либо очень консервативрая среда.
>либо очень консервативрая среда.Среды не будет, она рассеется на кучу мелких несовместимых группок.
> Вечная проблема любой иерархии.Нет. Это проблема организации рабочего процесса. Просто нужны чёткие правила: кто, что и в каких случаях может делать, а что - нет. И я не про CoC, а про разграничение полномочий. Т.е. про правила, принятые большинством участников сообщества на голосовании. Одним из главных пунктов которых должно быть ограничение полномочий лидера проекта: что он может решать единолично, а что может быть решено только при участии всего коллектива. В противном случае вот такое вот будет продолжаться. И даже хуже. Потому что на одного человека надавить (подкупить, запудрить мозги - подставить нужное) всегда проще, чем на целый коллектив.
Ну вот вам чёткие правила:1. Я всегда прав.
2. Если я не прав, смотри пункт 1.
> Ну вот вам чёткие правила:
> 1. Я всегда прав.
> 2. Если я не прав, смотри пункт 1.Как вариант. Если это конечно чётко зафиксировано и одобрено всеми участниками процесса. Перед тем, как данные правила начнут применяться на практике. Правда лично я на такое прост пожму плечами и скажу: "Адиос, братья". И пойду дальше.
> Менеджмент уровня "Бох!" - несколько людей потеряли, официально "да" и "нет" не
> сказали, на всех участников поклали,Ну вообще-то - таки, да. Когда все приходит к тому что надо делать выбор, и оба варианты отстойны, можно сделать финт ушами - и не делать выбор совсем! Это конечно рвет господам шаблоны, но вполне валидно.
С другой стороны - со временем на радаре могут появиться и более удачные решения, тогда не придется жить - с неудачным выбором. И это типа плохо? Потому что что?
>> Менеджмент уровня "Бох!" - несколько людей потеряли, официально "да" и "нет" не
>> сказали, на всех участников поклали,
> Ну вообще-то - таки, да. Когда все приходит к тому что надо
> делать выбор, и оба варианты отстойны, можно сделать финт ушами -
> и не делать выбор совсем! Это конечно рвет господам шаблоны, но
> вполне валидно.
> С другой стороны - со временем на радаре могут появиться и более
> удачные решения, тогда не придется жить - с неудачным выбором. И
> это типа плохо? Потому что что?Ох, и странные же у местных обитателей представления о "менеджменте"... из разряда "Если надо объяснять - то не надо объяснять", да.
> Ох, и странные же у местных обитателей представления о "менеджменте"... из разряда
> "Если надо объяснять - то не надо объяснять", да.А что делать, девелоп софта штука такая, заставляет играть на грани возможного и быть очень креативными. Иначе все загибается и профакивается в момент. Остаются только самые отборные.
Что делать, что делать! Не общаться с таксистами на темы государственного управления, пенсионерами - здравоохранения, а подвальными анонимами - вот менеджмент не обсуждать, все одно ничего умного не то, что не "скажут", а и не "подумают" даже - чистой воды метание бисера будет...
> Что делать, что делать! Не общаться с таксистами на темы государственного управления,
> пенсионерами - здравоохранения, а подвальными анонимами - вот менеджмент не обсуждать,
> все одно ничего умного не то, что не "скажут", а и
> не "подумают" даже - чистой воды метание бисера будет...Ох, как вы себя спалили то хорошо. Я все думал откуда такое в IT лезет - а это себе кто-то в контору таксиста, видимо, нанял. Так понятнее стало, спасибо.
>> Что делать, что делать! Не общаться с таксистами на темы государственного управления,
>> пенсионерами - здравоохранения, а подвальными анонимами - вот менеджмент не обсуждать,
>> все одно ничего умного не то, что не "скажут", а и
>> не "подумают" даже - чистой воды метание бисера будет...
> Ох, как вы себя спалили то хорошо. Я все думал откуда такое
> в IT лезет - а это себе кто-то в контору таксиста,
> видимо, нанял. Так понятнее стало, спасибо.Ээээ... я даже не буду спрашивать, как вы из моих слов сделали свой вывод. "Баивая женская логика"(ТМ), не иначе.
Очевидно что такой стиль управления рано или поздно скажется на качестве ядра. Использую Линукс с начала 2000-х, но вот не помню чтобы Торвальдс так раньше косячил. А тут то "финн", то "растоман", то не пойми что.
> Очевидно что такой стиль управления рано или поздно скажется на качестве ядра.Такой стиль у него был наверное с самого начала.
> Использую Линукс с начала 2000-х, но вот не помню чтобы Торвальдс так раньше косячил.
> А тут то "финн", то "растоман", то не пойми что.А когда факи показывал нвидии?
Или когда в рассылке ругался?Тут даже посчитали сколько раз он употреблял слова "овно", "анал" и тд.
habr.com/ru/articles/345846/
>> Очевидно что такой стиль управления рано или поздно скажется на качестве ядра.
> Такой стиль у него был наверное с самого начала.
>> Использую Линукс с начала 2000-х, но вот не помню чтобы Торвальдс так раньше косячил.
>> А тут то "финн", то "растоман", то не пойми что.
> А когда факи показывал нвидии?
> Или когда в рассылке ругался?
> Тут даже посчитали сколько раз он употреблял слова "овно", "анал" и тд.
> habr.com/ru/articles/345846/Т.е. вы даже не понимаете, в чем вообще проблема в этой ситуации, да? Чего и не требовалось доказывать, конечно же...
Сначала сделали проброс в массы, прогрели плебсов, а теперь и решение проблемы. Линуксу, как платформе для энтузиастов и гиков, пришёл окончательный и бесповоротный пдец, теперь это очевидно. Счастливо оставаться и жрать с лопаты, гои.
> Линуксу, как платформе для энтузиастов и гиковКак раз энтузиасты и гики поддерживают раст.
А всякие законтенелые диды топять за сишечку.
Скорее фрики чем гики :)На практике все вокруг ходят и рассказывают какой раст прекрасный, при этом у самих часто ни одного самостоятельного проекта нет.
Ко мне понимание баланса и излечение от NIH пришло лет через 15, когда и своих проектов куча была и рефакторил их я очень много и кое что вообще переписывал, и в других опенсорцах покопался.
И очень доставляет открыть свой код лет через 5-10 и офигеть насколько всё было плохо.Сколько там вашему расту? Лет 5-8? - хаха, оно даже как язык ещё сырое, смысла такое использовать в серьёзных проектах вообще нет.
Да и позиционирование как замена С и системный - просто смешно.
Оно с крестами конкурирует по перегруженности сахаром, а кресты в ядро не пихают по понятной причине: придут крестоносцы и будут постоянно всё переписывать со старога вектора на новый и прочие бесполезные изменения ради изменений.
Насчет сырости полностью согласен. Одно из претмуществ Си как языка - стандарт. То что компиляторы не все и не везде его реализуют это другой вопрос. Суть в другом - есть бумага, где язык заморожен и стабилен.
А с растом сама концепция языка неправильная - нет стандарта и сам раст больше похож на очередной софт, который в вечной разработке. Не должно быть у фундаментального инструмента такого версионирования.
> Одно из претмуществ Си как языка - стандарт.Состоящий на половину из UB/ID?
> То что компиляторы не все и не везде его реализуют это другой вопрос.
И на который все клали с высокой колокольни?
Отличный стандарт)> Суть в другом - есть бумага, где язык заморожен и стабилен.
А т.е нам главное бумажка по которой все стабильно и красиво?
Я вообще не понимаю нафига в контексте ядра стандарт, если там
1. ГНУ экстеншины
2. всего 2 компилятора которые могут ядро собрать
С таким же успехом можно написать свой стандарт "СИ для сборки ядра" в котором все вышеперечисленное указать.> А с растом сама концепция языка неправильная - нет стандарта
Есть RFC. Весь интернет на них работает и конца света не случилось.
> и сам раст больше похож на очередной софт, который в вечной разработке.
Видимо Торвальдс считает иначе)
> Не должно быть у фундаментального инструмента такого версионирования.
Возможно ты просто не в курсе про edition.
doc.rust-lang.org/edition-guide/editions/index.html
Позволяет зафиксировать версию языка.
> Позволяет зафиксировать версию языка.Ну ок.
Можно я всегда буду писать в ядро линукса на версии 0.0.0.0.1 alpha?
Ты уже понял как через 10 лет будет выглядит линукс с таким подходом?
(да, мне плевать что компелятор раста тоже раздувается бесконечно от груза обратной совместимости - растовики сами себе выбрали дорогу в никуда)
> Можно я всегда буду писать в ядро линукса на версии 0.0.0.0.1 alpha?Зачем? Бери последний Rust 2021 и пиши.
В ядро ты тоже всегда можешь писать на C89? Или придется уже на C11?
А сколько нытья было при переходе... ух!> Ты уже понял как через 10 лет будет выглядит линукс с таким подходом?
Тоже самое что с сишкой. В 2022 разработку перевели на С11.
Ну так пусть в 2035 переведут с Rust 2021 на Rust 203х.> да, мне плевать что компелятор раста тоже раздувается бесконечно от груза
> обратной совместимости - растовики сами себе выбрали дорогу в никудаСам придумал? Скорее всего никто не будет тянуть до бесконечности.
Да и такая ли это большая проблема - gcc тянет сишку начиная с ansi, плюсы с с++98 до экспериментальных с++26. Плюс еще всякие нестандартизированные экстеншены.
Это намного больше чем четыре эдишна раста.
А чем там С89 от С11 отличается?
Я из старья могу вспомнить только объявления функций в другом стиле, да и те компелятор обругивал но давал собрать, а в остальном там всегда были смягчения и добавления нового.
> Сам придумал? Скорее всего никто не будет тянуть до бесконечности.Нет, просто я уже имел и имею дело с проектами которые живут десятки лет.
Если ты выкинешь поддержку старого - то ты считай что кинул людей на бабки, потому что у них вполне мог быть код написанный лет 10 назад который прекрасно работал и работает, переписывать который нет ни смысла ни возможностей (там может быть огромная кодовая база).
Я то лично знаю не одну историю когда МС кидало людей вот так, с ASP, silverlight, visual basic и тп. Да и смерть богомерзкого флеша тоже принесла много боли.
> Зачем? Бери последний Rust 2021 и пиши.Не, чувак, это так не работает :)
Вот смотри, сегодня я взял и написал на раст2021.
Прошло 10 лет, и там уже раст 2025, 2027, 2028, 2029, 2029.2, 2030, и ещё с десяток.
Теперь у тебя в ядре есть вот эти все версии.
Поздравляю!Что ты дальше будешь делать?
Будешь постоянно всё переписывать чтобы оно собиралось последней версией?
Кто за это будет платить? Тебя одного хватит?)
А если не будешь - то тебе придётся завести политику как работать с модулями написанными на старых версиях стандарта: в каких случаях там писать по старому а в каких переписывать.
И тут ты попадаешь в зависимость от левой пятки разработчиков ЕДИНСТВЕННОГО компелятора, которые могут проснутся с бодуна и выкинуть все прошлые версии из компелятора.
Теперь тебе нужно будет полюбас всё переписывать или на свежую версию или на другой язык.Но в любом случае ты уже попал на поддержку вот этих всех версий.
> А чем там С89 от С11 отличается?А чем "Хруст-2018" отличается от "Хруст-2021 теперь с лавандовым запахом" ?
Может там тоже не так много изменений. Или наоборот, так же много как в С89->С11.> Нет, просто я уже имел и имею дело с проектами которые живут десятки лет.
Что удивительно, я тоже.
> Если ты выкинешь поддержку старого - то ты считай что кинул людей на бабки,
Хаха, мой код распространяется AS IS, да еще и бесплатно.
Они мне еще претензии будут предъявлять?> потому что у них вполне мог быть код написанный лет 10 назад который прекрасно работал и работает,
Ну так пусть сидят на старом или форкают последнюю версию.
Я им точно ничего не должен. Я код пишу для себя, но мне не жалко поделиться.> переписывать который нет ни смысла ни возможностей (там может быть огромная кодовая база).
Это их проблемы, а не мои.
Никто не заставлял их завязывать свой проект на "коде чувака из Небраски"> Я то лично знаю не одну историю когда МС кидало людей вот так, с ASP, silverlight, visual basic и тп. Да и смерть богомерзкого флеша тоже принесла много боли.
Ага, а еще дроп 16 бит, дроп старых версий ведра и тд и тп.
Мне их очень-очень не жалко.> Не, чувак, это так не работает :)
> Вот смотри, сегодня я взял и написал на раст2021. Прошло 10 лет, и там уже раст 2025, 2027, 2028, 2029, 2029.2, 2030, и ещё с десяток.
> Теперь у тебя в ядре есть вот эти все версии. Поздравляю!С какого перепугу?
У тебя в ядро принимают код одной единственной рассово-верной версии раста.
Точно так же как и с СИ.> Что ты дальше будешь делать?
> Будешь постоянно всё переписывать чтобы оно собиралось последней версией?Что значит постоянно?
Раз в 10 лет или когда там обновят перепишу то что нужно исправать.> Кто за это будет платить? Тебя одного хватит?)
Мне и сейчас никто не платит((
> И тут ты попадаешь в зависимость от левой пятки разработчиков ЕДИНСТВЕННОГО компелятора, которые могут проснутся с бодуна и выкинуть все прошлые версии из компелятора.
И? Ядро много лет компилялось единственным раковым компилятором.
Им с бодуна приснилось, что "весь код компилируеммый ЖЦЦ заражается гнураком", прикинь!
А теперь их целых ДВА)> Теперь тебе нужно будет полюбас всё переписывать или на свежую версию или на другой язык
> Но в любом случае ты уже попал на поддержку вот этих всех версий.Звучит как пугалка "Ууууу! придется всё переписывать!!".
Хотя зачастую правится немного кода.
(говорю по опыту перехода с C++03 на С++20)
Хорошо, вы выбрали сидеть на расте фиксированной версии, 2023 например.
К 2033 году у вас будет куча такого кода.
Разрабы раста уведомляют что они выкидывают 2023 из компелятора.
Вы решаете перейти на 2033 раст.
Теперь вам надо переписать кучу кода.
Кто это будет делать?И вот сейчас не надо рассказывать про: "да там две строчки поменять, как было с С89 до С11", потому что опыта миграции раст кода на новую версию я что то не видел на публике (не интересуюсь просто).
> Хорошо, вы выбрали сидеть на расте фиксированной версии, 2023 например.
> К 2033 году у вас будет куча такого кода.Допустим.
> Разрабы раста уведомляют что они выкидывают 2023 из компелятора.
Сфигали? Это твои фантазии или ты приведешь пример такого выкидывания?
Для сишки ты что не можешь скачать компилятор старой версии?
Я вот запросто нахожу и для С89 и для С++98.
Код ведь открыт.> Вы решаете перейти на 2033 раст Теперь вам надо переписать кучу кода.
Сфигали? Это опять твои фантазии?
Завязывай с бухлом или на чем ты там сидишь.> Кто это будет делать?
Я естественно.
Точно так же как мне пришлось переписывать код при переходе с С++03 до С++20.
И, как ты догадался, я не помер.> И вот сейчас не надо рассказывать про: "да там две строчки поменять, как было с С89 до С11", потому что опыта миграции раст кода на новую версию я что то не видел на публике (не интересуюсь просто).
Т.е ты не видел, но на серьезных щщах расказываешь, что "надо переписать кучу кода"?
Чел, ты это серьезно или прикалываешься?
Если вас полностью устраивает раст 2017 - зачем вы его дальше пилите и так часто релизите?
Через 10 лет такие же фонатики раста будут ходить и ныть: раст 2023 это плохо, полоумные деды не дают обновить раст, да они раст 2033 осилить не могут, скорей бы сдохли!
> Сфигали? Это твои фантазии или ты приведешь пример такого выкидывания?Так у вас слишком много версий, тянуть обратную совместимость долго - очень трудно.
А адекватностью от коммунити не слишком веет.
Скажут устарело, не безопасно - сжечь старьё!
> Я естественно.Да конечно.
Через год выйдет какой нить новый язык dirt ещё бизапасней а тебя автобус переедет и ничего ты не перепишешь.
> Т.е ты не видел, но на серьезных щщах расказываешь, что "надо переписать кучу кода"?Так у разрабов раста нет цели облегчать жизнь мазохистов-адептов, это С не меняется десятилетиями и кресты меняются так чтобы не сильно ломать совместимость.
Давай, покажи как ты собрал старый фф новым растом.
> Если вас полностью устраивает раст 2017 - зачем вы его дальше пилите и так часто релизите?По той же причине, по которой кроме есть ANSI C, C89, C99, C11, C17, C23.
Зачем столько версий, если можно было бы обойтись K&R?> Через 10 лет такие же фонатики раста будут ходить и ныть: раст 2023 это плохо, полоумные деды не дают обновить раст, да они раст 2033 осилить не могут, скорей бы сдохли!
Я вижу ты у нас еще и в будущее заглядывать умеешь)
> Так у вас слишком много версий, тянуть обратную совместимость долго - очень трудно.
А тебя волнует только твоя и та на которую будешь обновляться.
> А адекватностью от коммунити не слишком веет.
> Скажут устарело, не безопасно - сжечь старьё!А как же, то ли дело СИшники. Скажут "мы 20 лет использовали, зачем что-то новое?"
> Через год выйдет какой нить новый язык dirt ещё бизапасней а тебя автобус переедет и ничего ты не перепишешь.
И? Код открыт. Кто хочет - пусть хоть на брейнфак переписывает.
> Так у разрабов раста нет цели облегчать жизнь мазохистов-адептов,
У раста вполне четкие цели. Причем они их даже фиксируют)
rust-lang.github.io/rust-project-goals/2025h1/index.html> это С не меняется десятилетиями и кресты меняются так чтобы не сильно ломать совместимость.
Да-да, конечно. Совершенно не меняются.
Вон в C++ завозят модули, а в СИшке ломают UB в новом стандарте.
> Давай, покажи как ты собрал старый фф новым растом.Но... зачем?
Я даже не смогу собрать ядро (от лудших пограммистов) новой версией С23, а ты про какой-то браузер спрашиваешь.
Но ты можешь показать мне как ядро 2.6 собирается С11 (текущая версия в ядре).
Так сказать мастер класс показать.
Или "это другое" ?
> Зачем столько версий, если можно было бы обойтись K&R?Честно - не знаю :)
Не сказать чтобы там что то нужное/интересное было.
> Я вижу ты у нас еще и в будущее заглядывать умеешь)
> А тебя волнует только твоя и та на которую будешь обновляться.
> А как же, то ли дело СИшники. Скажут "мы 20 лет использовали, зачем что-то новое?"
> И? Код открыт. Кто хочет - пусть хоть на брейнфак переписывает.Те ответа у тебя нет, ты просто переводишь стрелки.
> У раста вполне четкие цели. Причем они их даже фиксируют)
> rust-lang.github.io/rust-project-goals/2025h1/index.htmlА где до 2035 года цели?
Где гарантии что они даже на 2025 ничего не поменяют?
> Да-да, конечно. Совершенно не меняются.
> Вон в C++ завозят модули, а в СИшке ломают UB в новом стандарте.Завозят, у меня от этих завозов только новые варнинги иногда появляются с -Wall -pedantic -Weverything.
> Я даже не смогу собрать ядро (от лудших пограммистов) новой версией С23, а ты про какой-то браузер спрашиваешь.
> Но ты можешь показать мне как ядро 2.6 собирается С11 (текущая версия в ядре).Да, но ты то предлагаешь эти проблемы помножить на 2 и более добавлением ещё одного компелятора совсем другого языка.
>А где до 2035 года цели?
>Где гарантии что они даже на 2025 ничего не поменяют?Вам в другой ветке приводили команду для миграции, подписанную как автоматическая. Там вы решили отмолчатся, зато здесь о чём-то рассуждаете
> А чем там С89 от С11 отличается?Там на самом деле немало отличий.
Type punning
Implicit int return and variable types
Return without expression for non void function
Integer division with negative operand
Zero length VLAуверен что еще есть куча неочевидных нюансов, т.к. нужно смотреть все breaking changes - c89->c99->c11
Так что generic code на с89 у тебя в ядро никто не примет.
Скажут давай на исправь на с11 (даже если там всего одна строку поправить), а потом поговорим.> Теперь у тебя в ядре есть вот эти все версии.
Кажется ты не понял.
Ты фиксируешь раст2021 и все. Весь код в ядро попадает именно для раст2021.
Поэтому никаких "и там уже раст 2025, 2027, 2028, 2029, 2029.2, 2030, и ещё с десяток" не будет.
А потом через 10 лет, когда ты хочешь перейти на 2030, то ты просто переводишь код на 2030, как это было с с11.> И тут ты попадаешь в зависимость от левой пятки разработчиков ЕДИНСТВЕННОГО
> компелятора, которые могут проснутся с бодуна и
> выкинуть все прошлые версии из компелятора.Ядро годами было прибито к ЕДИНСТВЕННОМУ гцц.
Еще раз! Ядро можно было скомпилить одним единственным компилятором, да еще и не по си стандарту (гну экстеншены).
И ничего, как-то выжили.Да и что разарабы могут задепрекейтить, если ты сидишь на старой версии?
> Теперь тебе нужно будет полюбас всё переписывать или на свежую версию или на другой язык.
Ты просто форкаешь компилятор.
> потому что у них вполне мог быть код написанный лет 10 назад который прекрасно работал и работает, переписывать который нет ни смысла ни возможностейНу так продолжай собирать старым уомпилятором, в чем проблема?
>> Зачем? Бери последний Rust 2021 и пиши.
> Не, чувак, это так не работает :)
> Вот смотри, сегодня я взял и написал на раст2021.
> Прошло 10 лет, и там уже раст 2025, 2027, 2028, 2029, 2029.2Полная чушь. Если у тебя прописана версия 2021, то код с фичами из новых версии компилятор просто откажется собирать. Это даже в твоем любимом C так работает.
> Можно я всегда буду писать в ядро линукса на версии 0.0.0.0.1 alpha?В смысле "можно я буду"?
Как Линус и прочие ментейнеры решат, так и будет.Если ты придешь в ядро с кодом на С23, то что тебе скажут?
Правильно, пошлют переписывать на версию ядра - С11.
Так же будет и тут.> Ты уже понял как через 10 лет будет выглядит линукс с таким подходом?
Если честно - нет)
Раз в 10-20 лет будут просто подымать фикс версию раста, так же как делают сейчас с сишкой.
Возможно тут есть какие-то непреодолимые трудности, про которые я не знаю.
См выше, я описал что там будет через 10 лет.
>Можно я всегда буду писать в ядро линукса на версии 0.0.0.0.1 alpha?Конечно можно. Вон, в си старые проекты даже вроде иногда и собираются, и даже не очень сегфолтятся https://habr.com/ru/articles/473228/ конечно, сишный код работать не будет, но когда сишников это останавливало?
У вас очень короткие мысли :)
Я описал ситуацию с растом в линухе через 10 лет выше.Древний перл там пропатчили довольно быстро и проблемного кода там почти не было, для такой кодовой базы патч получился мизерным.
Попробуйте теперь посмотреть на патчи для поделок на расте между версиями растам с разницей в 5 лет.
Ну типа там древний раст код фаерфокса перевести на сборку современным стандартом.
>Древний перл там пропатчили довольно быстроВы статью читали?
>Несомненно, там ещё осталась большая куча различных ошибок Segmentation faults, возможно связанных с размером указателя на 64-битной архитектуре. Всё это можно вычистить посидев несколько вечерков с отладчиком наперевес. Вот только это не слишком приятное и довольно нудное занятие. Ведь изначально этот эксперимент планировался как развлечение на скучный вечер, а не как полноценная работа, которая будет доведена до конца.Сколько там ещё ошибок осталась - неизвестно, этот патч никто не показывает.
>для такой кодовой базы патч получился мизерным.Вы специально лжёте?
>Попробуйте теперь посмотреть на патчи для поделок на расте между версиями растам с разницей в 5 лет.Пусть будет переход с версии 2018 на 2021.
https://doc.rust-lang.org/edition-guide/rust-2021/panic-macr...
>You can automatically migrate your code to be Rust 2021 Edition compatible or ensure it is already compatible by running:
>cargo fix --editionА что, так можно было что-ли? Не сидеть с отладчиком, не вылавливать ошибки?
> Вы специально лжёте?Да, он всегда так делает. Просто почитайте на досуге сообщения этого Ivan_83 в других темах.
Там один и тот же цирк в стиле "я крутой спец, как же я хорош!", а когда его мокают носом в собственную некомпетентность (в первую очередь в вопросах C, ибо других языков он не выучил), то этот персонаж начинает лгать и приводит свой любимый аргумент "и что теперь?".
Какой-то мозахист-неадекват, ей-богу.
> Там один и тот же цирк в стиле "я крутой спец, как же я хорош!",Судя по его гитхабу - он и правда неплох. Лучше вас. Есть практически-полезные проекты, код показывает что он не нуб. Это видно. А у вас - только пафос.
> а когда его мокают носом в собственную некомпетентность
Мокают - это в смысле, улыбок тебе дед Мокар? :)
> (в первую очередь в вопросах C, ибо других языков он не
> выучил), то этот персонаж начинает лгать и приводит свой любимый аргумент
> "и что теперь?".Он однако реализует свои задачи. А если вам не нравится его софт - ну и не юзайте. Можете переписать на чем вам там нравится. Если квалификации хватит.
> Какой-то мозахист-неадекват, ей-богу.
Бедный Мазох, не знал он что его так исковеркают, даже после смерти держит марку.
>Судя по его гитхабу - он и правда неплох. Лучше васОн и правда плох. Вы не видели как он написал парсер xml?
Плох для чего?
Для моих целей он вполне.
Опять та же песня. Он не соответствует спецификации xml, он просто не работает.
Он просто работает. Полного соотвествия мне никогда не требовалось.
Я обычно пишу как я делаю или не делаю.
То что "я крутой спец, как же я хорош!" - это ваша личная оценка меня, благодарю за комплимент :)"и что теперь?" - типичная реакция на дефекты софта или возможные деффекты.
Мазохист - это скорее про адептов гнили, они без ругани госпожи компелятора жить не могут :)
> Я обычно пишу как я делаю или не делаю.А лучше б не делал)
> То что "я крутой спец, как же я хорош!" - это ваша личная оценка меня, благодарю за комплимент :)
Советую почитать в википедии статью "сарказм".
> "и что теперь?" - типичная реакция на дефекты софта или возможные деффекты.
Судя по разбору твоево овнокода, то да, остается только спрашивать "и чо?"
Тебе не нравится код который я не трогал уже 9 лет, и чо? :)
Из заброшек там ещё как минимум sap парсер и егойный клиент - и чо?Страшный то код всё равно не там лежит, он тут: http://netlab.dhis.org/wiki/index
исходники виндовых утилит.
Но это не мешает этим утилитам работать уже более 10-20 лет.Да да, тулсе которая DNS клиент как раз лет 20, я на ней эксперементировал в последний раз с IOCompletionPort от того она немного коряво с таймаутами пашет, был бы WSAAsyncSelect через оконные сообщения так и проблем бы не было.
TCPTerm примерно того же года, уж хз какая версия по счёту, прошлые были ещё с 2001 года на вижалбейсике да я кажется исходники растерял в придачу к смерти бейсика :)
Да, я прочитал статью.
И автор там прямо и сказал - патч получился очень маленьким.
И что второй патч можно выкинуть если компелятору передать специальный флаг. Но и второй патч там тоже маленький.
Вы то сами её читали?Да сколько бы их там не осталось - это легко правится.
Автор мог бы и включить дополнительные варнинги да и сам поиском по коду пройтись в поисках аналогичных мест, но его цель была собрать и запустить хэлловрлд.
> А что, так можно было что-ли? Не сидеть с отладчиком, не вылавливать ошибки?Вот чёто я сомневаюсь что cargo fix --edition сделает что то сложнее автоматической замены, притом что там наверняка новые приколы борровчекера и прочих мазохистических штук натащили.
Поэтому я бы посмотрел на миграцию живой кодовой базы хотя бы на 10к строк кода.
>И автор там прямо и сказал - патч получился очень маленьким.Патч для запуска hello world. Вы упорно продолжаете притворяться, что после этого патча perl заработал от самого начала и до самого конца
>Да сколько бы их там не осталось - это легко правится.То ли дело автор статьи, назвавший это работой. Сидеть с отладчиком наперевес
>Автор мог бы и включить дополнительные варнингиВ си у компилятора недостаточно информации, чтобы обнаруживать большинство ошибок. Будь это не так, сишники и сами бы замечали свои проблемы
>Вот чёто я сомневаюсь что cargo fix --edition сделает что то сложнее автоматической заменыВы придумываете аргументы на ходу. То вы говорили, что всё нужно сделать руками, теперь уже частично автоматизацию признаёте.
>притом что там наверняка новые приколы борровчекера и прочих мазохистических штук натащилиДоказательств этого у вас разумеется не будет.
> То ли дело автор статьи, назвавший это работой. Сидеть с отладчиком наперевесЗачем!?
Там легко всё делается: выпало корку - получил бэктрейс, поправил, повторил.
У меня даже скрипт специальный есть который бэктрейс достаёт из корок.
> Вы упорно продолжаете притворяться, что после этого патча perl заработал от самого начала и до самого концаВы же видите насколько там всё просто.
Автор нашёл два класса несовместимости:
- то что мешало собрать
- то что стало приводить к падениям
Первое он сразу пофиксил, второе итеративно. И я написал что таких ошибок там не много, они однотипные и пофиксить это не проблема.
С чем конкретно вы тут не согласны?
> В си у компилятора недостаточно информации, чтобы обнаруживать большинство ошибок.С не мешает высшей сущности пограмиста и не смешивается в его замыслы.
Если высшая сущность решила записать ((uint32_t*)0)[1] = 1 значит такова воля.
Замысел высшей сущности компелятору не изместен, возможно это приведёт к падению но так и было задумано или туда уже смаплена память и оно будет работать.
Падение тоже может быть замыслом.
> Вы придумываете аргументы на ходу. То вы говорили, что всё нужно сделать руками, теперь уже частично автоматизацию признаёте.А вы что хотите, чтобы я вам их из книжки вычитывал?)
> Доказательств этого у вас разумеется не будет.Конечно нет, я этой гадостью не пользовался и не планирую, старого гнилого кода у меня тоже нет.
>Одно из претмуществ Си как языка - стандарт. То что компиляторы не все и не везде его реализуют это другой вопросНе смотря на великий стандарт си, ядро уже можно собрать clang-ом. Это ли не достижение?
>[оверквотинг удален]
> много и кое что вообще переписывал, и в других опенсорцах покопался.
> И очень доставляет открыть свой код лет через 5-10 и офигеть насколько
> всё было плохо.
> Сколько там вашему расту? Лет 5-8? - хаха, оно даже как язык
> ещё сырое, смысла такое использовать в серьёзных проектах вообще нет.
> Да и позиционирование как замена С и системный - просто смешно.
> Оно с крестами конкурирует по перегруженности сахаром, а кресты в ядро не
> пихают по понятной причине: придут крестоносцы и будут постоянно всё переписывать
> со старога вектора на новый и прочие бесполезные изменения ради изменений.
> крестами конкурирует по перегруженности сахаромВ расте нет никакой воды, и миллионов бесполезных реализации, все что там есть, там должно быть
> у самих часто ни одного самостоятельного проекта нет.
У кого это на практике, с каждым разом увеличиваются опен-сурс проекты написанные на расте
И что вообще тогда думаете насчет Redox OS> ещё сырое, смысла такое использовать в серьёзных проектах вообще нет.
Как будто новые серьезные проекты начинают писаться на Си, покажите примеры, вообще по факту решение на си - это от безысходности
И опять же что в крестах, что в си, строки - говно полное, импорты чисто с помощью линковки и пр., си не учит программировать, си учит как не программировать, остальные фичи раста уже понятны, они намного лучше, и нет смысла упоминать
А вон ваш коллега говорит что у вас миллион бесполезных реализаций прямо внутри компелятора - типа можно задать версию языка.
> И что вообще тогда думаете насчет Redox OSЯ про это ничего не думаю.
Однако если бы оно было такое офигительно крутое, полезное и нужное - об этом бы приходилось слышать чаще.
А пока мы обсуждаем как раком заболел очередной проект на С.
> Как будто новые серьезные проекты начинают писаться на Си, покажите примеры, вообще по факту решение на си - это от безысходностиДействительно от безисходности, как с английским - ничего лучше нет :)
https://github.com/rozhuk-im/motp
вот мой новый проект, на чистом С, написал в конце прошлого года.
> И опять же что в крестах, что в си, строки - говно полноеЯ уже говорил и ещё раз повторю: в С нет строк.
Есть суррогат строк который имеет ограниченную область применения, при выходе из которой можно получить что угодно.
Есть константные строки и функции (str*()) для работы с ними, и есть то что вроде как строки но под отвественность написавшего.
> импорты чисто с помощью линковкиКак смешно.
Ещё в начале 2000х и винамп и миранда умели динамически загружать плагины, которые были в виде dll, и даже выгружать.
LoadLibrary() на венде и dload() в линухе/бсд, дальше получаем адрес нужной функции по имени или номеру (для венды вроде) и вызываем.Ваш раст такое научился делать?
> остальные фичи раста уже понятны, они намного лучше, и нет смысла упоминатьТак конечно нет смысла, потому что оно не нужно :)
>[оверквотинг удален]
>> импорты чисто с помощью линковки
> Как смешно.
> Ещё в начале 2000х и винамп и миранда умели динамически загружать плагины,
> которые были в виде dll, и даже выгружать.
> LoadLibrary() на венде и dload() в линухе/бсд, дальше получаем адрес нужной функции
> по имени или номеру (для венды вроде) и вызываем.
> Ваш раст такое научился делать?
>> остальные фичи раста уже понятны, они намного лучше, и нет смысла упоминать
> Так конечно нет смысла, потому что оно не нужно :)
> Однако если бы оно было такое офигительно крутое, полезное и нужноеОн как проект недавний, так что тут нету смысла говорить о крутости, но можно уже говорить о работоспособности, следует юниксу, полностью ядро написанное на расте, это о чем то уже говорит, пока в то время как линуксы еще очень долго туда сюда вертелись, тут по времени намного быстрее, смотря на этапы развития соответсвенно. Но крутость есть, как слышал он шустрее
> Я уже говорил и ещё раз повторю: в С нет строк.
В том то и дело что их НЕТ)
Я не говорил о встроенных реализациях, с чего вы это взяли?
В плюсах тоже самое только под оберткой генерик класса, с теми же самыми нулл терминаторами> вот мой новый проект, на чистом С, написал в конце прошлого года.
как же чувствуется что писалось на винде, вообще не серьезный подход, и еще тут какие то аргументы кидаете
Это намного смешнее, учитывая что ни одной звезды так и не набрал, сабмодуль и то 4 звезды, я не давался в подробности вашего кода, но скорее всего велосипед или костыль> Действительно от безисходности, как с английским - ничего лучше нет :)
Если так говорить, то совсем не так, и правильнее будет раст - английский, Си - романо-германский, но имхо, си - язык для немых, вроде быстро понимаешь, общий стандарт для всех немых, пока не начнешь разговаривать с носителем, к тому же никому кроме немых это не нужно :)))
> Он как проект недавний, так что тут нету смысла говорить о крутости, но можно уже говорить о работоспособности, следует юниксу, полностью ядро написанное на расте, это о чем то уже говоритЭтим можно удивить только человека который ну совсем не интересуется ни чем.
Сейчас свои ОС пишут СТУДЕНТЫ на зачот или диплом.
Просто ничто из этого обычно не выживает за ненадобностью.
> В том то и дело что их НЕТ)И что!?
> как же чувствуется что писалось на винде, вообще не серьезный подход, и еще тут какие то аргументы кидаетеА каким местом вам это чувствуется?)
Там на венде когда то md5.h писалось, в далёком 2003 году и с тех пор оно много раз рефакторилось.
> Это намного смешнее, учитывая что ни одной звезды так и не набралДа, звёзды это так важно.
Эта фигня никому не нужна, и мне она не нужна. Просто по работе пришлось mOTP юзать.
> Если так говорить, то совсем не так, и правильнее будет раст - английский, Си - романо-германскийНа С все говорят и понимают, прост в освоении.
А раст как латынь - почувствуй себя ылытой.
>> Как будто новые серьезные проекты начинают писаться на Си
> https://github.com/rozhuk-im/motpвот мой новый проект, на чистом С, написал в конце прошлого года
Чел, тебе говорят о *серьезных* проектах, а ты приводишь в пример свой хэлллуворлд буквально на 200 строк. 🤦
Ваня, у тебя эффект Даннинга-Крюгера терминальной стадии. Очевидно же, что ты самоучка, осиливший лишь С, и профессионально программистом никогда не работал. Прекрати уже позорится своей экспертизой...
>Я уже говорил и ещё раз повторю: в С нет строк.
>Есть суррогат строк который имеет ограниченную область применения, при выходе из которой можно получить что угодно.Ага, сишники до сих пор велосипедят строки, в 2025 году. Прогресс? Какой прогресс, на дворе 1970-ые.
>https://github.com/rozhuk-im/motp
>вот мой новый проект, на чистом С, написал в конце прошлого года.Как хорошо, когда сишники скидывают свой код, сразу есть за что их покритиковать. Сразу скажу, я не настоящий сишник, могу не заметить очевидную проблему.
https://github.com/rozhuk-im/liblcb/blob/master/src/utils/xml.c
О, опять парсер, опять xml, но на этот раз на си. Первое впечатление: дикий, неприручёный ужас. Второе впечатление - а, очередной велосипед.
https://github.com/rozhuk-im/liblcb/blob/3d8681e26373beedfb7...
Вы что, все состояния руками писать собрались? yacc и прочее до сих пор не изобретены?
https://github.com/rozhuk-im/liblcb/blob/3d8681e26373beedfb7...
Зачем эти пустые условия?
https://github.com/rozhuk-im/liblcb/blob/3d8681e26373beedfb7...
О, знакомая ошибка, у ProfessorNavigator тоже была, но он её так и не осилил поправить. Во-первых, вы же в курсе, что чем больше парсер вперёд-назад катается, тем он медленнее? Во вторых, вы же не забыли, что в значении атрибутов может быть неэкранированный символ больше?
<tag attr=">"/>
https://github.com/rozhuk-im/liblcb/blob/3d8681e26373beedfb7...
Идём на второй круг по строке
https://github.com/rozhuk-im/liblcb/blob/3d8681e26373beedfb7...
На третий? Так, мне лень считать дальше
https://github.com/rozhuk-im/liblcb/blob/3d8681e26373beedfb7...
Функция на 12 аргументов? Почему бы и нет?
https://github.com/rozhuk-im/liblcb/blob/3d8681e26373beedfb7...
Давайте считать байты вручную, у нас же нет других дел
https://github.com/rozhuk-im/liblcb/blob/3d8681e26373beedfb7...
Казалось бы - перемести size и src в одну структуру, сделай нормальные строки, но нет, везде будут эти байты таскать вручную
https://github.com/rozhuk-im/motp/blob/725d675ba9a5ae8bbb40d...
Давайте выделим 4 Кб просто так, памяти же всегда в системе много
https://github.com/rozhuk-im/motp/blob/725d675ba9a5ae8bbb40d...
Что-то не влезло в буфер? Молча обрежем и всёИтог: г-код, который весьма проблематично не то что ревьювить, а даже читать. Когда в таком коде кто-то забудет бекдор, то смотрется он будет как влитой
> весьма проблематично не то что ревьювить, а даже читать.Вау чувак, ну у тебя и терпение.
Я бы это бросил примерно на 3 ошибке.
Так это не весь список
А где вы там ошибки увидили?
> Итог: г-код, который весьма проблематично не то что ревьювить, а даже читать.Ну, кажется это объясняет, почему патчи Ивана не принимают во Фрю))
"Я тоже не согласен с тем как во фре многое делается и у меня тоже есть свои личные патчи, которые не берут"
opennet.ru/openforum/vsluhforumID3/136066.html#159
> О, опять парсер, опять xml, но на этот раз на си.
> Вы что, все состояния руками писать собрались? yacc и прочее до сих пор не изобретены?Да, почему бы и нет :)
> Зачем эти пустые условия?Не понял вопроса.
> О, знакомая ошибка, у ProfessorNavigator тоже была, но он её так и не осилил поправить. Во-первых, вы же в курсе, что чем больше парсер вперёд-назад катается, тем он медленнее? Во вторых, вы же не забыли, что в значении атрибутов может быть неэкранированный символ больше?Оно там вроде не "катается", да и задача у этого была парсить не очень часто и не очень много.
На практике оно работает парсилкой конфигов а до того ещё и UPnP/DLNA парсило.
Но в общем UPnP/DLNA я отдал парсить коду на PHP, а за парсилку конфигов можно сказать стыдно - формат откровенно не удобный.
Насчёт полного соблюдения стандартов - да, оно далеко от этого, это скорее код чтобы вытаскивать нужное, типа консольного jq.
> Функция на 12 аргументов? Почему бы и нет?Почему бы и нет.
Я не вижу других решений чтобы они были прямо чем то лучше, а уменьшить количество не вариант.
> Давайте считать байты вручную, у нас же нет других делА давайте (IDE считает символы в выделенном), лучше заранее прописать размеры.
Оно используется в функции которая как раз ожидает массив с размерами "строк".
> Казалось бы - перемести size и src в одну структуру, сделай нормальные строки, но нет, везде будут эти байты таскать вручнуюНет в С никаких строк, а юзать структуру - раздуть код на ровном месте.
И если тут придиратся - то к тому что функция сильно лимитированна в своём применении.
> Давайте выделим 4 Кб просто так, памяти же всегда в системе многоДавайте.
Только не выделим и позаимствуем на стёке.
> Что-то не влезло в буфер? Молча обрежем и всёЭто особенно забавно.
На самом деле валидный код это больше чем на четверть никогда не должен заполнить. А для не валидного это обрезание будет самой маленькой проблемой :)
Вы бы в начале посмотрели что там делается и для чего прежде чем высказыватся.
> Итог: г-код, который весьма проблематично не то что ревьювить, а даже читать.Да, ужасный xml код который работает уже больше 10 лет :))))
xml и правда не особо, но там и формат так себе, что то простое-компактное-понятное в принципе написать не возможно, а если ещё и полную поддержку стандарта то там совсем дебри начинаются.
json сам решил не писать, взял готовый json.h с гитхуба.
> Когда в таком коде кто-то забудет бекдор, то смотрется он будет как влитойАга, вот вы его открыли и уже заразились, пора переставлять венду :))))
Ну да, меня вот больше волнуют бэкдоры в чужом коде чем ошибки в своём :))))
>Да, почему бы и нет :)Вот чего у сишников не отнять, так это любви к велосипедам. К парсеру предъявляются определённые требования, вроде скорости, надёжности, обработке ошибок, полноте поддежки спецификаций и так далее. У вас напротив каждого пункта можно ставить прочерк. Кроме того, прочтий вы книгу Real World Ocaml, или курс cs3110, то знали бы как правильно писать парсеры
>Не понял вопроса.Что тут можно не понять? У вас есть несколько case без тел, идущих сразу перед default
>Оно там вроде не "катается"Что значит "вроде"? Вы не знаете, что делает ваш код? Или не понимаете, почему просматривать строку вперёд, а потом возвращаться назад - плохая идея?
>да и задача у этого была парсить не очень часто и не очень многоА я то думаю, почему это сишный софт такой кривой? А оно вот как - ему просто не полагается работать очень часто и очень много. Ну никто же не подразумевает, что на детском игрушечном велосипеде взрослый дядя будет ездить на работу
>Насчёт полного соблюдения стандартов - да, оно далеко от этого, это скорее код чтобы вытаскивать нужное, типа консольного jqДопустим, я поставлю ваш чудесный софт и отредактирую файл руками. Всё сломается, а я не буду знать почему. Хороший софт для 2025 года
>Почему бы и нет.Я не буду говорить про производительсность, я не настоящий сишник. Но читать подобное - занятие не из приятных. У вас список аргументов сливается с телом функции, и нужно несколько секнуд тратить, чтобы понять где что. В нормальном форматировании фигрная скобочка будет на отдельной от аргументов строке и будет разделителем. Это не говоря уже про ошибки копипаста и прочее, когда один аргумент из пары строка/длина строки изменён, а второй - нет.
>А давайте (IDE считает символы в выделенном), лучше заранее прописать размеры.Хорошо, я открою код в ide, и изменю строку. Хоть одна ошибка компиляции вылезет? Или упадёт в рантайме, как и пологается настоящей сишной программе?
>Оно используется в функции которая как раз ожидает массив с размерами "строк".Насколько я знаю, размер подобных строк можно посчитать во время компиляции. Вы же байты перекладываете вручную
>Нет в С никаких строкПравильно, нет, поскольку их до сих пор никто не сделал, в том числе и вы
>а юзать структуру - раздуть код на ровном местеВ каком месте вы её раздуваете?
>Давайте.
>Только не выделим и позаимствуем на стёке.Каким образом это отменяет мои слова? Кроме того, стек ещё более ограничен в месте, по сравнению с кучей.
>На самом деле валидный код это больше чем на четверть никогда не должен заполнитьИ где это можно увидеть? Верить вам на слово? Даже если это так, то зачем тогда такой перерасход памяти? Килобайт туда, килобайт сюда, и вот приложение потребляет на порядки больше чем нужно.
>а если ещё и полную поддержку стандарта то там совсем дебри начинаютсяВот удивительно, сишникам не нравится отсутствие стандарта у раста, хотя у него есть как минимум rfc, но сами опубликованные спецификации соблюдать не хотят. Точнее не то что не хотят, не могут. И вместо того, чтобы взять готовую реализацию пишут свой велосипед
>Ну да, меня вот больше волнуют бэкдоры в чужом коде чем ошибки в своём :))))А потом берёшь программу сишника, а она падает и не работает с файлами по спецификации. Вообще, работа с любым парсиннгом, реализованным на си - постоянная ходьба по граблям. То там что-то не работает, то тут какой-то велосипедный формат выбран.
И да, вы приводили этот код, как образец того, как в 2025 году писать на си. Хорошая антиреклама.
> К парсеру предъявляются определённые требования, вроде скорости, надёжности, обработке ошибок, полноте поддежки спецификаций и так далее.Смешной вы.
Мой парсер - мои требования.
> Кроме того, прочтий вы книгу Real World Ocaml, или курс cs3110, то знали бы как правильно писать парсерыМожет быть, только зачем?
У меня была задача, я её для себя решил.
> Что тут можно не понять? У вас есть несколько case без тел, идущих сразу перед defaultИ что?
Я написал так чтобы мне было понятно.
> Что значит "вроде"? Вы не знаете, что делает ваш код?Значит что я уже забыл как работает этот код, ведь прошло более 10 лет с момента его написания.
> Или не понимаете, почему просматривать строку вперёд, а потом возвращаться назад - плохая идея?Чувак, ты упоролся.
Этот код написан для того чтобы парсить в среднем файлы меньше 64кб раз в пару секунд или до пары мегабайт раз-два за время работы программы-демона.
Да вообще насрать, даже если бы он из файла читал по одному символу и то это бы не было очень заметной проблемой, а ты тут затираешь в сторону вымывания кешей.
В остальном - ну такой вот формат, по другому я ничего не придумал.
> А оно вот как - ему просто не полагается работать очень часто и очень много.Именно, бывает и вообще одноразовый код, который после выполнения становится не нужен.
> Допустим, я поставлю ваш чудесный софт и отредактирую файл руками. Всё сломается, а я не буду знать почему. Хороший софт для 2025 годаxml валидатор вам в руки, я даже в конфигах и вики писал про него.
Может дойдут руки и я перепишу на ini/json конфиги, и накорябаю какойнить конвертер.
> Но читать подобное - занятие не из приятных.Это ваша индивидуальная особенность.
> Хорошо, я открою код в ide, и изменю строку. Хоть одна ошибка компиляции вылезет? Или упадёт в рантайме, как и пологается настоящей сишной программе?Ваши правки - ваша отвественность.
Вопрос напрочь лишённый смысла.
> Насколько я знаю, размер подобных строк можно посчитать во время компиляции.Да, можно, но код от этого станет менее читаемым.
А конкретно там моя функции замены, она работает с бинарными данными ей нужны размеры.
> Правильно, нет, поскольку их до сих пор никто не сделал, в том числе и выИ что?!
> В каком месте вы её раздуваете?Значит перед каждый вызовом нужно будет дополнительно объявлять структуру и заполнять её.
> Каким образом это отменяет мои слова? Кроме того, стек ещё более ограничен в месте, по сравнению с кучей.Если 4кб взять со стёка это проблема - то это ваша проблема.
> И где это можно увидеть? Верить вам на слово? Даже если это так, то зачем тогда такой перерасход памяти? Килобайт туда, килобайт сюда, и вот приложение потребляет на порядки больше чем нужно.Чтобы это понять надо прочитать код и понять что он делает.
"Перерасход" - потому что я могу себе это позволить.
Вы походу вообще не понимаете как устроен стёк потока раз пишите такую фигню.
> И вместо того, чтобы взять готовую реализацию пишут свой велосипедВместо того чтобы написать свой код тянут тысячи лефтпадов.
> И да, вы приводили этот код, как образец того, как в 2025 году писать на си. Хорошая антиреклама.Я приму ваше мнение к седению :)
>Мой парсер - мои требования.Так за что вы тогда rust критикуете? Их код - их требования
>Может быть, только зачем?Чтобы знать, как правильно писать код, в частности парсеры
>Значит что я уже забыл как работает этот код, ведь прошло более 10 лет с момента его написания.Ненавистники раста критикуют код за нечитаемость. Я вам даже номера строк привёл, могли бы прочитать, дело минут на пять. Подождите, это не раст нечитаем, это - си
>Этот код написан для того чтобы парсить в среднем файлы меньше 64кб раз в пару секунд или до пары мегабайт раз-два за время работы программы-демона.Эти слова нужно писать в исходнике каждой сишной программы. Почему современный софт тормозит? Может потому, что он на интерпретируемых языках? Нет, он потому, что сишники оптимизировать не захотели. Только вопрос, зачем для этого нужен си?
>xml валидатор вам в руки, я даже в конфигах и вики писал про него.Ваш парсер не прожуёт валидный xml код.
>Ваши правки - ваша отвественность.Отлично! Перила не нужны, живите в одноэтажном доме! А если серьёзно, то если вы допустите ошибку, то компилятор не сообщит о вашей же ошибке
>Да, можно, но код от этого станет менее читаемым.СИ не позволяет писать читаемый код?
>Значит перед каждый вызовом нужно будет дополнительно объявлять структуру и заполнять её.Как же это по сишному. Читайте весь код, от самого начала и до самого конца
>Если 4кб взять со стёка это проблемаДанный подход не масштабируется. Для крошечных программ это прокатит - для серьёзных - нет
>Чтобы это понять надо прочитать код и понять что он делает.Читайте весь код, от корки до корки. Как говорил Ларри Уолл, лень является программистской добродеятелью
>Вы походу вообще не понимаете как устроен стёк потока раз пишите такую фигню.Я знаю, что если в куче память можно выделять хоть гигабайтами, то со стеком такой фокус не пройдёт
>Вместо того чтобы написать свой код тянут тысячи лефтпадов.Вы против даже взять код из репозитория вашего дистрибутива?
>Вот чего у сишников не отнять, так это любви к велосипедам.А вот не от хорошей жизни, бро. Оно сторонее чаще всего глюкавое, тормознутое, работает не пойми как. И еще не ты там хозяин, а вынужден заказчику объяснять, что это вон те виноваты, нужно ждать когда поправят. Поэтому очень часто пишешь свою минималистичную реализацию, которая работает именно так как надо в данном проекте, а если не работает, так прилагаешь услилия, и обеспешиваешь это. Ибо ты там хозяин. Парсеров это тоже касается.
>К парсеру предъявляются определённые требования, вроде скорости, надёжности, обработке ошибок, полноте поддежки спецификаций и так далее.
Вы хоть сами пробовали пользоваться вон теми yacc-ами и прочими bison-ами? Это то еще дерьмище. А поддерживать все спеки и все требования часто не нужно, нужно чтоб оно конкретно в том случае для того проекта работало особо хорошо. И вот те обобщенные решения часто именно этого не предоставляют. Хотя подерживают все требования, скорости и что там еще у вас в списке.
>А вот не от хорошей жизни, бро. Оно сторонее чаще всего глюкавое, тормознутое, работает не пойми какГм. Я на си и плюсах не пишу, но что, даже опакеченное в гну/линукс дистрибутивах библиотеки такие?
>Вы хоть сами пробовали пользоваться вон теми yacc-ами и прочими bison-ами?Я писал с помощью menhir, lr парсер генератора для ocaml, мне понравилось.
>Это то еще дерьмищеА что там? Неужели плюсы накладывают какую-то свою специфику?
> И очень доставляет открыть свой код лет через 5-10 и офигеть насколько
> всё было плохо.Это нормальная эволюция из джуна. Со временем мы набираем опыт и становимся мудрее.
> Сколько там вашему расту? Лет 5-8? - хаха, оно даже как язык
> ещё сырое, смысла такое использовать в серьёзных проектах вообще нет.Более 10 лет. Эти му... еще и козыряют что
> Да и позиционирование как замена С и системный - просто смешно.
> Оно с крестами конкурирует по перегруженности сахаром,Но реалистично, в системщину - вот реально можно на С, C++ и хрусте. С теми или иными оговорками. И по C++ там как раз нехило прошлись, и - за дело. Ибо даже грандмастер C++ может профачиться на тему "есть ли запрещенные фичи C++ в этом патче?".
Проблема C++ в том что он отрастил синтаксис яп до нии...ческих величин. Хруст в этом смысле компактнее. И тупее. Скажем там нет оверлоада операторов. С 1 стороны это очень мощная фича. Можно написать string1 + string2 и получить например конкатенацию. С другой - вот видите вы someting_t wtf1, wtf2 ... wtf1 + wtf2 - и это может быть вообще совсем не тем что вы там себе представляли.
> пихают по понятной причине: придут крестоносцы и будут постоянно всё переписывать
> со старога вектора на новый и прочие бесполезные изменения ради изменений.Скорее по причине КУЧИ фич яп - так что при приеме патча даже и хрен поймешь, окей ли этот патч VS ограничения фич (ВСЕ фичи C++ в системщине юзать чревато). В хрусте это тоже - лезет, но там культурных наслоений все же меньше.
А такая гранд предъява хрусту - например, биндинги выглядят и не как нормальный хруст, и не как нормальный си - в общем - брейнфак. За что их и назвали - раком (а вовсе не сам хруст).
>Скажем там нет оверлоада операторовЕсть
>>Скажем там нет оверлоада операторов
> Есть
> https://doc.rust-lang.org/std/ops/index.htmlОх ты блин... там уже и не такое даже есть!
>> Try Experimental
> The ? operator and try {} blocks.И это тоже теперь? Поздравляю, вы кажется собрали все самые злые грабли си++ :). Темплейтов еще нету? А то пора бы уже.
>На практике все вокруг ходят и рассказывают какой раст прекрасный, при этом у самих часто ни одного самостоятельного проекта нет.Да, мало фрагментации с зоопарком дистрибутивов, оконных окружений и прочего, давайте ещё зоопар ядер разведём. Чтоб было как в BSD: FreeBSD, OpenBSD, DragonflyBSD, NetBSD(я точно никого не забыл?). Плавное переписывание - всегда самый правильный подход
>Ко мне понимание баланса и излечение от NIH пришло лет через 15, когда и своих проектов куча была и рефакторилВы уже стали дидом, который пишет на c89, и ни в коем случае ни C99?
>И очень доставляет открыть свой код лет через 5-10 и офигеть насколько всё было плохо.Плохо в чём? Что за удовольствие жить так, как будь-то на дворе начало девяностых, и куча полезных вещей до сих пор не изобретена/не сделана?
В БСД форки делались потому что авторы форков были категорически не согласны и имели другие видение на развитие.
У каждой БСД системы есть свои фишки, одна фря сплошной GENERIC в который по тихоньку втягивают всё хорошее.Я тоже не согласен с тем как во фре многое делается и у меня тоже есть свои личные патчи, которые не берут но которые я использую и буду использовать далее.
Так что можно сказать у меня свой форк фри :)
>В БСД форки делались потому что авторы форков были категорически не согласны и имели другие видение на развитие.А теперь представьте, что все споры о linux будут решаться аналогичным образом. И как потом из этой мешанины форков собирать что-то рабочее?
>и у меня тоже есть свои личные патчиЭто хорошо
>которые не берутА вот это - плохо. И одно дело, если это никому не нужно, и другое дело, если это нужно многим. Не хотелось бы выбирать между дровами на графику и файловой системной, например.
В линуксах большую часть пара спускают как раз делая разные дистры.
Всё равно в дистрах часто и ядро идёт со своими патчами а окружение так вообще везде своё-уникальное.
> Сколько там вашему расту? Лет 5-8? - хаха, оно даже как язык ещё сыроеА в чем проявляется сырость Раста конкретно как языка?
> придут крестоносцы и будут постоянно всё переписывать со старога вектора на новый и прочие бесполезные изменения ради изменений
Ты вообще о чем? В плюсах был один и тот же std::vector с момента его появления.
>> Сколько там вашему расту? Лет 5-8? - хаха, оно даже как язык ещё сырое
> А в чем проявляется сырость Раста конкретно как языка?В том что когда девелоп кернела начинается с "скачайте ночнушку" - через 10 лет разработки тулчейна - это не есть нормальная ситуация. Там хрустикам популярно объяснили что двойные стандарты несколько не рулят.
> В том что когда девелоп кернела начинается с "скачайте ночнушку" - через 10 лет разработки тулчейна - это не есть нормальная ситуация.А можно пруф какой-то?
Ну типа цитата разработчика или ссылка на обсуждение?
(А то тут бегал местный еб№№№шка про ночнушки рассказывал, ИЧСХ тоже без пруфов)> Там хрустикам популярно объяснили что двойные стандарты несколько не рулят.
Судя по новости, раст попадет в ядро, как бы диды не копротивлялись.
В том что его всё ещё допиливают и как и с крестами от версии стандарта к версии нужно вносить правки в код.Про вектор я ляпнул первое что вспомнилось о языке вообще, наверняка вы сами знаете примеры постоянных мелких улучшений каких то базовых вещей.
> В том что его всё ещё допиливают и как и с крестамиТо есть конкретных претензий к языку у вас нет, правильно? Ну еще бы - мы же на Расте не пишем 😂
Нужно было забросить язык на версии 1.0 - было бы "зрело".
> как и с крестами от версии стандарта к версии нужно вносить правки в код.
Какие правки в код? Компилятор в режиме C++23 без проблем собирает код из C++98.
> наверняка вы сами знаете примеры постоянных мелких улучшений
Улучшений знаю, а вот переписывания - нет. И вв тоже не знаете, потому что пример привести не можете.
Цирк да и только...
> То есть конкретных претензий к языку у вас нет, правильно? Ну еще бы - мы же на Расте не пишемРазумеется нет, поскольку я на нём не пишу. А не пишу потому что мне мнение компелятора о том как правильно писать не интересно.
В данном случае претензия к растоманам которые тянут свою поделку куда не стоило.
> Какие правки в код? Компилятор в режиме C++23 без проблем собирает код из C++98.Может какой то хэлловорлд.
Как человек возящийся иногда со сборкой чужих проекто я видел что иногда форсят какой то конкретный стандарт крестов иначе проект не собирается.
> Лет 5-8?Rust 1.0, was published on May 15, 2015.
> оно даже как язык ещё сырое, смысла такое использовать в серьёзных проектах вообще нет.На сишке писать в прод начали ещё раньше, и сам язык развивался строго параллельно с написанием ОС в прод. Стандарт появился когда как следует натоптались по граблям в кровавом проде, задним числом. И так с тех пор и развивается — смотрят в дикой природе что работает, а что нет и добавляют. Но это другое, да?
> сам язык развивался строго параллельно с написанием ОС в продДо сих пор согласно Кернигану-Ритчи пишу алгоритмы. Всё работает. Фреймворки меняются - да. Язык-то тут причем. ЧЯДНТ?
> Сколько там вашему расту? Лет 5-8?Открываем Википедию и видим дату выхода версии 1.0: 15 мая 2015 года.
Я не понмаю вашей логики: молодой = плохой?
>Я не понмаю вашей логики: молодой = плохой?Диды не выучили, их время - прошло
Да, молодой = плохой.
Если бы у вас была своя кодовая база с каким то АПИ и вы её развивали на протяжении 5-10 лет вы бы поняли про что речь.
И поняли бы почему я восхищаюсь вендовым апи с оконными сообщениями.У меня была/есть такая база - liblcb, и я понимаю как аццки сложно сохранять стабильный АПИ, и что каждое его изменение - привет шаблонным правкам в других моих проектах где оно используется.
И вот щас я пытаюсь запилить "биндинги" в луа, и я чертовски буксую пытаясь придумать АПИ которое будет иметь достаточно функционала, можно будет аккуратно расширить и при этом не иметь 100500 параметров/аргументов для каждой функции, и не иметь так же 100500 функций.Конечно АПИ это не язык, и имея мозги можно чётко провести черту между языком и библиотеками. Но даже так, 5-10 ИМХО мало для языка, учитывая как менялись другие языки.
>смысла такое использовать в серьёзных проектах вообще нетГм. Гугл, Амазон, Клаудфлэр, Дискорд, Дропбокс, Вольво, Майкрософт считают, что смысл есть. А Иван с Опеннета - что нет. Кому верить? Это риторический вопрос, если что.
>Линуксу, как платформе для энтузиастов и гиковБыл таковым первые пару лет. Потом ибм принесла чумадан денег, и вот яфин как заправская путана продвигает повесточку, что ему корпы навязывают.
Платформами для гиков ныне являются netbsd и openbsd. И пусть попробует кто туда сунется в растом. Ибо решения там принимаются исходя из техчасти, а не повесточки.
> Платформами для гиков ныне являются netbsd и openbsd.Не... netbsd и openbsd это уже для совсем отбитых маргиналов.
Не нужно их приписывать к гикам.> И пусть попробует кто туда сунется в растом.
А тут раст есть))
wiki.freebsd.org/Rust> Ибо решения там принимаются исходя из техчасти, а не повесточки.
Это поэтому там нифига не работает?))
> wiki.freebsd.org/RustТри каллеки которые написали два хэлловорлда для ядра аж 4 года назад.
Полагаю все их усилия уходят на поддержку портов с гнилью, я как то в этом тоже учавствовал, пока на libressl сидел.
Увы, но там денег нет, не очень понятно как монетизировать знания и умения базирующиеся на этих платформах.
И DragonFlyBSD забыли, мне лично она ближе чем нет и опен.
>DragonFlyBSD забыли, мне лично она ближе чем нет и опен.Это потому, что фряшник. Стрекоза по сути та же FreeBSD, только с интересными фичами в ядре и крутой ФС.
Да я с неё же начинал.
Если бы кто платил - можно было бы пересесть на неё и допилить до уровня фря+ на десктопе.
(за исключением дров, увы)
> Если бы кто платил - можно было бы пересесть на неё и допилить до уровня фря+ на десктопе.Так уровень "фря на дестопе" это уже дно.
> (за исключением дров, увы)
А без дров будет очередной редокс. (но до Хурда все равно не дотянет)
В чём дно то?
У меня и линукс примерно так же бы работал, без особых видимых отличий.
>Увы, но там денег нет, не очень понятно как монетизировать знания и умения базирующиеся на этих платформах.Оно как раз там точно не для денег.
Тусовка опенка-исследования и реализации для комерческих проектов, в которых трудятся причастные. Плюс идеология, по-своему интересно.
Тусовка netbsd-это веселое ковыряние экзотического хлама, попытка впендюрить туда OS, нетка для этого удобней, чем разжиревший тукс.
>Платформами для гиков ныне являются netbsd и openbsdИ где они работают вне виртуалки, особенно последняя? На ней вообще произвольный софт не запустится, так как там куча сособенностей, вроде системных вызовов.
>Ибо решения там принимаются исходя из техчасти, а не повесточки.Поддержка оборудования это повесточка?
>И где они работают вне виртуалки, особенно последняяОпенок у меня на паре ноутов, очень даже стабильная системка, железо все работает. Хожу на интернет ресурсы оттуда. Нетка для экзотического хлама, попдправить на коленке исходники, запустить, словить экстаз. Вот оно для этого
>железо все работаетИ вайфай, и блютуз, и сон, и графическое ускороение? Что за железо?
wifi работает, карточки интелевские. Графика работает, карточки интелевские и амд-шные. Блюпуп даже не смотрел, мне на ноутах оно вообще не нужно. Ноуты, один thinkpad T420S, второй MSI-шный
>Платформами для гиков ныне являются netbsd и openbsd. И пусть попробует кто туда сунется в растом. Ибо решения там принимаются исходя из техчасти, а не повесточки.Насколько я знаю, там AI лапшу тоже забанили.
Позабавило однажды как какой-то AI выскочка нарисовался: https://marc.info/?l=openbsd-tech&m=171810103406609&w=2
Ему можно только посочувствовать.
Между прочим есть большие блины с лопаты весьма красивая традиция. Только не нужно рассказывать что лопаты где-то в земле ковыряясь, это ж не правда. В кулинарии вообще периодически используются предметы традиционно не предназначенные для кулинарии. Вы просто передачи об этом не смотрите. И те же американцы в этом преуспели, но никто же не говорит про использование мастерков, молотков, стальных и деревянных палок в их кулинарии. Это не считая дрели и некоторых нагревательных приборов.
Т.е. это уровень знаний о кулинарии типа корейцы едят собак, хотя в основном их едят туристы.
Интересно, а за код, принятый в обход сопровождающих, кто будет отвечать?
Пионер! Ты в ответе за всё! ©
Пионер всем ребятам пример! Ещё и дедушку Линуса будет через дорогу переводить.
Нашу песню не задушишь, не убьёшь, не убьёшь!
За код, написанный дидами сишниками, с их переполнением и прочими радостями жизни никто итак не отвечает. Хуже уже не будет.
в статье отмечена точка зрения, что проблема не с дедами и языком, а с новым 5летним кодом, похоже стало больше альтернативно одаренных, которым нужен жёсткий компилятор.
Кто замержил - тот и отвечает.
Линус об этом не подумал поэтому случится очередное "А кто это сделал?" в переписке когда вмержинное окажется кривым. А оно окажется)
Обычный, классический холивар.Юнцы сучат ножками за супермегановейший крайнеудобный псевдоинтеллектуальный... в общем, это страшно интересно же, ну как вы не понимаете.
Профи, которые прекрасно знают, как без этого добра обойтись и ничего не сломать, отмахиваются той лопатой, на которой им приперли попахивающих коммитов.
Линусу приходится отряхнуть банановые шкурки, летящие в обоих направлениях, и держать линию. Да, развиваться надо. В том числе - и интегрируя новые технологии. Истерички - в сад, пожалуйста. Мантейнер, ты устал, выдохни и убери нож. Все будет хорошо, но попозже. Пока - работаем.
Чувствуется набитая рука военблохера, я аж чаем поперхнулся.
Куда переводить-то?
Ты забыл написать "победа будет за нами!" ))
Так тебе денег никто не даст.
Переписывай!
Давно гадаю: вот это сугубо свойственное троллям обвинение собеседников в собственных грешках - это методичка подсказала или подсознание предательски подсовывает?
С одной стороны - конечно, простой и действенный метод: завалить полемику дебилизмом.
С другой - ну уж так палиться... впрочем, божья роса же. Вряд ли стоит подходить к этому крысятнику с общечеловеческими мерками и предполагать хоть какое-то чувство собственного уважения.
> Вряд ли стоит подходить к этому крысятнику с общечеловеческими мерками и предполагать хоть какое-то чувство собственного уважения.Ну да. И это всё в порядке вещей. Каждый на своём уровне развития. Welcome to the Internet.
>Профи, которые прекрасно знают, как без этого добра обойтись и ничего не сломать, отмахиваются той лопатойПока профи в поте лица копают палкой-копалкой, лопаты уже сменяются экскаваторами, а диды говорят - во видите, а я ж говорил, что от лопат скоро откажутся!
Если бы в коде не находили тривиальные ошибки которые раст не допускает данный вопрос не поднимался бы вообще, но ошибки находят, находят, находят и находят.
Есть способ перекрыть этот поток и новые и новые "юнцы" будут приходить про проект который будет застрахован от их кривых рук. По моему это прекрасное решение.
Несомненно всё ядро стоит переписать на расте
Вы четко видите цель, но почему-то сидите здесь и спорите со мной. Я лично вам - не мешаю.
> По словам Кристофа, работа с подобной смешанной кодовой база стала для него худшим кошмаром, так как в подобных условиях постоянно происходит переписывание кода с одного языка на другой, а затем обратно.То есть сопровождение весьма усложнилось.
> Мэйнтейнерам будет проще рецензировать изменения и проводить рефакторинг модулей с учётом гарантий, предоставляемых языком Rust.
Не смотря на то, что ожидалось прямо противоположное.
> С учётом того, что сопровождающие болезненно реагируют даже на тривиальные вещи, такие как проверки на целочисленное переполнение, непонятно
Плюс ещё Rust-сообщество в ядре ведёт себя не то, чтобы сильно иначе, нежели Rust-сообщество вне ядра.
> При этом Кристоф просит пояснить ему цель внедрения Rust в ядро.
Да это в целом понятно. Текущие специалисты потихоньку стареют, а уровень теоретической подготовки новых -- существенно просел. Надо думать наперёд, и закладывать эти риски в архитектуру заранее.
> Поддержка современного языка привлечёт к разработке ядра новых участников.
Даже точнее: это минимизирует риски от их привлечения. Привлекать молодую кровь конечно надо, но и рисковать качеством продукта особого желания ни у кого нет.
Так Кристоф в самом посте пишет, что он знает Rust и писал на нём. И вообще он За - Раст! Он лишь категорически против многоязычной кодовой базе. Но я не понимаю на что все так возбудились. Это всего лишь биндинги к одной C функции, которые будут использовать драйвера на Rust. И это как раз облегчает сопровождение драйверов, потому что биндинг будет находится в едином месте, а не разбросан по всем драйверам. Если есть сложность сопровождения, то ему предложили помощника, так что выходит дело не в этом.
> И это как раз облегчает сопровождение драйверов, потому что биндинг будет
> находится в едином месте, а не разбросан по всем драйверам.А проблемы сопровождения драйверов - это проблемы сопровождающих драйвер.
Так вообще вроде предлагали копипастить сишную декларацию во все драйвера.> Если есть сложность сопровождения, то ему предложили
> помощника, так что выходит дело не в этом.А он не хочет помощника. Он хочет единолично мейнтейнить этот кусок ядра.
Это уже тревожный звоночек.
> Ну, барин, ты задачи ставишь. За десять дён одному не справиться! Тут помощник нужен - homo sapiens.Вот пришел патч и биндинги сломались, чего помощник делать будет? Метнется и поправит весь код на расте? Запретит принимать патч без патча для раста? Просто заблокирует пока генератор биндингов не поправят?
Тревожный звоночек это два мэнтейнера, один из которых беспокоится за свой "кусок кода", а второй хочет пропихнуть раст любой ценой.
> Вот пришел патч и биндинги сломались, чего помощник делать будет?
> Метнется и поправит весь код на расте?Да, он именно это и предложил "если будет ломаться расткод, я буду его исправлять"
> Тревожный звоночек это два мэнтейнера
Пока что мейнтейнер один, который и раст не хочет, и от помощи отказывается.
И именно вот это наводит на плохие мысли.
> Да, он именно это и предложил "если будет ломаться расткод, я буду его исправлять"а потом он такой "я выгорел".
Ну серьезно, чтобы патч прошел надо не только пробиться через мэнтейнеров всех затронутых подсистем, но и подождать неизвестное время, когда подтянутся мэнтейнеры на расте.
Это при том, что тут же (и может даже те же) ноют, что патчи плохо принимают> Пока что мейнтейнер один, который и раст не хочет
он не хочет чтобы проблемы с биндингами влияли на других
> и от помощи отказывается.там не помощь, там сплит-брейн какой-то.
Что ему делать если код на расте быстро исправить не получилось? Смержить сишный и поломать все второму? Заставить переписывать патч так, чтобы раст не затрагивало? Ждать?
Что делать если для раста потребовалось что-то поменять в сишном коде? Блокировать его? Заставить переписать? Срочно искать того, кто перепишет остальное?
>> Да, он именно это и предложил "если будет ломаться расткод, я буду его исправлять"
> а потом он такой "я выгорел".А если СИшник выгорит?
Вот недавний пример
Калле Валло (Kalle Valo) – единственный сопровождающий разработчик драйверов беспроводных сетей в Linux – объявил о своём уходе с этой должности.
lore.kernel.org/linux-wireless/87wmefguqt.fsf@kernel.org/> Ну серьезно, чтобы патч прошел надо не только пробиться через мэнтейнеров всех затронутых подсистем, но и подождать неизвестное время, когда подтянутся мэнтейнеры на расте.
А мы прям куда-то спешим?
Тебе и обычного мейнтенера возможно придется ждать долго.> он не хочет чтобы проблемы с биндингами влияли на других
Какие именно проблемы он рассказать не потрудился.
>> и от помощи отказывается.
> там не помощь, там сплит-брейн какой-то.
> Что ему делать если код на расте быстро исправить не получилось?Что значит "не получилось"?
> Смержить сишный и поломать все второму? Заставить переписывать патч так, чтобы раст не затрагивало? Ждать?
Да, ждать. Это называется "работа в команде")
Можно даже попинать коллегу, ну чтобы работал быстрее.> Что делать если для раста потребовалось что-то поменять в сишном коде? Блокировать его? Заставить переписать? Срочно искать того, кто перепишет остальное?
Какие-то фантазии.
А если все мейнтенеры отравятся просроченным коксом от LF и помрут?
А если инопланетяне похитят Торвальдса?
> А если СИшник выгорит?тогда ой в обоих случаях, растовый мэнтейнер на сишную часть вроде как не подписывался
> А мы прям куда-то спешим?
мне, как потребителю, интересны драйверы на новые железки. И некоторые другие вещи в принципе тоже
> Тебе и обычного мейнтенера возможно придется ждать долго.
а так может дважды долго, а может и трижды
> Какие именно проблемы он рассказать не потрудился.
он привел пример про отклонение патча из-за того что генератор биндингов не отработал.
> Что значит "не получилось"?
А почему не спрашиваете, что значит "быстро"?
Растовый мэнтейнер тоже может быть занят, его тоже может сбить автобус и т.д.> Можно даже попинать коллегу, ну чтобы работал быстрее.
чтобы он выгорел быстрее, потому что на него оказывают давление
> Какие-то фантазии.
хотите сказать, что у растового мэнтейнера не может быть предложений по улучшению сишной части?
>> А если СИшник выгорит?
> тогда ой в обоих случаях, растовый мэнтейнер на сишную часть вроде как не подписывалсяПечальная ситуация.
Тогда нам нужно 2 мэнтейнера на СИ, и 2 на раст.
И чтобы они находились на разных континентах и экономили предлагающим патчи время, за счет разницы в часовых поясах.>> Тебе и обычного мейнтенера возможно придется ждать долго.
> а так может дважды долго, а может и триждыЗначит удваиваем их кол-во!
>> Можно даже попинать коллегу, ну чтобы работал быстрее.
> чтобы он выгорел быстрее, потому что на него оказывают давлениеНу а чего он тупит? (с)
> хотите сказать, что у растового мэнтейнера не может быть предложений по улучшению сишной части?
Могут. Но опыта у него думаю меньше и он будет слушать более опытного коллегу.
> Тревожный звоночек это два мэнтейнера, один из которых беспокоится за свой "кусок кода", а второй хочет пропихнуть раст любой ценой.Если ментейнер один, то это уже огромная проблема.
Вдруг его автобус собьет?
Или он женится и забьет на красноглазие?В нормальной разработке bus-factor учитывается.
Жаль что речь не про ядро.
> Если ментейнер один, то это уже огромная проблема.так тут третий нужен, иначе они самозаблокируются
> проблемы сопровождения драйверов - это проблемы сопровождающих драйвер.А как же заявление, что мы не пишем ядро ради процесса написания ядра. - Мы пишем инфраструктуру.
> Так Кристоф в самом посте пишет, что он знает RustЯ вроде и не утверждал обратного.
Так в чём тогда сложность сопровождения, если а) он знает Rust, б) ему дадут помощника если попросит, в) это биндинг к одной функции?
Из всего этого остаётся только чистое неприятие видеть Rust код в ядре.
> Так в чём тогда сложностьОчевидно, в том, что товарищ fuggy вместо того, чтобы почитать самого Кристофа или адресовать свои вопросы ему лично -- делает неявные предположения о позиции Кристофа и адресует свои вопросы аудитории опеннета.
он же написал в чём косяк: когда растохлам будет сидеть в ядре как биндинг, то в случае поломки этого растохлама, участок ответственности этого мейнтейнера формально сломан и изменения не могут быть приняты в ядро.
и как знающий человек он пишет, что поломка может проявиться только в растовом биндинге, а не в родительской функциональности на си.
поэтому он просто мягко попросил просто не тащить биндинги в ядро, а оставить их биндингами, чтобы чинили их люди, которые пишут растовые расширения.
это логично - биндинг должен сопровождать тот, кто пишет и пользует биндинг.
и тут у раст-комьюнити пригорело, что кто-то не хочет тратить силы на навязываемый ему биндинг, который ему не интересен.
но раст-комьюнити почему-то стыдливо промолчало и не выставило кандидатуру тех, кто будет отвественный за сопровождение этого биндинга.
отсюда неглупые люди сделали очевидный вывод: раст затаскивается именно в ядро только чтобы парализовать работу мейнтейнеров. а т.к. львиная доля работы - это именно системы и их сопровождение, логично, чтобы разрушить процесс разработки, нужно размазать кое-что ровным слоем везде. чем вобщем-то и заняты корпы. линус и растовки - пешки
> но раст-комьюнити почему-то стыдливо промолчало и не выставило
> кандидатуру тех, кто будет отвественный за сопровождение этого биндинга.Чел сам предложил себя на эту роль. Но ему ответили "втарой мантейнер нам ненужОн!"
Значит он не так сильно и хотел чтобы кто-то это исправлял, а только искал формальные причины это не делать. Попахивает самоуправством.
я не разраб (но я стремлюсь), поэтому войны гове...языков в ядре прошли мимо меня, но если раст такой кучерявый, а его лапищ..соёбщество такое крутое и могучее - ну так пусть оно сидит и молча пилит форк ядра, обмазывает его чем хочет и обзывает впоследствии это как хочет. где-то есть декларативный запрет на разработку принципиально новых (нет) ОС? да вроде нет. а раз нет - ну так пусть дети едут е#аться на природу-шашлыки, а не атакует родительскую спальню, тем более когда оба родителя там заняты делами. чо лезть в ядро-то старческое? оставьте его как есть. отказался переходить на пятый билд. учусь компилять вместо этого говна, которое в систему срёт овер 4гб непонятного при влезании в вашу ОС, если досель этого там ничего не было.
Говоря вашими словами. Родители (Линус и Грег), уже продвинутые пенсионеры, совсем не против отказаться от патефона и перейти уже на dvd. Да и говорят удобнее с ним, ломается меньше, пыль протирать не надо. И с внуками будет на одной волне.А что про ядро. Так можно ещё раз сослаться на статью, что 70% ошибок в коде связаны с памятью. А вы читали ответ Грега? Где он говорит что принимая новый код на Rust, мейнтейнеры на ревью уже не должны будут смотреть не обделался ли кто, не вышел ли за границы буфера, а уже начнут делом заниматься и ревьють логику API.
> А вы читаливот тут-то как раз и суть моего тут присутствия. я очень давно не в повестке, сейчас вот сижу смотрю что в СПО происходило последние годы. но я пока что нигде не увидел внятного ответа на вопрос почему яп, не проверенный в проде под тяжелыми условиями нужно тащить в ядро которому уже скоро сорок. ради что? форкайтесь.
но на это мне отвечают что мы мол уже нафорковались. иду смотреть, мельком бегу по статьям. таки да - форков каких хошь. так #ер ли вам надо от ядра? простойте в проде хотя бы лет 10.
> совсем не против
нуууу тут как знать, им могли "убедительно раъяснять" перед этим
> отказатьсяа вот тут вы правы. раст в ядре означает что сообщество более не в состоянии сопротивляться корпам.
> сейчас вот сижу смотрю что в СПО происходило последние годыОзнакамливайтесь. И посмотрите ответ Грега. Второй человек после Линуса, которому с этим кодом работать непосредственно. Техническое разъяснение, а не вот эта пропаганда, что кавычки в расте не красивые, поэтому язык плохой или что раст придумали рептилоиды, чтобы переманить всех на тёмную сторону.
> не проверенный в проде под тяжелыми условиями
Проверен. Вот уже 2 года в ядре, а до этого череда патчей, где все замечания Линуса устранили. А что касается прода: chromium, firefox, tor, android, cloudflare, dropbox недостаточный прод?
> тащить в ядро которому уже скоро сорок
Так потому что ядро развивается. Потому что пишут новый код. И им надоело фиксить CVE, когда очередной си-профессионал ломает указатель.
> ядре означает что сообщество более не в состоянии сопротивляться корпам
Видимы вы слишком долго спали. Уже давно 90% коммитов идёт от корпораций. Потому что они ядро пользуют, поэтому и развивают. Так что форкать надо было значительно раньше. Ну либо вычищать как LinuxLibre, но вы я так думаю безкорпоративным ядром пользоваться не захотите.
>Вот уже 2 года в ядрея на четверке езжу.
>все замечания Линуса устранили
в смысле - нафик послали? или я наоборот понял?
>А что касается прода: chromium, firefox, tor, android, cloudflare, dropbox недостаточный >прод?
если завтра половина из этого упадёт - я не замечу этого, честно вам сказать. пользоваться тором стало бессмысленно, фф мне явно не друг, андроид давно заменен на вещи посвободнее и тд. сетевой инфраструктуры я пока что не имею и поэтому кф мне не сильно важен. дропбоксом и в принципе файлообменниками я не пользуюсь веду их ненужности.
>вы я так думаю безкорпоративным ядром пользоваться не захотите.
я сижу на ванильном ядре. не знаю насколько для вас это "корпоративно", но на мой взгляд нинасколько - слакварь не имеет инвесторов.
>Видимы вы слишком долго спали.ну так чтобы в старости мочь себе позволить развлекаться - нужно много работать в зрелости.
> Текущие специалисты потихоньку стареют, а уровень теоретической подготовки новых -- существенно просел.Разве?
Как раз спецы старой закалки любят делать "на глазок, зато быстро".
И пишут ext4: check if directory block is within i_sizeА потом через 9 лет обнаруживается CVE-2022-1184
Которую двумя попытками таки фиксят (но это не точно) [1]> Надо думать наперёд, и закладывать эти риски в архитектуру заранее.
Так архитектуры особо нет. Просто кидаем код в кучу (монолит), а оно как-то работает.
> Привлекать молодую кровь конечно надо, но и рисковать качеством продукта особого желания ни у кого нет.
Качества особого нету и не было, судя по словам Линуса:
You'd think that all the basics would have been fixed long ago, but they're not. We're still dealing with basic issues such as memory management.[1] opennet.ru/openforum/vsluhforumID3/135976.html#196
Прочитал и обдумал. Противоречий не вижу, связи тоже.
> Разве?
> Как раз спецы старой закалки любят делать "на глазок, зато быстро".
> И пишут ext4: check if directory block is within i_size
> А потом через 9 лет обнаруживается CVE-2022-1184
> Которую двумя попытками таки фиксят (но это не точно) [1]Чтобы вас ЭТИМ долбануть - надо УЖЕ иметь полный контроль над вашей системой. БезопасТники такие безопасЬники...
> Текущие специалисты потихоньку стареют, а уровень теоретической подготовки новых -- существенно просел.Текущие специалисты мужественно пишут файловые системы с заканчивающимися инодами, это не баг, это фича. А ещё, текущие специалисты постоянно совершают очередную ошибку в работе с памятью.
Текущие специалисты слишком медленно реализуют фичи языка, и бизнесу надоело ждать, пока вялые комитеты раскачаются... Или Linux собирается без GNU ext?
Деды из GNU не поторопились. Были бы расторопнее уже бы написали GNU rust extensions. А так возможность уже упущена и всё перехватил под своё крыло MS. Теперь MS будет писать свои EEE расширения.
> Деды из GNU не поторопились. Были бы расторопнее уже бы написали GNU rust extensions.Не написали бы.
Потому что это пришлось бы раст учить. мозги включать..> А так возможность уже упущена и всё перехватил под своё крыло MS. Теперь MS будет писать свои EEE расширения.
Так GNU extensions это и есть типичное корпоратное ЕЕЕ.
Мы приколотили свои особые функции/форматы для того чтобы монопольно владеть сборкой ядра.
> Мы приколотили свои особые функции/форматыНадо понимать Clang extensions - это другое?
Так то пишут уже gcc-rust, но слишком медленно. А завязывать всю компиляцию раста на GNU/Linux на один корпоративный компилятор с пермиссивной лицензией не правильно.
И вообще этот беспредел с cargo по идеологии напоминает npm, где любой выкидывает свои пакеты под MIT лицензией, а потом во фреймворке одни лефтпады.То есть ты считаешь что расширения от матёрых разработчиков, которые полезны для разработчиков это корпоративные излишества. И эти расширения не полезнее чем то, что уже есть в стандарте языка?
> монопольно владеть сборкой ядра.ну так я о чем уже пишу же - пусть растовцы идут и пишут своё ядро. и всё. минусов не вижу. в прод это поделие не попадет ни у кого кроме умалишенных, а у мира появится альтернативное полнофункциональное ядро сверху донизу написанное на "принципиально новых" языках типа раста. чо вы доебались до пенсионера-то, я не вкурю никак.
>По словам Кристофа, в личной беседе Линус Торвальд заявил, что он твёрдо намерен принять в ядро Rust-код, несмотря на возражения мэйнтейнеров.Вот интересно, а кто будет рецензировать код на Rust? Торвальдс-то тоже не спец в Расте. Значит, будет просто принимать.
Таким образом, добро пожаловать вливанию бекдоров вместе с растокодом! Проверить-то некому, только те двое оставшишся. Во-первых, зашьются, во-вторых, с ними могут договориться, кто надо.
> Таким образом, добро пожаловать вливанию бекдоров вместе с растокодом!Вливанию бекдоров вместе с сишечкой никакие ревью матерых сишников не мешали.
Ведь достаточно просто где-то тихонько не правильно посчитать индекс или "забыть" проверить входные данные. И тебя даже подозревать не будут - все же так делают))
> Вот интересно, а кто будет рецензировать код на Rust?Те кто его знают.
Дай-ка подумать, пусть это будет.. Грег Кроа-Хартман - он любит раст и разбирается в нем.Например он помогал писать статью в гугл блоге
https://x.com/gregkh/status/1382648596110192647?mx=2> Торвальдс-то тоже не спец в Расте. Значит, будет просто принимать.
А типа сейчас он ревьювит все изменения.
Особенно 5 лямов авто-генерированных строк дров от амдшников.> Таким образом, добро пожаловать вливанию бекдоров вместе с растокодом!
Тупое, ничем не подтвержденное утверждение.
Я уже молчу что уязвимостей и бекдоров я ядре и так хватает на СИшке.
В Сишке рецензирующих, хотя бы, могут проверить другие рецензирующие.
Установка *BSD системы на десктоп уже не кажется таким уж странным решением.
Так вы поставьте для начала и посидите с недельку, попробуйте в работе и быту. Сразу на Linux вернётесь.
> Установка *BSD системы на десктоп уже не кажется таким уж странным решением.Маленький нюанс состоит в том что их девелоп сейчас состоит - из копипаста дров из линя. Does it rings a bell?
Туда ржавая гиена уже тоже пролезть пыталась, но вроде пока отбились.
>>Установка *BSD системы на десктоп уже не кажется таким уж странным решением.С разморозкой! PC-BSD всплыл и канул уже давно.
причем тут разморозка? не все живут от загрузки до загрузки как вы (судя по всему). ирл тоже требует времени на понять что вокруг просходит. времена-то горячие давно. так что вы стопудов не в курсе за какие-то давно уже происходящие вещи в какиз-то областях, о которых к примеру знаю я, а мы с вами оба не в курсе за движи, в которые вовлечен кто-то иной. и так далее. что за снобизм про разморозку?
Почему никто не задумался о ядре без раста? (форк например)
Были как то недовольные системд-ой - ну организовали свой деб, со своим зоопарком и шлюпками, живут в ус не дуют, а эти чего ждут?
> Почему никто не задумался о ядре без раста? (форк например)Уверен что задумывались.
Но это ж "работать надо".> Были как то недовольные системд-ой - ну организовали свой деб, со своим зоопарком и шлюпками, живут в ус не дуют,
Во-1х, выпилить системмд полностью у ни не вышло
Во-2х, я бы не назвал это жизнью))> а эти чего ждут?
А вдруг Торвальд передумает и можно будет еще 20 лет писать овнокод под С11 ?
>>Почему никто не задумался о ядре без раста? (форк например)Про балканизацию ничего не слышали?
>Во-1х, выпилить системмд полностью у ни не вышлоКто бы мог подумать, что для этого оказывается нужно писать код, а не просто нажимать на клавишу Del.
>полностью у ни не вышлоВам кто это сказал ?
или Вы наличие sd смотрите по папкам, которые __в одном пакете с dpkg лежат__ (если быть точнее, то в deb-systemd-helper'e который, внезапно, не только systemd. он в принципе служит прослойкой для менеджмента сервисов для dpkg под любым инитом.) ?
им зачем куски dpkg форкать ? чтобы эксперты, вроде Вас, на опеннете не писали ?
бинарников от sd нет, библиотек - тоже.
более того, даже менеджмент сеансов более огрызков sd не требует, ибо адаптировали seatd. а на разного рода elogind зависят сейчас только.. гном и кде. где разрабы решили не париться и чуть ли не напрямую лазать в $XDG_RUNTIME_DIR/systemd/sessions, лол.>я бы не назвал это жизнью))
да Вы бы и не думали .. ах, да, Вы ж, перед тем, как писать - и не подумали.
> Почему никто не задумался о ядре без раста?Хаха, ну попробуйте))
Во-первых, это сразу же получается tainted kernel, а значит если у вас проблемы - то gfys.
Во-вторых, код будет писаться на расте, значит вам нужно будет портировать его на сишечку, при этом не зная раста. Удачки))
В-третьих, это же что-то делать нужно будет! А кто за это будет платить?
Или ядро будет отставать на годы от мейнлайна?ПЫСЫ: исксы вы уже форкули)))
> Хаха, ну попробуйте))
> Во-первых, это сразу же получается tainted kernel, а значит если у вас проблемы - то gfys.Абсолютный, фееричный булшит.
1) Сборка хруста вообще не активна по дефолту в билдконфиге ядра.
2) Если даже дистро в своем конфиге зачем-то ее врубил - можно ее так же и отрубить, перестроив кернел.
3) Все это конечно же не ведет к tainted kernel.
4) На rust нет - и на данный момент не планируется - никаких core подсистем. Только посмотреть как на этом писание дров будет.И почти все это можно - прочитать по ссылке в вон том треде. Ну или сказав make menuconfig или что там. Так что нефиг тут врать.
Хотя *BSD с копипастой дров может стать забавно даже и так. Но зачем им binder - хз.
Уверен - не только задумались, а наверняка есть такая версия ядра. То же Линукс либре ядро. Вполне допускаю, что есть ментейнерв оригинального ядра, которые уже в этом проекте участвуют.
так у них лапки на такое ещё не отросли и в попе обосновался палец корп. я пишу это как мимокрокодил начинающий мейнтейнер. ЗЫ - начинающий в плане что именно о сопрах речь.
Если бы все недовольные Линусом разработчики переключились на BSD, через год имели бы вполне готовое к десктопу ядро на исконно православной лицензии.
Ядро там уж точно получше линукса. Единственное, что действительно нужно, так это драйвера и свойZ независимый от freedesktop, графический стек.
Если дрова еще можно выциганить у производителей, или спи.. в смысле переписать (например на другой язык, со сменой лицензии) или на крайняк развернуть ядро линукс внутри фряхи...То свой "независимый от freedesktop, графический стек" - Нет, сынок, это фантастика!
Даже если разработчиков БЗДи клонировать и увеличить кол-во в 10 раз, все равно не потянут.
>развернуть ядро линукс внутри фряхиЕго теперь только в общественном туалете на полу раворачивать можно.
>Даже если разработчиков БЗДи клонировать и увеличить кол-во в 10 раз, все равно не потянут.
Тебе-то откуда это знать, великий гуру разработки? Вон, BeOS в своё время, не обладая большими ресурсами, написали классный графический стек, который уделывал и винду и макось по всем параметрам. Было бы желание.
> Вон, BeOS в своё время, не обладая большими ресурсами, написали классный графический стекТы про проприетарную разработку от конторы? Да, они могут, ты сам привел факты.
> Было бы желание.
Были бы деньги, ресурсы и понимание что хотят получить. Ну и возможность влиять на своих пользователе.
Но тогда встречный вопрос - почему в бзде и лине такого до сих пор не сделали?
Во чего им не хватает?
За бздю не скажу, а в лине тупо заигрались в идеальную архитектуру, забыв про все остальное, да и архитектура со временем перестала выглядеть идеальной, а скорее тупиковой. А смелости это признать не хватает.
вопрос к знающему (не троллинг и не сарказм, я просто не отслеживаю) - как там дела у хайкуос? на ней уже завелась жизнь? я все хочу на нее посмотреть в живую, последние неск лет не следил за ними, повторюсь. просто сейчас у меня есть ресурс этим заниматься.
>и свойZ независимый от freedesktop, графический стек.Тут поддержку wayland ещё не все внедрили, а вы о своём стеке мечтаете. Кто будет патчи с этим стеком во все 100500 проектов рассылать?
>Тут поддержку wayland ещё не все внедрилиВ этом нет ни малейшего смысла.
>Кто будет патчи с этим стеком во все 100500 проектов рассылать?
Apple рассылает патчи со своим стеком во все 100500 проектов? А Microsoft? То-то же.
Необходимо строить свою целостную и независимую ОС от всего этого фридесктопного мусора. Забыть про все xorg, wayland, gtk и прочую нечисть. Предоставить разработчикам удобный и железобетонный API. Только в этом случае можно получить законченную рабочую десктопную ОС. Apple это давно поняла и выбросила на помойку весь этот мусор, написав свою собственную реализацию.
>В этом нет ни малейшего смысла.Вопрос не в смысле, вопрос в скорости. Вы разрабатывать софт будете тысячелетиями
>Apple рассылает патчи со своим стеком во все 100500 проектов? А Microsoft? То-то же.Во-первых, у них уже есть большое количество пользователей. У вашего нового стека - 0. Во-вторых, если нужный мне софт не работает под виндой, то винду я не ставлю, она мне не нужна
>Предоставить разработчикам удобный и железобетонный API.Вперёд, делайте
>Вопрос не в смысле, вопрос в скорости. Вы разрабатывать софт будете тысячелетиямиДаже как-то смешно это читать в контексте самого позорного долгостроя за всю историю компьютеров - вейлэнда.
>если нужный мне софт не работает под виндой, то винду я не ставлю, она мне не нужна
Врунишка, что там у тебя может не работать под виндой, если это ОС с самым большим в мире количеством софта?
>Вперёд, делайте
Вася дал добро на разработку, аж камень с души упал.
> Даже как-то смешно это читать в контексте самого позорного долгостроя за всю историю компьютеров - вейлэнда.Вейланд версии 1.0 - октябрь 2012 год.
Можно прикопаться и считать от версии 0.85, но это тоже начало 2012.
Сейчас 2025й и иксы выкинули все нормальные дистрибутивы.
Остались только в LST или у всяких маргинальных личностей.Я бы сказал это довольно неплохой результат.
>Даже как-то смешно это читать в контексте самого позорного долгостроя за всю историю компьютеров - вейлэнда.Не помню точно, сколько лет назад на wayland перешёл, вроде ещё до начала двадцатых. Но вы рассказывайте какой это долгострой, интересно будет послушать
>Врунишка, что там у тебя может не работать под виндой, если это ОС с самым большим в мире количеством софта?С каких пор абсолютно весь софт стал работать под виндой?
>Вася дал добро на разработку, аж камень с души упал.Ну так где результат? У вас вообще ничего нет, даже пустого репозитория с файлом coc и лицензией.
..и которая нужна горстке лишь идиотов, верящих в чудо из купертино, на мой взгляд. пробовал яблочную технику. неудобно там.
Ну, не то чтобы вполне готовое... зато сразу пятнадцать!
> Если бы все недовольные Линусом разработчики переключились на BSD, через год имели
> бы вполне готовое к десктопу ядро на исконно православной лицензии....которое потом растащат в норку корпорации, разодрав 1 большой сильный проект на много мелких чахлых проприетарных форков.
Не вижу логики. Код можно скопировать к себе в чахлую проприетарщину, но не переместить. Если количество разработчиков BSD перешагнет определенную границу, то и развивать такое ядро будет себе дороже для корпорастов - станет проще деньги в апстрим заносить.
Не перешагнёт. Копры будут друг на дружку поглядывать и ждать, пусть кто-то другой своё первым открывает. В таких "друзьях" согласься точно не будет.
> и ждать, пусть кто-то другой своё первым открываетя правильно понимаю что вы отрицаете медицинский факт того, что описанное вами уже давным-давно происходит?
>Если количество разработчиков BSD перешагнет определенную границу, то и развивать такое ядро будет себе дороже для корпорастов - станет проще деньги в апстрим заносить.В GPL Linux достаточно однократно влить много денег, и самоорганизуется сообщество, которму будет дешевле платить, чем писать самостоятельно с нуля. В BSD BSD если неаккуратно влить даже немного денег, появится очередной огрызок с призакрытыми исходниками. К себе нужный патч сообщества он утянуть сможет, а вот поделится - нет. Зато, может быть, он согласится лицензировать свой код всем страждущим. А может и не согласится, зачем ему помогать конкурентам? А если денег влить много, то появится несколько огрызков, разумеется несовместимых. Смогут ли потом эти огрызки конкурировать с GPL Linux вопрос открытый.
>Зато, может быть, он согласится лицензировать свой код всем страждущимДля примера можно взять Apple. Можно ли поставить MacOS не покупая огрызочное железо? Мало того, что официальной поддержки раньше не было, был только хакинтош, так сейчас ещё у них железо экзотическое, с arm архитекурой. Не на малину же его ставить. Или китайцев взять, тот же Huawei, какие продают смартфоны с залоченными загрузчиками. Хотя казалось бы, китайцы только немного адаптировалои уже готовый код, и скрывать им особо нечего.
Ты предпочитаешь не защищать свой труд?
Напишите уже своё ядро на расте и клепайте на нем свои расто-дистры, вот тогда будет ясно, имеет оно смысл или нет. Зачем портить то, что прекрасно работает и без раста?
Но это же писать надо!
а у них лапки.
> Напишите уже своё ядро на расте и клепайте на нем свои расто-дистры, вот тогда будет ясно, имеет оно смысл или нет.В смысле?
Мы в свое ядро (ну то что kernel.org) просто добавялем то, что считаем нужным.
Надо только слегка попустить вредных дидов.> Зачем портить то, что прекрасно работает и без раста?
"Портить"? Откуда столько негатива?
Да и "прекрасно работает" это не про ведро - там то код некомилирующейся закоммитят, то вагон CVE найдут, то бекдоры внедрят.
Не нравится? Иди форкай ядро!
А нормальное ядро обойдётся без советов луддитов.
Не знаю кто такие луддиты, но и так фоткаем. Иди лутай дальше
> указана некорректная информация относительно того, что мэйнтейнеры могут самостоятельно принимать решения о включении в их подсистемы кода, связанного с RustГде неверная? Разве сейчас не так, что он как мейнтейнер мог принять код, как и любой другой мейнтейнер подсистемы, которому делегированы полномочия, а потом она уже попадает в финальный патч для Линуса. Иначе как так уже 2 года принимают Rust патчи.
> сопровождающие болезненно реагируют даже на тривиальные вещи, такие как проверки на целочисленное переполнение, не принимающей даже простые правила по обеспечению безопасностиЭто он про себя? Чёт попахивает биполяркой, я говорит за Rust и безопасность в коде, но писать ядро нужно на чистом C.
> По словам Кристофа, в личной беседе Линус Торвальд заявил, что он твёрдо намерен принять в ядро Rust-код, несмотря на возражения мэйнтейнеров.А чего он не заявил это в момент драмы с Asahi Linux? Зачем было было тянуть, пока лидер Asahi не покинет проект?
Видимо, тот самый Rust-код планируется принимать от платиновых спонсоров, а на какой-то там Asahi, который не копейки не заплатил, можно наплевать.
И вот у Линуса в неловкое положение: закулисно о Расте уже все договорено, а тут этот Кристоф со своими воплями "РАКОВАЯ ОПУХОЛЬ!!!".
Думаю всё идёт к тому что будут выкидывать самого Линуса.
Кто же его посадит, он же памятник! (с)Пока действия Линуса устраивает крупных игроков (корпорации спонсоры ЛФ) то он будет у руля.
В последнем ядре от корпов 88% кода.
Так что вопли индивидуалов мало кого волнуют.
внезапно согласен полностью с данным антоном.
Rust только расширит число участников, просто нужно переждать пока старые мейнтейнеры перебесятся. Разработка ядра сложная только из-за сишной лапши. Стройные абстракции на rust облегчат разработку. Проще разобраться в коде, когда у тебя всё статически типизировано. А сишка пихает тебе void* и поди разберись что это за зверь и какое у него время жизни.
Порог вхождения в код ядра не должен быть ниже прикладных приложений.
Видимо поэтому элементарные баги с памятью фиксятся по 7 лет.
Ты пробовал разобраться в 100+ тысяч абстракций или умеешь только языком чесать?
> Ты пробовал разобраться в 100+ тысяч абстракций или умеешь только языком чесать?Сложность представляют только взаимосвязанные абстракции. Если они независимые, то их можно изучать отдельно по мере необходимости. В ядре нет 100+ тысяч взаимосвязанных абстракций. И какие бы не были страшными абстракции на расте, на си они будут на порядок сложнее. Так что если с сишными сейчас кое-как справляются, то с растовскими тем более справятся.
> Разработка ядра сложная только из-за сишной лапши.на С писать драйверы очень просто, очевидно ты никога не писал
> А сишка пихает тебе void* и поди разберись что это за зверь и какое у него время жизни.
ткни на пример в коде а то сейчас это пустословие ничего кроме улыбки не вызывает, я уверен что и на раст ты ничего не напишешь
> А сишка пихает тебе void* и поди разберись что это за зверь и какое у него время жизни.mov eax, [ebx]
Какой тип в ebx и какое у него время жизни?
>Rust только расширит число участниковИнклюзивно
>Стройные абстракции на rust облегчат разработку.
Ну теперь-то наконец заживём!
> Разработка ядра сложная только из-за сишной лапши.Ну нет. Разработка ядра сложная и сама по себе, независимо от языка.
Писал ядра на си и на расте. Пока делаются простенькие вещи, на няшном си очевидно проще. Как только начинается всякая свистопляска например с многоядерностью, так раст сразу начинает приносить пользу. Плюс опять же отладчик реже требуется, запускал его только для портянок на ассемблере.
Линус доминирует и унижает.
Надеюсь будет форк - либо раст и либо сишный, но разрабатываемый отдельно.
не будет никакого форка, ядро слишком большое
> Надеюсь будет форк - либо раст и либо сишныйкакой в нём смысл - кто писал на С так и будет продолжать, нагрузка только для майнтейнеров. Потом доработают cleanup.h и раст выкинут
https://github.com/torvalds/linux/blob/master/include/linux/...
Меня восхищает биполярочка опеннета:
- в прошлой теме Товальдс был "бог, который поставил зазнавшихся растовиков на место"
- в этой - предатель, поправший все идеалы дидов, попенсора, и вообще всего хорошего (при этом это все пересках слов какого-то чела)И я бы понял, если бы это писали разные люди. Но ведь нет!
ЗЫ: хотя что-то такое же было в новостях про показывание пальца невидии и выкидывания мусора из ядра.
А в чём биполярность? В прошлой теме линус поддержал сишку, а в этой слил - значит предатель.
> В прошлой теме линус поддержал сишку, а в этой слил - значит предательНа момент прошлой темы Линус уже давно благословил Раст в ядре.
Врёшь Линукс Раст никогда не благословлял. Он к расту относится снисходительно.
Это мне напоминает одну другую биполярку, происходящую сейчас в мире :)
Ничего биполярного, в одной теме полыхала жопами одна сторона, в этой теме - другая.
Потому что "всё есть file". А file это не файл, но и напильник. ;)
Как там Redox поживает? Уже готова для промышленного использования?
зайди на https://www.redox-os.org/ru/news/ да почитай, зачем ты тут свою гупость выставляешь на всеобщее обозрение?
не язвил бы, а просто бы сказал "не готово и готово не будет еще лет дцать"
Уж точно быстрее чем новое ядро с нуля на C, если уж сравнивать сравнимое.
Точно так же, как hurd, и куча вариаций bsd, написанных на чистейшем си.
> Точно так же, как hurd, и куча вариаций bsd, написанных на чистейшем си.Всё-таки у любой из BSD функциональности на порядок больше, чем у Redox.
А форк ядра на С даже в проекте нету.
Готов, уже дум запускает, как DOS в 90е.
>Из единого целого ядро превращается в проект, написанный на нескольких языкахНе думал, что доживу до момента, когда это станет для программистов проблемой. В былые времена это было само собой разумеющейся реальностью. А как иначе? Для одной задачи хорош один ЯП, для другой - второй. Это называется область применимости. Если ваш большой проект написан вот прям на одном ЯП, то это повод задуматься, что вы что-то делаете не так эффективно. Да и откройте любой даже современный большой проект - там обычно штук 5 ЯП. И ничего, никто не умер.
Вы невнимательны: в тексте прямо указывается на то, что получится так, что переписывать будут с одного языка на другой ПОСТОЯННО. А не так, чтобы просто использовать 2 языка в проекте - один для одних целей, другой для других. Всё перепутается.
>что переписывать будут с одного языка на другой ПОСТОЯННОЕсть альтернатива - полностью остановить разработку, и не возобновлять, до тех пор, пока не будет переписано всё. Но вам этот вариант не понравится
мне нравится этот вариант, мне не нравятся сроки
>>что переписывать будут с одного языка на другой ПОСТОЯННО
> Есть альтернатива - полностью остановить разработку, и не возобновлять, до тех пор,
> пока не будет переписано всё. Но вам этот вариант не понравитсяВы не поняли опять. Переписывать будут сначала на один язык, потом обратно на другой, потому-что нет чёткого направления в разработке.
Ну и чего? Есть желание переписать - пусть делают. Этот то наш включает снежинку и орет "о Господи ужас целых 2 (два) ЯП! Непонятно! Страшно" вместо включения положительной риторики "так, давайте ка на берегу договоримся и разделим зоны ответственности, чтоб без нервов". Но нет, просто чел хочет, чтобы было всё по его хотению и придумывает оправдания.
Вы почему то не понимаете в упор о чём речь.
Нет проблемы совмещать С, кресты, даже раст, питон, луа, джаваскрипт в одном проекте.
Технически её нет.
Пока всё лежит по отдельным модулям и взаимодействует через одно АПИ (С шное обычно).
При этом питон, луа и джаваскрипт используются как языки для описания бизнес логики, а остальные языки просто реализуют биндинги для этих языков и делают грязную работу быстро.В данном случае предполагается к коду на С добавить код на раст, и взимодействовать они будут далеко не через стабильное апи, и правки С кода будут влечь за собой правки кода на раст и вероятно наоборот.
В итоге сложность работы с кодом вырастет более чем в два раза и сложность сопровождения (собрать-погонять тесты) раза в три.И я что то не припомню больших проектов где куча разных языков.
Обычна эта куча - где то в потрохах сборочной системы и дополнительных утилит, а сам проект на С, крестах или реже их смеси.
И добавлять в проект ещё один язык - фиговая идея сама по себе, для этого должны быть обоснования, где будет видно что плюсов от добавления больше чем минусов.
> И я что то не припомню больших проектов где куча разных языков.AOSP это достаточно большой проект?
По кол-ву кода, пользовательской базе и тдА у них минимум 3 низкоуровневых языка СИ, плюы и раст.
security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html
И что-то я не слышал "мы все умрем, тут больше 1 языка"А сверху есть еще java и котлин, но думаю они больше для бизнеса.
Кресты и раст не являются низкоуровневыми языками.А сам андройд - помойка, которая жива только благодаря куче бабла.
GCC, LLVM, webkit, либреофис, cromium, firefox - вот большие проекты.
Кажется гниль есть только в последних двух и только их и тянут чисто бигкорпы, остальные банально на крестах.
> Кресты и раст не являются низкоуровневыми языками.Это твое субъективное мнение.
А в реальности что на одном, что на другом пишут ОС (хоббийного уровня) с нуля.
В том числе для КМ и baremetal.> А сам андройд - помойка, которая жива только благодаря куче бабла.
Еще одна субъективная оценка.
> только их и тянут чисто бигкорпы
А ядро кто тянет? Какиры из свободного сообщества™?
И если полторы калеки из FF смогли, то ядро тоже сможет.
По колличеству сахара и абстрактности кода в языке от кода на асме после компеляции вполне себе языки далёкие от низкого уровня.
> И если полторы калеки из FF смогли, то ядро тоже сможет.Сможет загнутся как ФФ?
> Кресты и раст не являются низкоуровневыми языками.Приведи пример хоть чего-нибудь, что можно сделать в C, но нельзя в C++.
> Кажется гниль есть только в последних двух и только их и тянут чисто бигкорпы
Linux тоже тянут чисто бигкорпы, так что с Растом там никаких проблем не будет.
> Приведи пример хоть чего-нибудь, что можно сделать в C, но нельзя в C++.Собрать бинарник под венду на 0,5 - 4 кб.
> Linux тоже тянут чисто бигкорпы, так что с Растом там никаких проблем не будет.Биг корпы конечны, в этом проблема. Другая проблема что у них интерес в получении прибыли, и внезаптно можно попасть в очень неприятное положение.
Я вот с МС и вендой в частности уже попадал и теперь избегаю полян подконтрольных корпам.
Смешно! Сначала ты выбираешь произвольные проекты, чтобы выиграть спор. А потом просто врешь, что там нет нескольких ЯП)) Зачем? Открой вебкит, посмотри на чем он написан.
На чём он написан?
Я видел как он у меня целый час насиловал проц крестовым компелятором, у меня были более интересные занятия потому я всю портянку не читал.
> правки С кода будут влечь за собой правки кода на раст и вероятно наоборот.В итоге сложность работы с кодом вырастет более чем в два раза и сложность сопровождения (собрать-погонять тесты) раза в три.
Лол. Правки С кода, внезапно, влекут правки зависящего С кода. А это, на минуточку, десятки миллионов строк дров от корпораций, в которых кроме тех самых корпораций никто не разбирается.
Но это не является проблемой по той банальной причине, что сопровождение зависящего кода лежит на плечах того, кто его залил. Так и ребята из Asahi Linux брали на себя ответственность за сопровождение Растовых привязок (которые к тому же вообще можно автоматом генерить), но Кристоф начал вопить "Мне не нужен еще один споровождающий!".
> Правки С кода, внезапно, влекут правки зависящего С кода.Но не всегда. Вот там был void* и тут теперь void*.
И ничего исправлять не нужну - все успешно скомпиляется)))> Кристоф
Потому что Кристоф забеспокоился за свое насиженное местечко.
Так же удобно единолично контролировать целую подсистему.
>Вы почему то не понимаете в упор о чём речь.Это вы, похоже, не понимаете. Возьмём предыдущую тему, с которой всё началось. Люди предложили к Си-шному API обвязку дополнительную для другого языка. Также предложили помощь в сопровождении. И тут же началась истерика у мейнтейнера.
>для этого должны быть обоснования, где будет видно что плюсов от добавления больше чем минусов
Так она есть. Уже надцать раз плюсы обсудили, а до вас никак не доходит. Плюсы: уменьшение количества ошибок работы с памятью в коде, строгая типизация, стандартные абстракции (а не вот те велосипеды, которые Си-шники изобретают из проекта в проект), современная инфраструктура.
Минусы: без определённой стратегии дальнейшая разработка может превратиться в хаос, сложность компиляции, сложность сопровождения.Что характерно, минусы все преодолимы при правильном подходе и более-менее грамотном управлении проектом. А вот плюсы от внедрения нового, более современного языка Си-шникам нечем перекрыть. Все эти санитайзеры не работают, как показывает практика. Кстати, санитайзеры в общей цепочке - это ведь тоже усложнение процесса, но почему-то никто не вопит об этом. А почему? А потому что привыкли! Вот и ко второму языку привыкнут. Просто надо чуть больше времени дать.
Это если АПИ стабильный работает. Все обёртки написали один раз и всё. А в ядре "стабле апи ис нонсенсе", следовательно будет постоянное переписывание одного и того же и топтание на месте. Или по вашему это такой ход по стабилизации, но чтобы не признавать своих ошибок?
А переписывание одного и того же уже есть, в чем разница? В том, что кроме 1 ЯП снежинкам придется разбираться в 2? Какой ужас, программистов заставляют разбираться в программировании
В куче языков минус - куча инструментов разработки.
Ну это вообще не достойно комментария, но ладно. В следующий раз когда тебе нужно будет что-то спаять - бери молоток и прибивай. Зачем куча инструментов, да?
Ты сравнил космический корабль с молотком.
> происходит переписывание кода с одного языка на другой, а затем обратноВся суть Rust.
Согласен, возвращаемся на COBOL, а то эти хипстеры со своей сишкой задолбали!
Торвальдс а что же с зависимостью от cargo? Вдруг, сайт отвалится на неделю из-за ддос-атак или забудут оплатить?
> Торвальдс а что же с зависимостью от cargo?А что с ней не так?
> Вдруг, сайт отвалится на неделю из-за ддос-атак или забудут оплатить?
То же самое можно сказать про репу ядра.
Для не знающих:
1. карго опционально и можно собирать без него
2. его можно развернуть локально, на своем сайте и тд
doc.rust-lang.org/cargo/reference/specifying-dependencies.html
Your crates can depend on other libraries from crates.io or other registries, git repositories, or subdirectories on your local file systemТак что будет просто официальные крейты например на kernel.org
Интересно зачем разработчикам ядра поддерживать ещё альтернативную инфраструктуру для раста? Чтобы все кто мог перешли на эту инфраструктуру, а официальной больше никто не пользовася, так чтоли?
В смысле?
В карго пакете будет просто ссылка на гит репозиторий.
Который будет там же, где и все остальное ядро.Я не очень понимаю какая тут проблема.
Если тебе не лениво - поясни пожалуйста.
> Если тебе не лениво - поясни пожалуйста.я - НЕ он, но постараюсь пояснить. сначала - абсолютно невозможно представить что люди трахают собак. потом - _наверное_ можно представить что они этого вероятнее всего не станут делать. ещё позже - это появляется в медиа. ещё позже - вы уже и сами не прочь попробовать трахать собак. (вместо "собак" подставьте любое слово). окно овертона + политика DDD делают своё дело.
Монорепозитории уже изобретены. Тем более, что ядро уже монолитно
Если ядро превратится в кучу Cargo пакетов, так даже лучше, чем одна огромная монорепа. Разделяй и властвуй.
Да там каждый отдельный пакет фактически монорепо, растащенное по архивам.
В ядре всё своё ношу с собой. Поэтому все связные списки и RB деревья с собой, а не в отдельной библиотеке.
Да и вообще cargo для ядра и не нужно. Во-первых, потому что там любят самописные структуры. Во-вторых, чтобы не зависеть от любого репозитория, не только crates.io.
Штатный бэкдор. Но ради зарплаты Линуса и красивой жизни его дочерей можно и потерпеть, не так ли?
> можно и потерпеть, не так ли?как там говорил плешивый? - "терпи, терпи еще раз терпи, денег все равно нет и точка"
Какие преимущества будут, если ядро windows и linux перепишут на rust?
И если Firefox тоже на rust, и почему firefox mozilla не захотела на rust переписать?
В windows и в android уже потихоньку добавляют новый код на расте, смысл старое переписывать просто так?
Так вот почему у меня перестали запускаться setup-ы без параметров совместимости с 7/8. Нагадили растом. И нет, я ничего не вырезал, у меня не дуб
> Какие преимущества будут, если0. больше контроля над хомячками
1. корпы получат больше контроля над владельцами хомячков
Его психическое здоровье вызывает всё больше вопросов. Если он намеревается бесконтрольно вливать в кодовую базу весь раст-булщит в обход мэйнтейнеров, то кто будет всё это поддерживать и обеспечивать стабильность работы?Видимо, придётся переводить сервера на FreeBSD, ибо лично мне такой цирк в проде точно не нужен. Печально, но ничего не поделаешь.
> Видимо, придётся переводить сервера на FreeBSDТак фряха тащит дрова из лина. Раст и до неё доберётся.
Раст дрова под фряхой просто не соберутся.
Только DRM и прочую десктопную шелуху. Для серверного оборудования там свои драйвера.
Уже нет, часть сетевых дров вроде тоже через LinuxKPI.
> Уже нет, часть сетевых дров вроде тоже через LinuxKPI.Насколько я знаю, только для Wi-Fi. Конечно, я могу ошибаться.
> Видимо, придётся переводить сервера на FreeBSD, ибо лично мне такой цирк в проде точно не нужен.Отлично! Без шуток желаю удачи. Она тебе понадобится.
> Печально, но ничего не поделаешь.
Великолепно.
Если ты после этого еще перестанешь ходить комментировать новости ядра (ну там же раст, фу-фу-фу) будет вообще зашибись.
Не обижайся, я не со зла.
>Видимо, придётся переводить сервера на FreeBSDУдивительно, но вы не делитесь своей историей успеха, как успешно перевели на бсд. Вы даже на готовое ядро не факт, что переведёте
Дак он еще не перевел.
А в чем вы видите проблему с переездом(при условии, что нужный софт под BSD присутствует)?
В том, что это просто слова. Человек может с винды пишет
У него всё в порядке с психичесским здоровьем: нормис, семья, трое детей, умеет принимать "трудные решения". Раз ради зарплаты надо сказать "I'm <подставить любую нацию, воевавшую с княжествами/РИ/СССР/РФ>", после принятия клятвы на верность США ("I hereby declare, on oath, that I absolutely and entirely renounce and abjure all allegiance and fidelity to any foreign prince, potentate, state, or sovereignty of whom or which I have heretofore been a subject or citizen") - значит надо. Надо публично прогнуться (как лидер проекта) - значит надо. Всё-таки ядро давно уже для него не pet-проект, а дойная корова. Коровка стала старой и пришла пора на мясо - ну значит пришла. Это всё как должностное лицо - лидер проекта, а не о личных самазашкварах - для нормисов они вообще в порядке вещей.
> У него всё в порядке с психичесским здоровьем: нормисясно. дальше можно не продолжать. про зашквары для них и то как "нормисы" особенно уроженцы столиц их воспринимают (свои ессно) - согласен вполне.
>Если он намеревается бесконтрольно вливать в кодовую базу весь раст-булщит в обход мэйнтейнеров, то кто будет всё это поддерживать и обеспечивать стабильность работы?Сколько глупостей в одном предложении. Не бесконтрольно, просто мимо вахтёров. Далее. Если код на Rust в общем и целом более стабильный при такой же скорости выполнения, то почему бы его и не принимать в ядро? Далее. Одному из сопровождающих предлагалась помощь, он отказался. Значит, сам справится.
О, ну это капец... Зазвездился чел, уже и мэйнтейнеры ему не указ. Ну ок, пили своё ржавое ведро в одиночку.
Какие такие мэйнтейнеры? Будто бы это всё энтузиасты пишут ядро попивая пивасик. Это же не так. Мэйнтейнеры в линуксе на зарплате у корпораций, а Линус - лишь менеджер.
Ну они же не брали на себя обязательства подчиняться воле корпораций. Корпорации по своей доброй воле спонсируют линукс, а мэйнтейнеры полностью свободны в своих действиях.
> Ну они же не брали на себя обязательства подчиняться воле корпораций.А те кто на зарплате?
Думаю там какой-то контракт точно подписывается.> Корпорации по своей доброй воле спонсируют линукс,
И могут перестать, если им станет не интересно.
> а мэйнтейнеры полностью свободны в своих действиях.
Хахаха, ну ты пошутил.
Представь себе сотрудника в штате Шапки, которому просто ставят задачу "поддерживать в ведре от такой модуль 20 часов в неделю".
Думаешь он скажет "я свободен в своих действиях, идите в пень!" ?
> Мэйнтейнеры в линуксе на зарплате у корпораций, а Линус - лишь менеджер.Одеть футболочку попрощще.
Ну как вышла REDOX, которая Unix, товальдс сразу же стал за Rust, надо поскорее впихнуть Rust, во все Linux, почему не Unix, а не Linux.Но потом какие то сомнения майнтенрер. https://www.opennet.dev/opennews/art.shtml?num=62685
Нет никакой связи между выходом Redox и решениями Торвальдса. Не выдумывайте.
> Нет никакой связи междуВ: что случилось с лодкой?
О: она утонула.
Самое смешное, конкретно сам Раст НЕ РЕШАЕТ ПРОБЛЕМ С ПАМЯТЬЮ! Он их просто перекладывает НА ПЛЕЧИ ПРОГРАММИСТОВ. Язык, решающий проблемы с памятью - это C#! Вот он сам освобождает неиспользуемые ссылки, локальные переменные и т.п. По факту, всё, что требуется от шарповода - это var f = new File() - ВСЁ! Можешь кидать этот f по всей программе и ничего ему не будет, а "исчезнет" он только с выходом из последнего блока видимости. ВОТ ТАК нужно помогать программисту с памятью.Понятно, что в ядре всё строже, но затем и нужен УМНЫЙ компилятор (или хотя бы средство проверки), чтобы освободить программиста от танцев на льду и дать ему уже поработать над собственно задачей.
Так что проталкиватели раста - не более, чем глупые лемминги, которые даже не понимают сути "работы с памятью".
Даешь ядро на Java! Ну, может микроядро на Cи с Java модулями и юзерспейс АПИ.
Ты сейчас Андроид переизобрел?
Ты сейчас серьезно предлагаешь Garbage Collector в ядро пропихнуть? Я много видел в комментах опенка, но чтобы такое...
Точно! Кстати, C# реально классный язык, и никто его не раскручивал и не пиарил, как руст, а он сам органично вошёл в мир программирования, потому что нравится программистам.
Вряд ли этот апологет Шарпа распарсит сарказм. Даже такой толстый.
Настолько органично, что для запуска написанного на нем софта, бедолагам-линуксоидам заворачивают его в докер-образы, иначе хрен все зависимости сам соберешь.
>Настолько органично, что для запуска написанного на нем софта, бедолагам-линуксоидам заворачивают его в докер-образы, иначе хрен все зависимости сам соберешь.Ну что ты несешь... Нормальным людям хватает ключа --self-contained в паблише и можно просто скопировать файлы. Хоть с винды на linux X86, хоть с linux X86 на linux-arm, хоть с винды на linux X86 или linux-arm. В докер-образы все заворачивают любители кораблей в бутылках в кораблях в бутылках... Ну и просто "кораблей" и овер-инжиниринга. А среда исполнения при желании скачивается в tar-архиве. Ее нужно просто в PATH добавить и все. Какие докер-образы на дохлой малине приснились мазохистам и тебе -- хз. Любители докер-образов решают увлекательные проблемы, которых не было до докер-образов. Дятлы, конешшшно, везде долбят дупла. Даже на бетонных сваях. Даже если это бесполезно.
> Язык, решающий проблемы с памятью - это PythonПоправил.
Предлагаю аккуратно завернуть это и отнести создателям Шарпа - вот пусть они на него свою ОСь и перепишут. Решат, так сказать, проблему.
Была попытка написать ОС на C#. Кажется Singularity
> Была попытка написать ОС на C#. Кажется SingularityБыл информационный пузырь про написание на Шарпе ОС с броским маркетинговым названием. Помаячил - и лопнул.
Redox не такой. Помаячит... и еще помаячит. Но потом. Когда в прод?
Redox - это домашний проект, а не разработка для прода.
Очередные пересказы устаревших баек. Погугли что ль про ОС COSMOS. На, просвещайся https://ru.wikipedia.org/wiki/Cosmos_(операционная_система)
VS/.Net/С#/MS? пффф, оставьте себе.
> и ничего ему не будет, а "исчезнет" он только с выходом из последнего блока видимостиВот это да! Прямо как умные указатели Rc/Arc в раст, только без сборщика мусора
В левом углу у нас Аноним
> конкретно сам Раст НЕ РЕШАЕТ ПРОБЛЕМ С ПАМЯТЬЮ!В правом углу у нас Greg K-H:
The majority of bugs (quantity, not quality/severity) we have are due to the stupid little corner cases in C that are totally gone in Rust.
Things like simple overwrites of memory (not that rust can catch all of these by far), error path cleanups, forgetting to check error values and use-after-free mistakes.Кому же я буду верить больше 🤔
> Кому же я буду верить большеДумай, не верь и посоветуй Грегу, чтобы гнал пинками тех кто допускает "stupid little corner cases"
Ну ты бы смог писать код без "stupid little corner cases"? Тогда почему ты ещё не мэйнтейнер в линуксе? Почему?
> Думай, не верь и посоветуй Грегу, чтобы гнал пинками тех кто допускает "stupid little corner cases"А если "других разработчиков у нас нет"?
Вот Теодор "вы не заставите меня учить раст" Тцо тоже прославился тупейшими ошибками уровня "не проверил входные данные".
И что? Выкинуть его из разработки?Просто инструменты должны быть нормальными, а не палка-копалка из прошлого тысячелетия.
> А если "других разработчиков у нас нет"?эт как? вымерли? или, "а кто-то должен выполнять эту работу?" (вспоминаю "мотивационную" речь какого-то там командира, отправляющего солдат, очищать крышу "реактора" от графита)
> И что? Выкинуть его из разработки?
я предлагаю выкидывать, конечно, выкидывает ведь "из жизни" ошибка, допущенная сапером?
> Просто инструменты должны быть нормальными, а не палка-копалка из прошлого тысячелетия.уточните какие инструменты? деревянные или программные? если программные - то их по вашему определению пишут те, кто допускает "stupid little corner cases" и как оказалось, "других разработчиков у нас нет".
Я искренне надеюсь, что вы так троллите:), и не находитесь под какими-то веществами:))
> Я искренне надеюсь, что вы так троллите:), и не находитесь под какими-то веществами:))Это типичный представитель Военов Супротив Раста.
Они в расте не разбираются, даже доку не читали.
Зато мнение имеют.
> Зато мнение имеют.представь что на парковку, где десятками лет пенсионеры по выхам съезжались на своих (у кого получше, у кого поскромнее) вполне себе раритетных и уважаемых в целом по миру авто для того чтобы посидеть-за-жизнь - регулярно стала заезжать толпа молодых стритсракеров. они и орут, и бухают и спокойно поговорить не дают и движками хвастаются и разматывают пенсов на тему что вы мол устарели, а мое ведронейм круче вашего shevi cuda 1969 года, которая в целом и стоит как самолет и оправдала надежды мира вполне неплохо, чтобы к своей старости стОить по цене как самолет.
вопрос - нахера пенсам такие соседи с их "новым дивным миром"?
хочешь померяться писюнчиком и тем, что тебе папа подарил в подкапотке - езжай к себе подобным.
хочешь доказать дедам что ламба лучше чем додж чарджер? - езжай к себе подобным. пили свои шасси (какой завод тебе это даст - непонятно), пили свои движки (тот же вопрос), пили свое по дедовским чертежам, с нуля.адепты ржавчины - это дети, ползающие по кровати уже начавшего отлетать деда с настойчивой просьбой рассказать им "ту самую сказку". да, они как внуки может деда и новее. да, они мб фундаментально и круче дедов. но ты или отъ#бись или помоги спокойно и достойно уйти старику в небыте, или в крайнем случае - отойди уже от его кровати, ирод.
imho со стороны смотрящего на весь это бедлам уже более 20 лет.
> представь что на парковку, где десятками лет пенсионеры по выхам съезжались на своих (у кого получше, у кого поскромнее) вполне себе раритетных и уважаемых в целом по миру авто для того чтобы посидеть-за-жизнь -Раритетных - допустим, уважаемых - хаха.
Обычно уважаемые они только среди таких же старых пpдyнов.Но вернемся к парковке.
Если это общественное место, то туда могут приезжать кто угодно.
Хоть сpакеры, хоть роллеры, хоть мамаши с колясками.> регулярно стала заезжать толпа молодых стритсракеров. они и орут, и бухают и спокойно поговорить не дают и движками хвастаются
Это нарушает законодательство?
Если нет - то пенсы имеют полное право сходить на... в пенсионный фонд, или в больничку.. куда они обычно прутся.И если даже взять твою угребищную аналогию, то нет, растовики не нарушают никаких законов, кроме тех которые себе диды насочиняли в голове.
> и разматывают пенсов на тему что вы мол устарели, а мое ведронейм круче вашего shevi cuda 1969 года...
Лол. Тот код в ведре это не шеви или ламборджини, а просто москвич 1960 года.
Которую уже 100500 раз варили и перекрашивали, сидушки профуканы и запчасти регулярно отваливаются.> вопрос - на№№ра пенсам такие соседи с их "новым дивным миром"?
Потому что их никто не спрашивает)))
Во-первых, возможно они скоро двинут коней, а если молодежь прогонять, то кто будет в торговый центр ходить?
Во-вторых, владелец ТЦ и парковки разрешил.
Сказал - вот ваш загончик, а вот их.
Но нет! Самый борзой пенс пошел в их загон, и начал включать вахтера.> езжай к себе подобным.
А кто это решает? Если стаpперы, то чего из вообще слушать?
> адепты ржавчины - это дети,
которые хотят сделать мир лучше и не согласны писать овнокод, как диды
> да, они мб фундаментально и круче дедов. но ты или отъ#бись или помоги спокойно и достойно уйти старику в небыте
Так они и помогают!
Предлагают помощь в мейнтенинге. Заменяют куски дырявого кода написаного на копролитном творении прошлого тысячелетия на новый, лучший!> imho со стороны смотрящего на весь это бедлам уже более 20 лет.
А что 20 лет был раст?
Зато дырявый овнокод на сишке был)
> Предлагают помощь в мейнтенинге. Заменяют куски дырявого кода написаного на копролитном творении прошлого тысячелетия на новый, лучший!ну так идите и делайте себе свой лучший мир, наркоманы. сюда-то вы зачем до#бались? или у вас не хватает яиц признать что вы как сосали у дидов так и будете сосать в части того кто кого финансирует, финансировал и будет финансировать. пока что не замечено "молодых да ранних" которые управляют монетарными политиками _стран_. так что вы такие же "борцуны с молодостью" как и наше и тысячи поколений и до вас и после вас. но у дидов хватает ума и опыта понять что если можешь клонировать - клонируй, бери лучшую часть и клонируй. но нет - надо придти и как мамины бунтари заявить о себе поссав на могилку предшественика. а он оказалось что ещё жив. вот незадача, правда? вот и получилось, что диды не сильно горят желанием пересаживаться на новое место в пустом автобусе просто потому что в него зашел очередной супер-пупер остромодный чатгопник.
PS остальное комментировать сильно не буду, просто потому что спор с молодым это как спор со стафом. у стафа преимущество, но он не понимает как им воспользоваться поскольку не имеет стратегии. в отличии от. удачи вам там, наш мегаполисный друг, твоё упование на "к_о_ко_ко, у мя есть права и я ими пользуюсь" очень смешно выглядят в стране (уже) красного цвета. ну окей, пользуйся. в москве такое проканает вполне, а вот в сибири и на урале за такой подход вам просто распилят хлеборезку, ибо есть понятия, есть правила, есть выгода, а есть банальное уважение к возрасту, и путать эти вещи не везде можно и стоит, тем всё и обойдётся.
>По факту, всё, что требуется от шарповода - это var f = new File() - ВСЁ!А дескриптор освободится когда-нибудь. А может и не освободится никогда, так как программа быстрее исчерпает доступные дескрипторы
>а "исчезнет" он только с выходом из последнего блока видимостиНет, когда его соберёт GC. А это будет неизвестно когда.
Ну конешшшно, using и IDisposable реальные посоны не пользуюцца. Все руками освобождают. Когда вспомнят где.
> Нет, когда его соберёт GC. А это будет неизвестно когда."уже смеркалось, но автобусы никогда не ходили в их стране по расписанию."
Представь в Rust так и работает. Там умный компилятор. Переменная удаляется при выходе из блока видимости. Вручную удалять не надо. Даже более чем, владение передаётся в блок при передаче переменной. Но такие слова как владение видимо сложные, как для сишников, так и для шарпистов.
Главное правило потужных свидетелей "умности"(ТМ) -- выдумывай новый "умный" словарь для старых граблей. Создается иллюзия владения ситуацией. У ФПшников была иллюзия "чистоты". У растаманов иллюзия "владения". Ничего нового, но щоки можно надувать на ровном месте.
То есть, возразить вам нечего, поэтому вы решили надуть щёки (это слово пишется через букву "ё", кстати)?
"Язык для системного программирования должен быть максимально простым" - так завещал великий Вирт.
Почему только для системного? Для любого программирования язык должен быть максимально простым. Проблема в том, что нынешняя архитектура железа не позволяет этого добиться без ущерба или простоте, или качеству, или скорости выполнения. Скорость, качество, цена - выбирай любые два.
Столько комментов, будто бы каждый второй опеннетовец - важный комиттер ядра линукс, и Линус якобы обязан учитывать мнения опеннета. На самом же деле - только корпорации с лярдами делают погоду в ядре, и Линус у них на зарплате.
Не могу понять, почему сейчас такие проблемы с написанием драйверов для Linux на C ? Драйверы ведь просто принимают данные, буферизируют их и выдают по запросу. Там ошибок наделать просто негде.
> Драйверы ведь простоНет, не просто. Драйверы работают асинхронно и в обе стороны (в сторону ос и железа). Обрабатывают сразу множество событий. Если бы драйверы были бы простыми и последовательными, работали бы с черепашьей скоростью.
Это понятно. Я и говорю, что ничего сложного в программировании драйверов нет. Синхронизацию делаешь через спинлоки, обработку засовываешь в тасклеты.
Скинешь годный мануал ппо написание драйверов?
>>сопровождающие болезненно реагируют даже на тривиальные вещи, такие как проверки на целочисленное переполнение, непонятно как можно преодолеть разрыв между одной частью ядра, не принимающей даже простые правила по обеспечению безопасности,Вот таких "сопровождающих" шпионов в первую очередь надо выкидывать из разработки. Внедрение нового языка с концепциями, которые противоречат их желанию понаписать ещё бекдоров - хороший способ!
Хорошо, что ядро достаточно обновлять раз в 5 лет, и до 2030 года можно быть застрахованым от ржавчины на своём компе, а там глядишь и rust-free форк созреет.
Не забывай добавлять оперативную память.
К 2030 ИИ заменит всех разрабов ядра вместе с Линусом и перепишет ядро в машинном коде.
Там очень сомнительные проблемы всплывают в старых ядрах. И надо понимать, что "без обновлений" -- это буквально, а не старая ветка. А вообще, вот так в один день окажется, что вейланд-то у тебя больше не работает без обновления до распоследней ветки, и в старые код никто не портирует. Да и 5 лет пролетят: ковид, к примеру, был 6 лет назад. Сколько раз за это время юзерспейс ломали? Раз 10 только глибц.
Вейланд и сейчас по большей части не работает. 15 лет как
> Там очень сомнительные проблемы всплывают в старых ядрах.например? мне как не специалисту было бы интересно прочесть пару примеров. пока что я не увидел для себя причины переезда на пятое ядро с растом. ибо, повторюсь , я не понимаю зачем он мне и в целом и вне прода.
Ещё один. Ты ядро лично сам компилируешь? И что все исходники лично читаешь? Если нет, то какая разница на чём написан код, который скомпилировался в бинарник что есть у тебя.
На твоём компе никакого раста и не будет. Дай угадаю, ты это пишешь из хрома или файрфокса, и в том и в другом есть rust код. Так что ты не уберёг себя от раста.
Да и видимо кроме критики раста, что тебя аж волнует на каком языке написаны исходники, тебя ничего другое не волнует. Видимо поэтому ты заходишь в статью с обсуждением раста, чтобы сказать что он тебе не нужен.
Альтернативы Линуксу. Есть здесь человек, написавший эти посты https://www.opennet.dev/openforum/vsluhforumID3/133539.html#25 ? Как далеко удалось продвинуться?
Мне понравилась концепция, но написание Ос в одиночку, достаточно сложный процесс.
Так там же немецкая фирма пишет.
> подобные правила бесполезны, пока они не согласованы с сообществом и не включены в документацию к ядру.Значит Товальдс такой сам себе на уме. Захотел добавил.
> работа с подобной смешанной кодовой база стала для него худшим кошмаром, так как в подобных условиях постоянно происходит переписывание кода с одного языка на другой, а затем обратно.
С этим я соглашусь, не могут стабильно нормального что то сделать, но зато переписывать на языки.
Язык это лишь инструмент. Он не моожет быть плохим или хорошим. Его можно изменить/ модернизировать улучшить.Rust это просто что то новое модное.
Почему бы не улучшить существующее.> При этом Кристоф просит пояснить ему цель внедрения Rust в ядро. Если цель в решении проблем с безопасностью, возникающих при низкоуровневой работе с памятью, то прежде всего требуется модернизация существующего кода.
Ключевое слово целесообразность.
Не в коем случае не критикую Rust, но почему бы не улучшить существующее.
> Значит Товальдс такой сам себе на уме. Захотел добавил.Все любят г̶и̶п̶н̶о̶ж̶а̶б̶у̶ великодушных диктаторов!
> Язык это лишь инструмент. Он не моожет быть плохим или хорошим. Его можно изменить/ модернизировать улучшить.
Мне кажется или ты сам себе противоречишь.
Инструмент (любой) может быть плохим или хорошим, подходящим или нет, имеющим запас для улучшения или уже устаревшим.
Сравни, например, обычное долото и перфоратор. Или лошадку и трактор.
Я уже молчу что 100 лет назад для станков были нормой открытые ремни, а сейчас нет.> Не в коем случае не критикую Rust, но почему бы не улучшить существующее.
Потому что:
1. для этого придется ломать обратную совместимость (священная корова СИ)
2. добавлять в стандарт очень странные для парадигмы СИ вещи
3. это займет лет 5-10
4. получившийся кадавр не будет совместим с уже написанными кодами на СИ
В итоге получится не-СИ, который несовместим, его надо учить заново...
Ну т.е раст)Такие попытки стали резко появляться в последние годы, но пока выглядят сырыми
opennet.ru/opennews/art.shtml?num=62241
"...собираемые в Fil-C программы медленнее примерно в 1.5-5 раз"opennet.ru/opennews/art.shtml?num=62224
> Ключевое слово целесообразность.
Как видно Линус, Грег и еще куча народу посчитали это целесообразным.
> Инструмент (любой) может быть плохим или хорошим, подходящим или нет, имеющим запас для улучшения или уже устаревшим.Я про то что это инструмент. Rust. C++, не самоцель.
Про то что зачем создавать новое, если можно улучшить существующее.> Сравни, например, обычное долото и перфоратор. Или лошадку и трактор.
Это инструмент для дробления камней, или типа того.
> Я уже молчу что 100 лет назад для станков были нормой открытые ремни, а сейчас нет.
Это станок.
Сравнил.
> Я про то что это инструмент. Rust. C++, не самоцель.Естественно.
Цель писать корректный и надежный код, желательно быстрый.
Т.к от него зависит очень много - больницы, энергетика, банковские приложения.> Про то что зачем создавать новое, если можно улучшить существующее.
Потому что у старого исчерпались возможности для модернизации.
Ты почитал про попытки модернизации СИ?
Там описываются сложности.>> Сравни, например, обычное долото и перфоратор. Или лошадку и трактор.
> Это инструмент для дробления камней, или типа того.И то и другое может дробить камни, но долотом человек будет махать целый день, а с перфоратором сделает за 10 минут.
Например у нас есть отвертка. Для электрика.
Если ее делать качественно - хороший метал, изоляция, то все ок.
А если взять просто железку с пола - то может кого-то и убьет.Инструмент должен быть хорошим - обеспечивать выполнение работы, желательно быстро и безопасно.
Почти на бум. Перворатор дешевый. https://shorturl.at/3sGQGДолото подороже. https://shorturl.at/NmACR
> Почти на бум.Оно и видно)
> Перворатор дешевый. https://shorturl.at/3sGQG
Если в комплекте есть сверло может работать сразу.
> Долото подороже. https://shorturl.at/NmACR
А еще купи к ней буровую установку.
Вот тебе ручное долото https://market.yandex.ru/product--doloto-dlia-rezki-kamnia-s...
Аналог СИшки - никакой атоматизации, куча возможностей отбить себе палец.
> ЦелесообразностьОбьясню тебе слово целесообразность и инструмент.
Инструмент не может быть плохим или хорошим. Это инструмент.
Целесообразность. Когда ты идешь в горы целесообразно брать горные ботинки теплую одежду и запас еды.
Целесообразно использовать вездеход в тайге.
Но в то же время тебе не разрешат ездить на вездеходе по городским трассам. Просто Вездеход занимает 2 полосы движения.Ты не пойдешь на пляж в горном снаряжении на вездеходе.
Конечно никто не запретит, но в чем целесообразность.
> Обьясню тебе слово целесообразность и инструмент.Интересно послушать.
> Инструмент не может быть плохим или хорошим. Это инструмент.
Еще как может.
Если тебе дадут в руки нечто слепленной из палок и изоленты, то ты спросишь WFT?> Целесообразность. Когда ты идешь в горы целесообразно брать горные ботинки теплую одежду и запас еды. Целесообразно использовать вездеход в тайге.
> Ты не пойдешь на пляж в горном снаряжении на вездеходе.
> Конечно никто не запретит, но в чем целесообразность.Да, все так.
И если цель написание ядра "создание корректного кода", то использовать ЯП который позволяет регулярно стрелять себе в ногу и плодить CVE - просто не целесообразно.
> Если тебе дадут в руки нечто слепленной из палок и изоленты, то ты спросишь WFT?Хоршо вот другой пример. Гитара за 1500 и гитара за 150 000 это тоже гитара.
Но несмомненно гитара за 150 000 это лучше.
Только вот чтобы услышать разницу, нужно виртуозно владеть инструментом. А если ты условный Кирк Хэммет, то в твоих руках любой инстремент будет звучать, как параша - хоть за миллион баксов.
> Хоршо вот другой пример. Гитара за 1500 и гитара за 150 000 это тоже гитара.
> Но несмомненно гитара за 150 000 это лучше.Гитара как и другие музыкальные инструменты это часто вкусовщина.
А вот если тебе дадут в руки дрель из которой шестеренки торчат во все стороны, а когда берешься за ручку то бьет током - то выводы сделать проще.
Люди же постоянно стараются облегчить себе жизнь и улучшить условия труда.
И это нормально.
Ну чтож горное снаряжение с интернет магазина за 3 $ или горное снаряжение за 150 000 $
Но в первом случае лотерея, выдержит ли карабин ( ну который крепится к веревке ),
Но и во втором случае если так рассуждать лотерея.
> Ну чтож горное снаряжение с интернет магазина за 3 $ или горное снаряжение за 150 000 $Я, к сожалению, в этой теме не разбираюсь.
Предположу что должны быть какие-то гарантии надежности (сертификаты?).
А доп.стоимость это уже удобство, длительность использования (где-то читал что у веревки есть ограниченное гарантированное кол-во подъемов, а потом ее просто выкидывают в независимости от того ʼвроде нормальноʼ), элитарность (лимитированные серии со стразами).> Но в первом случае лотерея, выдержит ли карабин ( ну который крепится к веревке ),
> Но и во втором случае если так рассуждать лотерея.Нет, если вторые, например, проводят нагрузочное тестирование, а первые штампуют из металлолома.
Но и то и то инструмент.Ну хорошо случай из жизни, надо было починить и для этого купился самый дешевый разводной ключ, на раз. Такова и была задумка. Но тот люфтит и сломался от приржавевшей гайки.
В итоге все равно был куплен разводной ключ не самый дорогой но получше.Вот в том то и вопрос целесообразности, имеет ли оно в себе плюсы предыдущщего.
>Инструмент не может быть плохим или хорошим. Это инструмент.Может. Опасная бритва почему-то вытеснена безопасной. Ртутные термометры почему-то вытеснены электронными
>Конечно никто не запретит, но в чем целесообразность.Ртутные термометры если не запретили, то изъяли с рынка. Купить в ближайшей аптеке - не получится.
Си - это инструмент прямиком из начала семидесятых, по современным меркам ни к чему не пригодный. Возьмите телевизор из семидесятых, будет ли он ловить каналы? И проблема здесь в том, что спустя лет пятьдесят, раст стал первым языком, который начинает теснить си в ядре. За прошедшие пятьдесят лет сишники не изобрели ничего, что во-первых лучше си, а во-вторых стало более массовым, в-третьих может применяться для ядра.
>>Си - это инструмент прямиком из начала семидесятых, по современным меркам ни к чему не пригодный.Это ложь.
На нем куча ОС и прикладного софта написано - факт. И то и другое прямо сейчас много где в проде используется.
>На нем куча ОС и прикладного софта написано - фактИ? От этого софт перестал портить память и падать в произвольном месте?
А как же тот чел, который якобы в еду в ресторане подложил, их якобы купил? Что-то тут нечисто. Да и в еде ртуть безопасна, ибо жкт не усваивается.
> Не в коем случае не критикую Rust, но почему бы не улучшить существующее.потому что за это не заплатят корпы, вестимо. зачем торвальдсу делать что-то бесплатно при таком количестве интересантов с чемоданами?
Сишные мейнтейнеры разбегутся, вот и будет Торвальдс следующие 10 лет со смузихлепами каждую подсистему ржавчиной обмазывать.
Ну почему Кристофу и остальным так сложно понять изменившуюся позицию Линуса - пришла "ксива" сверху:https://stackoverflow.blog/2024/12/30/in-rust-we-trust-white.../
https://www.theregister.com/2022/11/11/nsa_urges_orgs_to_use/Вот все дружно и поплелись за молодняком... Извечная проблема отцов и детей вкупе с меняющимися глобальными трендами в области безопасности, будь то в ИКТ или в других областях.
вот на этом можно и закончить обсуждение. гебуха сказала надо, яфинский ответил есть.
> Извечная проблема отцов и детейЭт когда отцы не живут ради будущего детей, и решают за них, каким это будущее должно быть.
ну да. а что-то другое где-то есть? покажите примеров тридцать хотя бы.
>Линус Торвальдс намерен включать связанные с Rust изменения в обход мэйнтейнеровПосле этого какой смысл в мэйнтейнерах?
>>Линус Торвальдс намерен включать связанные с Rust изменения в обход мэйнтейнеров
> После этого какой смысл в мэйнтейнерах?Хм... деньги получать?
Или зарабатывать репутации чтобы потом пойти в классную корпу?
Думаю мотиваций много.
(Но учитывая что от индивидуальных разработчиков всего 12% кода, то почти все они крутятся вокруг денег)
Для этих целей лучше подойдут BSD системы. Если хорошо себя проявишь, офер от условного Netflix или Apple не заставит себя долго ждать. Все топовые BSD девелоперы работают в жирном энетпрайзе. Ну и ещё несомненным плюсом будет то, что никакой Торвальдс не высморкается тебе в лицо и не вытрет о тебя ноги.
у BSD есть свои местные торвальдсы.
Продолжение драмы: https://www.phoronix.com/news/Greg-KH-On-New-Rust-Code
Если вкратце - другой мейнтейнер предложил писать все драйверы для ядра только на Rust, а этому пациенту завалить хлеб ало.
>Greg Kroah-HartmanГоворящая лысина ничего не предлагает, а лишь транслирует заданную директиву.
> RustРжа́вчина — общий термин для определения оксидов железа. В разговорной речи это слово применяется к красным оксидам, образующимся в процессе реакции железа с кислородом в присутствии воды или влажного воздуха.
А надо было делать из полимерных сплавов не подверженных корозии.
>>Greg Kroah-Hartman
> Говорящая лысина ничего не предлагает, а лишь транслирует заданную директиву."Конечно, не может же он иметь своего мнения!" (с)
"Все вокруг куплены!" (с)Ты наверное по себе судишь?
> "Все вокруг куплены!" (с)
> Ты наверное по себе судишь?а ты, видимо, работаешь за еду? я правильно твой наброс понял?
> Продолжение драмы: https://www.phoronix.com/news/Greg-KH-On-New-Rust-Code
> Если вкратце - другой мейнтейнерЭто не просто "другой мейнтейнер", а Грег Кроа-Хартман.
Который заменял Линуса, когда тот "ушел в отпуск отдохнуть" и по сути руководил разрабткой ядра.
Который со-автор книги Linux Device Drivers
Который написал Linux Kernel in a Nutshell ( kroah.com/lkn/ )> предложил писать все драйверы для ядра только на Rust, а этому пациенту завалить хлеб ало.
И правильно сделал)
Т.к он знает про ядро больше, чем все анонимы этого форума вместе взятые.
> Это не просто "другой мейнтейнер", а Грег Кроа-ХартманТакой же подкорпорастник, как и Турвальдс.
>> Это не просто "другой мейнтейнер", а Грег Кроа-Хартман
> Такой же подкорпорастник, как и Турвальдс.Кто ж виноват, что такие люди могу сделать ядро,
а "свободные какиры из подвала" не могут до сих пор сделать Хурд хотя бы рабочим.Так что выбирая "Линукс с корпами" или "Хурд от Сообщества™ - то я пожалуй выберу первых.
Скоро благодаря ИИ сделают и "такие люди" останутся у разбитого корыта.
> Скоро благодаря ИИ сделают и "такие люди" останутся у разбитого корыта.Какие "такие люди"?
У меня есть нехитрый выбор - использовать рабочий иструмент или какой-то полуфа/bрикат.
Пословицу про шашечки или ехать ты наверное слышал много раз.
> использовать рабочий иструмент или какой-то полуфа/bрикат.https://ru.m.wikipedia.org/wiki/Луддиты
> https://ru.m.wikipedia.org/wiki/Луддиты...Нео скопипастил линк ждя оппонента в чат, вынул из неуказанного нейропорта на своем теле шнур, выйдя тем самым из Матрицы и улыбнулся.
> Скоро благодаря ИИ сделают и "такие люди" останутся у разбитого корыта.Нет ну там уже квантовые компьютеры.
Или терминалы с доступом к квантовым компьютерам.Gpt все еще не может писать код, максимум какие то общие наброски, которые надо кому то корректировать.
Но gpt может освободить людей от рутины вручную писать весь этот код.
Так сказать бывает развитие по прогрессирующей прямой.
Бывает развитие в фрактальное.
>Так что выбирая "Линукс с корпами" или "Хурд от Сообщества™ - то я пожалуй выберу первых.Ну и будешь жрать с лопаты то, что за тебя решат.
>свободные какиры из подвала" не могут до сих пор сделать Хурд хотя бы рабочим
Ты сам-то хоть одну строчку кода написал для тех же GNU или BSD? Сидишь тут, какую-то хню порешь, глупая потребительская перхоть.
>>Так что выбирая "Линукс с корпами" или "Хурд от Сообщества™ - то я пожалуй выберу первых.
> Ну и будешь жрать с лопаты то, что за тебя решат.Если меня это устраивает - то да.
В противном случае пойду на винду или мак.
Благо есть из чего выбирать.>>свободные какиры из подвала" не могут до сих пор сделать Хурд хотя бы рабочим
> Ты сам-то хоть одну строчку кода написал для тех же GNUПисать под ГНУ я считаю ниже своего достоинства - плодить рак это плохо.
> или BSD?
Часть моих кодов лицензирована под МИТ. Часть под BSL.
> Сидишь тут, какую-то хню порешь, глупая потребительская перхоть.
Ого ты порвался.
Если тебе норм жрать Хурд без соли ради идеологии Щво6Одьки - то твое право.
Но что-то мне подсказывает, что ты это сообщение пишешь не с него, а с того, что сделали корпы и любезно разрешили пользоваться.
> Часть моих кодов лицензированаа можно ссылки на сие?
>Если тебе норм жрать Хурд без соли ради идеологии Щво6Одьки - то твое право.
а можно конкретику что не так с ним?
> Но что-то мне подсказывает, что ты это сообщение пишешь не с него, а с того, что сделали корпы
как человек ездящий в быту на очень старом железе и инете в 500кбпс читать мне это смешно, если честно)
Крутой мужик, буду знать.
Если не на Раст, то на чём? Расту просто нету замены.
Замену расту можно не особо спеша сделать за год. Можно даже взять рабочую, типа ATS. Проблема не в замене, проблема в том, чтобы убедить ею пользоваться. Вот не хотят пользователи афинных типов, им UB подавай. И зависимые типы им не нужны, им нужен стандарт, с двумя слабосовместимыми компиляторами
>Если не на Раст, то на чём? Расту просто нету замены.Это потому что тебе не хватает ума Аду осилить? Ну, в виде SPARK, с контрактами и формальной доказухой надежности? А в расте она, формальная доказуха, где, кстати? А то детишки, воспитанные списком тиобе, щоки смешно надувают конешшшно. Только "растишка в ведре"(ТМ) все еще не значит примерно ничего. Где Do-178 про раст, где МЭК про него?
> Это потому что тебе не хватает ума Аду осилить? Ну, в виде SPARK, с контрактами и формальной доказухой надежности?Какое отношение АДА имеет к ядру и СИшке?
> А в расте она, формальная доказуха, где, кстати?
Есть несколько проектов, но я не сильно интересовался насколько они рабочие
github.com/formal-land/coq-of-rustrustfoundation.org/media/rust-foundation-collaborates-with-aws-initiative-to-verify-rust-standard-libraries/
> А то детишки, воспитанные списком тиобе, щоки смешно надувают конешшшно.
Только "растишка в ведре"(ТМ) все еще не значит примерно ничего.
Подумаешь, второй язык в наверное самом распространенном ядре для серверов или телефонов...
"Я так тоже могу, только не хочу" (с)> Где Do-178 про раст, где МЭК про него?
Возможно тут adacore.com/gnatpro-rust
We’re developing GNAT Pro for Rust with the intent to support safety-certification needs such as avionics (DO-178), rail (EN-50128), space (ECSS-E-ST-40C and ECSS-Q-ST-80C) and others.ps АДАвцы не просто так стали Silver Member в Rust Foundation. Наверное они что-то знали.
adacore.com/press/adacore-joins-rust-foundation-as-silver-member
>Какое отношение АДА имеет к ядру и СИшке?А что вы носитесь с этим ядром, как бабы с пустым ведром? Оно в мишон критикал не применяется.
>Есть несколько проектов, но я не сильно интересовался насколько они рабочие
github.com/formal-land/coq-of-rust
Значит нету. Кок фо раст -- это просто кок. Он уже был. И к расту он внешний. Его никто немешал и не мешает применять к сишке.
>Возможно тут adacore.com/gnatpro-rust
>We’re developing GNAT Pro for Rust with the intent to support safety-certification needs such as avionics (DO-178), rail (EN-50128), space (ECSS-E-ST-40C and ECSS-Q-ST-80C) and others.Только этот гиммик от адакори и есть, больше и нету :) "Они девелопят" (с) Ну, как надевелопят -- и сертифицируются -- тогда и притаскивайте.
>Подумаешь, второй язык в наверное самом распространенном ядре для серверов или телефонов...
Примеры этих серверов и телефонов они щас с тобой в одной комнате? Нет, ты назови, я жду.
>"Я так тоже могу, только не хочу" (с)
Что ты там можешь? Пукать в лужу и собирать в гугле сомнительные ссылки все три?
>АДАвцы не просто так стали Silver Member в Rust Foundation. Наверное они что-то знали.
adacore.com/press/adacore-joins-rust-foundation-as-silver-member
Не "адавцы", а "адакоровЦы". Это еще не все "адавцы". И куда они пытаются скатить аду нравится не всем, с сомнительной алире начиная. Хрусты занимаются переизобретением колеса которое уже есть. Просто им нужно чтоб их унижал именно компилятор, а не формальныые требования регуляторов и отсуствие осознания зачем нужны те же SPARK и тот же coq
> А что вы носитесь с этим ядром, как бабы с пустым ведром?Возможно потому что тема про ядро? Неужели это так сложно понять?
> Оно в мишон критикал не применяется.
И слава богу. Не хватало бы еще чтобы самолеты падали, потому что какой-то оболтус ошибся в размерах буфера.
Тут вопрос к тебе, какого ты пришел со своим "мишон критикал" в тему про ведро для телефонов?
> Значит нету. Кок фо раст -- это просто кок. Он уже был.
Значит нету.
> И к расту он внешний. Его никто немешал и не мешает применять к сишке.Но в ядре не применяют)
> Только этот гиммик от адакори и есть, больше и нету :) "Они девелопят" (с) Ну, как надевелопят -- и сертифицируются -- тогда и притаскивайте.
Ты спросил - я ответил.
Судя по их сайту клиентам "в личку" уже скинули.>>Подумаешь, второй язык в наверное самом распространенном ядре для серверов или телефонов...
> Примеры этих серверов и телефонов они щас с тобой в одной комнате?Почитай opennet.ru/opennews/art.shtml?num=62256
И про андроид тоже.> Что ты там можешь? Пукать в лужу и собирать в гугле сомнительные ссылки все три?
Кажется из тебя лезет какое-то бы-ло. Возможно это твоя настоящая сущность.
> Не "адавцы", а "адакоровЦы". Это еще не все "адавцы". И куда они пытаются скатить аду нравится не всем, с сомнительной алире начиная.
Всегда найдется кто-то, кому что-то не нравится.
> Хрусты занимаются переизобретением колеса которое уже есть.
Ты сейчас описал почти все СПО. Начиная от GNU's Not Unix!.
> Просто им нужно чтоб их унижал именно компилятор,
Или просто делал за них монотонную работу по подсчету ссылок и заимствований.
> а не формальныые требования регуляторов и отсуствие осознания зачем нужны те же SPARK и тот же coq
А зачем оно нужно в "не mission critical" ядре?
Тут АДА будет избыточна.ps раз ты такой из себя специалист, то странно что не вспомнил ядро Ironclad и Gloire на нем основанную.
> Если не на Раст, то на чём? Расту просто нету замены.прроблема не расте в толерастах стоящих за растом.
Я тут вчера поставил FreeBSD на ryzen 5700 и оно даже заработало без танцев. Даже не зависло после первой загрузки в графическом режиме, как линукс из-за кривых дров на нвидию. Весь привычной софт завёлся с полпинка, никаких фризов, статеров. И даже копирование blu-ray на 50 GB с диска на диск не привела к глухому зависанию, как в линуксе.Там может это... ну его на фиг ваш линукс, а?
> blu-ray на 50 GB с диска на диск не привела к глухому зависанию, как в линуксеГде-то я это слышал, а да - при споре Mac vs PC где в зависимости от своей приверженности юзер упрекал ту или иную систему в медленной скорости копирки флоппи.
Да нет у меня никакой приверженности, просто линукс уже дико збал со своим дурдомом, вот и решил посмотреть на другие ОС. От местных экспертов я наслушался, что в BSD ничего не работает, софта нет, драйверов нет. Оказалось, что всё это наглая ложь. Я конечно буду и дальше тестировать, но пока проблем ровно ноль.
Там есть абсолютно все, и почти любой опенсорс серверный софт можно запустить. Единственное чего там нет это нормального мандатного контроля по типу selinux. Там есть самопальный мандатный контроль, но он очень странный.
Тоже думал про BSD, но фряха по-моему идёт в том же направлении что линпус, только позади.
10 лет назад фряха была лучше линукса на сервере, сейчас акценты сместились в сторону виртуализации и контейнеров, в этом линукс уже лучше, но сетевой стек в линукс так же имеет более высокие накладные расходы. В году так 2012 мое имя висело в числе донатеров фрибзд, я им 2000 долларов отправил на развитие, они мне прислали на домашний адрес красочное письмо с логотипом, что благодарят за донат и что я могу принять участие в голосовании по приоритетным ветвям развития проекта. До сих пор где-то в папках лежит это письмо.
Если ты говоришь правду, то моё почтение тебе, добрый странник.
Ещё лет 20-30 назад фряха на роутере с нат вытягивала в десятки раз больше соединений, и употребляла в разы меньше памяти и процессора, это на ipfw, с pf было бы ещё лучше. В Линуксе же о пользе bpf заговорили, последние годы и из-за высоких нагрузок на сетевой стек. Игорь Сысоев - разработчик nginx, тоже хорошо отзывался о фре, что она лучше сетевую многопоточность держит. Мне во фре нравится система портов, удобныe и понятные записи файерволов по сравнению с iptables, только nftables смогли достигнуть сравнимой читаемости правил. Система rc.conf просто супер, все основные настройки системы в одном месте, удобно и просто. Прародитель контейнерных технологий, во фре появился намного раньше.
Я пока ещё так глубоко не погружался, но могу согласится с тем, что система действительно спроектирована намного лучше. Очень приятные и подробные маны, написанные человеческим языком. Просто кайфовая документация, которая читается, как художественная книга.
Совращаете попробовать FreeBSD.
Только опасаюсь по поводу репозиторий, для меня важный критерий нахождения репозиторий на серверах рф.
Но истории про то что там все более стандартизировано привлекают.
Есть уляновск bsd, но я не знаю, что это
>Только опасаюсь по поводу репозиторий, для меня важный критерий нахождения репозиторий на серверах рф.Почему, если не секрет? У яндекса вроде бы зеркало есть.
> Почему, если не секретБанально хотя бы скорость выше.
Открой для себя poudriere и держи репозитории где захочешь.
Я не админ, по позволю усомниться в ваших словах
>Мне во фре нравится система портовЧто хорошего в этом допотопном сборище make файлов? Он хоть половину фич nix поддерживает?
>Система rc.conf просто суперВо сколько строк уложится юнит с запуском произвольной программы в отдельном пространстве имён, с ограничением по cappability? Как легко ограничить это для уже опакеченой программы, типа nginx?
>Прародитель контейнерных технологий, во фре появился намного раньше.Раньше было раньше, а сейчас - сейчас. И живём мы сейчас, а не раньше.
слышу "модно, молодёжно", понимаю - ненадёжно>Что хорошего в этом допотопном сборище make файлов?
возможность несложно, штатно, задокументированно, прозрачно для системы и персонала, собрать свой пакет, который установится, и будет зарегистрирован ровно так же как и через pkg.
Не подскажете, как легко собрать squid/samba/etc с другими опциями в Ubuntu?И да, пафоса поменьше.
Что такое "юнит" во фре?
Почему нас должны волновать какие то фичи какого то nix?
Что такое "пространство имён" и почему мы должны хотеть применить это к какой то программе?
>Весь привычной софт завёлся с полпинкаНа BSD что-то запускается, кроме GPL-ного софта? Тот же стим, например? Или только GPL-почему-то?
>Даже не зависло после первой загрузки в графическом режимеТакая же нога, но не болит
Конечно же нет, ведь аноним в комментах написал, что это недоразвитая ОС. https://www.freshports.org/games/linux-steam-utils
Да что ты, чёрт побери, такое несёшь...
а какой именно билд, я бы приобрёл себе такой же на посмотреть.
Можно в 2х словах это хорошо или плохо?
Ну для врача заинтересованного в доходе вылечить пациента это плохо, но хорошо постоянно его лечить, как бы затягивая, чтобы пациент постоянно возвращался.
> Ну для врача заинтересованного в доходе вылечить пациента это плохо, но хорошо
> постоянно его лечить, как бы затягивая, чтобы пациент постоянно возвращался.В условиях конкуренции быстро найдется врач, который таки вылечит, получит рекламу и заберет всех пациентов первого.
Потому что вылеченный пациент будет всем рассказывать "предыдущие только деньги тянули, а это раз! и вылечил!"
Это так не работает. Второй врач быстро выгорит на потоке клиентов и быстро поймёт что так долго не протянет и перейдёт на схему первого
> Это так не работает. Второй врач быстро выгорит на потоке клиентовС чего вдруг?
Поток клиентов легко и непринужденно отсекается ценой.> и быстро поймёт что так долго не протянет и перейдёт на схему первого
Не факт.
Возможно если болезни какие-то редкие - то да. А если распространенное - нет смысла.
Сейчас почти в любой стоматологии ставят фотополимерные пломбы, которые держатся 10 и больше лет.
А могли бы ставить "годик если повезет".
Но нет. Им не выгодно получать плохую репутацию. Проще делать хорошо, все равно людей с дырявыми зубами каждый год много.
Фотополимерные, но могли бы выращщивать зуб, вот в 2015 уже сделали и только только протестировали на животных.
> который таки вылечитКоторый таки вылечит будет изначально требовать огромные суммы, потому что только у них.
Но не слишком быстро, потому что иначе поток пациентов исчезнет.В итоге все сведется к лечению народными методами.
> В итоге все сведется к лечению народными методами.как вы из своей исходной предпосылки пришли к отквоченному мною выводу? как именно?
Не известно. С одной стороны множество разных технологий могут уничтожить проект. С другой стороны плюсы от использования этой технологии могут перевесить минусы и весь код потихоньку мигрирует на rust.
А среди плюсов это статический анализатор в самой технологии языка, сам синтаксис позволяет экономить память и думать как распределять ресурсы. Среди минусов - не стандартизирован, соответственно нет множества реализаций и его делает одна контора, которая может впихнуть туда что угодно в нужный модуль для нужного (может зарубежного для них) проекта. Как минимум это ведёт к монополии владения технологией американцами.
Люди пишут что на BSD можно сделать лучше ОС. Так когда-то поступила Apple, создав свою ОС. Получился неплохой продукт. Если речь об отечественных технологиях - тут главное желание людей и приложение к этим желающим финансирования если у них все получается. А без желания - без разницы. Хотя наверно ещё и подписка о не выезде если финансирование большое))
>Так когда-то поступила Apple, создав свою ОС.не нашёл однозначной инфы о том что именно они форкнули когда начали делать свою ось. в смысле - какую именно - фри/нет/опенБЗДУ они брали тогда?
Русские разработчики вообще обеспокоены отсутствием именно стандартизации, значит компилятор Си под отечественные микросхемы, которые может не вышли или которые применяются очень узким кругом контор есть. А rust - нет. Если в этом дело, то проблема в том что отечественные ОС придется поддерживать самостоятельно. Ну и в таком положении дел это может быть плохо. Но это если такие компиляторы есть или разрабатываются. А если их нет, то негодование тогда не ясно.
Может ещё негодование из-за того что нужно будет изучать новый язык программирования. Но это вряд-ли. Для специалистов это не проблема.
Линус же менеджер проекта на зарплате, причём не самый высокооплачиваемый. Почему вы его с Палпатином сравниваете? Он не этого уровня злодей, и всего лишь выполняет волю спонсоров проекта, кои есть Майкрософт, Гугол и прочие.
Так и напиши, что ему стало глубоко до лампочки на будущее проекта, поэтому он готов ради бабла принимать стратегически ущербные решения, а также забивать на мнение мэйнтейнеров.
зачем мне повторять то, что и так написано в тексте новости
А зачем ты пытаешь смягчить то, что есть по факту?
Так, а хоть один драйвер новый то написали, или кроме переписывания рабочего на свой лад больше ничего так и нет?
Про дрова по яблочный огрызок вы уже забыли?
Цитата от Christoph Hellwig
while Linus in private said that he absolutely is going to merge Rust
code over a maintainers objection. (He did so in private in case you are looking for a reference).
https://lore.kernel.org/rust-for-linux/Z7SwcnUzjZYfuJ4-@.../От же ж трепло! Прям как бабка базарная!
С ним нормально как с человеком поговорили один на один, а он раструбил на весь мир, еще и без пруфов. Сpaнaя снежинка!
А какие тут могут быть секреты между товарищами?
> А какие тут могут быть секреты между товарищами?Между товарищами - никаких. Но секреты между ними и должны оставаться.
А этот "товарищ" о секрете в публичную рассылку написал.
И вот кто он теперь? Тамбовский волк!
> С ним нормально как с человеком поговорили один на один, а он раструбил на весь мирзато он тактично умолчал о том что линус сообщил ему это утром, лежа на соседней подушке.
Возражения и аргументы обоих сторон можно понять.
Но оба варианта решения спора плохие, независимо от того какая сторона победит.Проблема в том, что Linux со всеми драйверами стал слишком жирным проектом. И его бы разделить на несколько частей.
Ps: Если долго тянуть, то дождемся когда systemd сможет работать и без ядра и "сторонних" драйверов. Шутка. Но это не точно. ;)
> Возражения и аргументы обоих сторон можно понять.
> Но оба варианта решения спора плохие, независимо от того какая сторона победит.Ваши предложения?
> Проблема в том, что Linux со всеми драйверами стал слишком жирным проектом.
> И его бы разделить на несколько частей.А как?
У нас монолит которому дофига лет и 40 лямов строк кода.
Все примеры распиливания монолитов, с которыми я сталкивался были долгими и геморными.
И это при том, что они были существенно проще.
>А как?Хрустик к нему прикрутить, очевидно же.
форк ядра на раст. и у каждого своя поляна. рынок сам решит что ему выбрать в итоге.
> форк ядра на раст. и у каждого своя поляна. рынок сам решит что ему выбрать в итоге.Хм.. а почему не "форк без раста (если осилите)"?
Линус четко выразился или не ставите палки в колеса, или катитесь нафиг.
я выбрасываю линуса поскольку он сделал это сам фактически став наемником корп. в сухом остатке имеем "новое поколение" ржавых идиотов и "старое поколение" щей и крестов. раз детям надо - вот они пусть и делают а к старикам пусть не лезут, покуда те сами не захотят общаться. к слову дискусия по миру продолжается, что говорит о том что старики не выходят из диалога, но они просто (и вполне законно) говорят что идите и делайте своё. вооон там.
> Хм.. а почему не "форк без раста (если осилите)"?я очень много лет целенаправленно шёл по операционным системам в сторону слакваря, и последние три года сижу на нем. не спеша допиливаю под себя и готовлю форк.
> я очень много лет целенаправленно шёл по операционным системам в сторону слакваря,Хахаха, скака сейчас это унылое днище.
Не удивлен что ты ей пользуешься.> и последние три года сижу на нем. не спеша допиливаю под себя и готовлю форк.
А в туалет ты ходишь в яку в земле?
Или хотя бы ведро нашел?
> Линус четко выразился или не ставите палки в колеса, или катитесь нафиг.что ж, я в любом случае хотел уходить на никсы. но жаль, линукс был хорош.
Неподдерживаемый проект это совсем другая проблема. Разве rust тут чем-то поможет?
Например, можно будет заявить на похоронах "хотели как лучше, а получилось как всегда".
В кой-то веки Линус Торвальдс повел себя адекватно и принял правильное решение, встав на сторону будущего. Си - хорош, но он - история. Раст - будущее
Как раз наоборот, хрустики теперь будут плясать вокруг сишечки вместо написания своего безопас(Т)ного ядра. Финский тут умудрился целых два проекта запороть в плане будущего.
>хрустики теперь будут плясать вокруг сишечкиКакое-то время - да. Пока не перепишут очередной модуль на Rust. Так, например, делает Гугл с Андроидом.
> Раст - будущеея слышад точно такую же пежню про ангулар, пистон/жс/тс, электромобили, резиновых женщин и безалкогольное пиво.
> В кой-то веки Линус Торвальдс повел себя адекватно и принял правильное решение,
> встав на сторону будущего. Си - хорош, но он - история.В кой-то веки Линус Торвальдс повел себя адекватно и принял правильное решение,
встав на сторону ЧЕМОДАНОВ денег.
>Си - хорош, но он - история.история? тогда зачем же человечество не дропает его поскорее, раз все вокруг всё давно поняли, с ваших же тезисов?
> Раст - будущеена мой взгляд это довольно убогое, нестабильное, дорогостоящее и ухудшающееся ввиду тотальной деградации мышления населения шарика будущее. классные времена нас ожидают, киберпуку и не снилось. хорошо что это явно не наше будущее, а _уже_ ваше.
Rust неплохой язык, который собрал вокруг себя неадекватное комьюнити
чем больше закорючек, тем больше "неплохой"?
Чем больше строгой типизации, стандартных абстракций, контроля над работой программиста, тем более неплохой.
Комьюнити точно такое же, как в любом другом языке, где много луддитов с завышенной самооценкой.
Отличная новость!
Все комментаторы, которые зубоскалили в предыдущей новости... что с лицом?))
Приуныли чуток? Внезапно оказалось, что "сообщество" это никто и ничто?)А ведь это только слух, что кто-то где-то что-то сказал.
Что же будет когда будет официальное решение?
Совсем пятая точка сгорит?))
Ничо не будет, выпьем за упокой и продолжим жить дальше :)
Интересно, а вы чему собственно радуетесь? Качество Linux от этого только упадет и проиграют все... да, вы не ослышались, именно упадок. Раст любой ценой? Это только подтверждает неадекватное поведение данного культа. Деды уйдут, а заменить их будет некем.
>Качество Linux от этого только упадетОтчёты Гугла говорят об обратном. Остальной бред не комментирую.
гуглу нет веры ещё со времён тихой и "внезапной" смерти проекта Hunger Beast, которые форсили отличный медиа-контент о исподнем белье гугла, от чего у того пекло аки процессоры амуде. не, вру - ему нет веры с ещё более ранних пор. и к слову - а что именно эти отчеты описывают? в чьей трактовке? в чью угоду? лицами трудоустроенными в каких именно компаниях/позициях? смешной вы, ей богу.
>увеличит нагрузку на и без того перегруженных людей, поддерживающих инфраструктуру ядраОбъясните чем эти нытики постоянно перегружены?
Работать приходится?
Мне непонятно, почему растоманы так активно лезут в ядро, в то время, когда есть овердохрена сетевых и инфраструктурных сервисов на С которые зачастую и являются первичными векторами атаки, которые собственно и эксплуатируют при взломах и диверсиях. Может за них надо браться, а не лезть в чужие проекты? Соберите там дистр в котором вся критическая часть написана на расте, продемонстрируйте его "секурность" и безопасность. Вот тогда и можно будет говорить о каких-то гипотетических плюшках наличия раста в ядре.
А так это один в один попытки всяких заднеприводных, "небелых" и нетакусек влезть во все аспекты жизни просто по тому чтобы "хочется", а по факту получаются негробелоснежки и тому подобная шляпа.
Создавайте свой луддитский форк без раста.
по идее наоборот, вы должны были сделать форк с растои и показать как это всё хорошо работает.
а не вломиться в проект и требовать чтобы под вас подстраивались и посылать в форк если чтото не нравится
>по идее наоборот, вы должны были сделать форк с растои и показать как это всё хорошо работаетЕсть Asahi Linux. Ну как? Вы даже о существовании этого форка не вспоминаете, не говоря уже про оценку успешность. Вам что не сделай, всего будет мало
>а не вломиться в проект и требовать чтобы под вас подстраивалисьПро балканизацию ничего не слышали?
ну стало быть ржавые - это отбитые, раз у них уже есть форк ядра на расте и целая их ось но они лезут в кернел. и если ваш асахи Тинукс так хорош что из него смыло лида при первом скачке - то тогда я "почему-то" не удивлен.
> ну стало быть ржавые - это отбитые, раз у них уже есть форк ядра на расте и целая их ось но они лезут в кернел.А с какого они не имеют право лезть туда, куда пожелают?
Я не видел в "конституции" ядра пункта "ржавым вход запрещен".
Так что отбитые это те, которые устраивают позорное копротивление и скандалы)> и если ваш асахи Тинукс так хорош что из него смыло лида при первом скачке - то тогда я "почему-то" не удивлен.
Но вахтера-сишника тоже смыло.
Мало того что он начал рассказывать приватные разговоры (что уже *удатство), так еще и слился с должности.
Потому что нарушать субординацию могут далеко не все.
> Но вахтера-сишника тоже смыло.про это если можно вкратце я бы послушал, не в повестке. но пока то что я вижу - напоминает сумасшедший дом, но пристроенный к армейскому арсеналу.
>Так что отбитые это те, которые устраивают позорное копротивление и скандалы)
это очень смешно читать, если честно. и просто потому что последний раз про КОпротивление я читал (не) только лишь на двечах. и потому что пока что аргументов я не услышал кроме оголтелого желания КОПРОтивляться, судя по акценту с вашей стороны, тут я хз как в действительности. но технически - я не очень понимаю что вам всем (я о ржавых) дает основания считать что вы нужны на десктопе? а зачем вы в проде? можно хоть сколь-нибудь структурированный список. а то я тут ндавно собирал новые утилитки, одной из них для обновки понадобилась какая-то либа навроде моста между пистоном и растом. ну думаю ок, установлю, это ж либа примыкающая к расту всего лишь. но как только я понял что мне сейчас прилетит тонна всякого говна - я не очень понимаю зачем оно мне, моей жене или моим детям ДОМА. всё что конкретно НАМ нужно - прекрасно работает и так. язык, который не в состоянии не_ломать то что до него сделано - не сильно нужОн имхо. но - это моё мнение, вы не обязаы с ним соглашаься, так что подожду вашего спика преимуществ иметь это ДОМА, подчеркну. почему должен быть именно в ядре? оптимизация+дебаг? ну так ещё раз - пишите свою версию. полностью с нуля, хотя бы для истории, и мы увидим чем это кончится. а сейчас мы просто вползаем в ещё менее стабильную и предсказуемую среду. просто потому что абстракции невозможно плодить бескончно на каком-то слое начнется люфт в управлении ситуацией и/или полное её непонимание фигурантами.
ну потому что кроме родительской спальни - тра#аться детям больше негде во всём огромном доме. инфраструктура, понимаете?
Перепишите хоть на плюсах, хоть на brainfuck, только 12309 исправьте!
Кристоф Хелвиг - настоящий программист, всё четко и по делу, остальные только кричат про мнимую безопасность.
Про безопасность можно говорить когда язык обкатают в жестком проде лет 10 хотя бы. И да - про сопровожнодение, посмотрите код на расте - жуть жуткая, а ведь придется и разбираться в чужом коде когда-то.
>Про безопасность можно говорить когда язык обкатают в жестком проде лет 10 хотя бы.А почему не 20? Или как си - лет 50? И как его обкатают, если старые сишники копротивляются внедрению rust в существующие проекты?
>И да - про сопровожнодение, посмотрите код на расте - жуть жуткаяКод на си - не меньшая жуть.
> А почему не 20?а толку? простые числа существуют 2к лет, а доказывать их бесконечность умеют, по прежнему, "единицы". Мораль сей басни такова, школа (традиции) с твердым основанием должна быть, а не посиделки каждый у своего костра.
> Код на си - не меньшая жуть.жуть - это когда люди имеющие собственный завод по производству домов сквотят чужой дом с глазами ни разу невиноватых. сколько лет расту? он бывал в космосе? он бывал в марианской впадине? какие у него достижения на дистанции в отличии от щей и крестов? сколько опыта накопило челвечество в дебаге и разработке щей/крестов в отличии от раста, который наполовину нагенерен, наполовину написан индусами-мигрантами с разноцветными волосами?
> жуть - это когда люди имеющие собственный завод по производству домов сквотят чужой дом с глазами ни разу невиноватых.Лол. У тебя АНАЛогии (конкретно твои точно от слова aнaљ)) все еб№№№е и еб№№№е.
Их в дом пригласили. Пригласил сам основатель дома и его бессменный глава.
Приглашение поддержал вторая рука, который основателя подменял пока тот отдыхал.> сколько лет расту?
Болье чем сишке, когда на нее переписывали (именно переписывали) UNIX.
> он бывал в космосе?
да был opennet.ru/opennews/art.shtml?num=60285
> он бывал в марианской впадине? какие у него достижения на дистанции в отличии от щей и крестов?
Минимум 1.5 ляма строк в андроиде.
Клоудфаря через которую идет существенная часть интернета.
Второй язык в ядре линукса))> сколько опыта накопило челвечество в дебаге и разработке щей/крестов
Ты хотел сказать "говнокодинга CVE. одних и тех же, из года в год... я тебе говорил что такое безумие? (с)"
> в отличии от раста, который наполовину нагенерен, наполовину написан индусами-мигрантами с разноцветными волосами?
Меня не волнует цвет волос. Меня волнует код и его надежность.
Пусть извращенцы дыряшечники заглядыват разработчика в трусы.
Если они живут по АУЕшным законам и боятся об код "зашквариться", то это их личные проблемы.
>Их в дом пригласили. Пригласил сам основатель дома и его бессменный глава.
>Приглашение поддержал вторая рука, который основателя подменял пока тот отдыхал.пока что "все еб№№№е и еб№№№е" происходит на твоеё стороне. приглашение в дом не тождественно тому что тебе дарят в нём прописку. дедушка, выпей таблетку, ладно?
> Болье чем сишке, когда на нее переписывали (именно переписывали) UNIX.как увлекательно. а чего-ж тогда ядро на нем бы не написать с нуля или как там ржавым надо? раз язык так хорош. зачем им входить в текущее ядро иначе как для сосания у дидов корп за баблос?
> да был opennet.ru/opennews/art.shtml?num=60285
искренне рад за него. читаем. "с real-time подсистемой ядра Linux, написанной на Rust". ясно. закрываем. ну хоть где-то оно побывало.
> Клоудфаря через которую идет существенная часть интернета.
клаудфларя - это что-то прям эпическое? на это нужно мо( )иться? или что? не совсем понятно.
>Минимум 1.5 ляма строк в андроиде.
причём тут андроид? когда вы свернули не туда, любезный?
> Второй язык в ядре линукса))
этот расклад меня лично устроит ибо я не прочь переехать в юникс.
>Если они живут по АУЕшным законам.
эта страна живет так сотни лет, если ты до сих пор не понял или не знал этого. пора бы к этому привыкнуть.
>Меня не волнует цвет волос. Меня волнует код и его надежность.
именно поэтому у тебя проблемы с оценкой ситуации. вменяемый человек не красит себя.
>Кристоф Хелвиг - настоящий программистКристоф Хеллвиг - настоящая истеричка с синдромом вахтера. Его несколько раз спрашивали про технические проблемы, предлагали помощь. Он ничего не ответил и отказался от предложенной помощи.
>И да - про сопровожнодение, посмотрите код на расте - жуть жуткая, а ведь придется и разбираться в чужом коде когда-то.
Прежде, чем смотреть на чужой код, надо для начала с языком программирования ознакомиться, чтобы он не вызывал панический страх.
>Про безопасность можно говорить когда язык обкатают в жестком проде лет 10 хотя бы.
Зачем столько лет ждать, чтобы называть белое белым, когда это и так очевидно любому здравомыслящему человеку? Кроме того, есть такие фирмы, как Гугл, Клаудфлэр, Амазон, Дискорд, Дропбокс, Майкрософт, Вольво, которые уже опробовали Rust и оставались довольны.
> Зачем столько лет ждать, чтобы называть белое белым,идиоты вроде тебя как раз массово и покупали билеты на Титаник
Кристофу надо было в онкологи идти, а не в программисты
> Мэйнтейнерам будет проще рецензировать изменения и проводить рефакторинг модулей с учётом гарантий, предоставляемых языком Rust.А гарантии от снежинок что код принесли будут?
Что бы на вопрос "что это?" снежинка не убегала в твиттер канселить вопрошающего а честно отвечало что за муть там на ржaвом написана?
Торвальдс окончательно скурвился.
Что, впрочем, он уже и до этого продемострировал.
И да, продавят, продавят.
Торвальдс окончательно пришёл в чувство. Поправил, можешь сказать спасибо. Вот бы ещё микроядро вместо вот этого...
Ага, ага... Rust по сложности давно уже первысил С++, разрабатывать на нём очутимо сложнее чем на плюсах. Но если плюсы хоть как-то перекликаются с С, основным языком ядра, но Rust совсем другой язык.Чтобы хоть как делать ревью кода, его надо знать на довольно приличном уровне. Соответственно требования к квалификации мантейнеров резко возрастают.
Новых людей это не привлечет. Растаманов которые реально способны писать качественный код по пальцам. Большая часть топящих за Раст, из тех кого я встречал, на нем без документации даже "hello world!" не напишут. А вот текущие мантейнеры, кто не хочет учить Rust, реально начнут покидать проект.
Про качество кода и логику тоже очень спорно. Хороших растаманов сильно меньше хороших С-шников. Снижение средней квалификации разрабов невелирует все плюсы от Раста.
>Rust по сложности давно уже первысил С++Это не так. Rust гораздо проще C++.
>разрабатывать на нём очутимо сложнее чем на плюсах
Отчёты Гугла говорят об обратном. Продуктивность программистов и качество кода выросло после перехода с C++ на Rust.
>Но если плюсы хоть как-то перекликаются с С, основным языком ядра, но Rust совсем другой язык
C++ гораздо сложнее C. Rust другой, но проще C++.
>Чтобы хоть как делать ревью кода, его надо знать на довольно приличном уровне.
Как и любой другой язык.
>Соответственно требования к квалификации мантейнеров резко возрастают.... А вот текущие мантейнеры, кто не хочет учить Rust, реально начнут покидать проект.
Как будто это что-то плохое. Одному из мейнтейнеров предлагали помощь, он сам, своим ртом, отказался.
>Про качество кода и логику тоже очень спорно.
Нет. Rust сразу бьёт по шаловливым ручками программиста, в отличие от C, где даже очень опытные пропускают типовые ошибки работы с памятью. Гугл не даст соврать.
>Хороших растаманов сильно меньше хороших С-шников.
Это временное явление. Да и, кстати, совсем не факт.
>Снижение средней квалификации разрабов невелирует все плюсы от Раста.
Нет. Общее качество кода вырастет. Там, где нужны были 3-4 программиста на C теперь будет достаточно одного на Rust. Почему? Потому что Rust, кроме других плюшек, содержит стандартные абстракции, в отличие от C, где надо их изобретать из проекта в проект.
> Потому что Rust, кроме других плюшек, содержит стандартные абстракции, в отличие от C,
> где надо их изобретать из проекта в проект.Ядро такая вещь, что особо не воспользуешься стандартным - всё очень нестандартное. Там и в Rust, если правильно помню, для ядра свои нестандартные Arc<> изобретают (https://rust-for-linux.com/arc-in-the-linux-kernel), и panic!() по-другому обрабатывают.
> Нет. Общее качество кода вырастет. Там, где нужны были 3-4 программиста на
> C теперь будет достаточно одного на Rust. Почему?Для того же кода надо будет 30-40 программистов на расте. Остальной бред и комментировать не хочется.
> Это не так. Rust гораздо проще C++.Из это фразы сразу понятно, что ничего больше чем "hello world" на Rust'е вы не писали. Про многопоточность я даже говорить не буду.
> Отчёты Гугла говорят об обратном. Продуктивность программистов и качество кода выросло
> после перехода с C++ на Rust.Какие отчёты? Кто их написал, третий менеджер булавок четвертого завхоза Гугла?
То, что я говорю, это мой личный опыт. Я пописал нормально код: Asm, С, С++ начиная с первых стандартов, Ruby, Python, Go c версии 1.04, Groovy и так далее. И мне есть с чем сравнить.>>Но если плюсы хоть как-то перекликаются с С, основным языком ядра, но Rust совсем другой язык
> C++ гораздо сложнее C. Rust другой, но проще C++.Вся сложность С++ в STL. Среднестатистическому разрабу Templates писать не приходится, все пользуются стандартными. Rust проще пока ты копипастишь примеры с Quick Start Guide. А как только начинаешь писать свой код, начинается: Ownership, Lifetime, Mutability, Macros, Traits, Dynamic type sizes, Generics, Coherence/Orphanage, Macros. Так это я назвал базу, можно сказать. Без понимания этого всего, вы даже миддлом считаться не можете.
А когда дойдёт до асинхронности, конкарренси и параллелизма вам С++ будет как Basic после C.>>Чтобы хоть как делать ревью кода, его надо знать на довольно приличном уровне.
> Как и любой другой язык.
>>Соответственно требования к квалификации мантейнеров резко возрастают.... А вот текущие мантейнеры, кто не хочет учить Rust, реально начнут покидать проект.
> Как будто это что-то плохое. Одному из мейнтейнеров предлагали помощь, он сам,
> своим ртом, отказался.Ничего плохого, если ты им платишь соответствующую зарплату. Многие мантейнеры просто волонтёры, у которых есть помимо кернела, семьи, другие интересы и прочая.
>>Про качество кода и логику тоже очень спорно.
> Нет. Rust сразу бьёт по шаловливым ручками программиста, в отличие от C,
> где даже очень опытные пропускают типовые ошибки работы с памятью. Гугл
> не даст соврать.Опять аппеляция к чужому авторитету. Лишний раз подтвержает, что вы вообще не в теме. Просто пересказываете чужие слова.
Постоянная борьба с ownership/lifetime очень серьезно замедляет скорость разработки. Только года через два-три серьезного писания кода у вас начинают появляться шаблоны паттерны которые хоть как-то облегчают жизнь. Проблема в том что мантейнеры, это не разработчики. Они может и пишут свой код на основной работе, но точно не на Rust. И им, чтобы вникнуть в язык до такого уровня, придется потратить лет пять.
>>Хороших растаманов сильно меньше хороших С-шников.
> Это временное явление. Да и, кстати, совсем не факт.Сомневаюсь. Уж на что я был энтузиаст Rust'а, но я в конечном счёте решил не тратить своё время на него. Количество вакансий Rust'а сильно ограничено, и вряд ли будет серьезно расти. Важность надёжного кода сильно преувеличена. А время для изучения Rust'а до достаточного для уровня миддла, эффективнее потратить на изучение актуальной предметной области типа AI.
> Нет. Общее качество кода вырастет. Там, где нужны были 3-4 программиста на
> C теперь будет достаточно одного на Rust. Почему? Потому что Rust,
> кроме других плюшек, содержит стандартные абстракции, в отличие от C, где
> надо их изобретать из проекта в проект.Скорость разработки упадёт значительно, пока разрабы не накопят достаточный опыт. Говорить о какой-либо стандартности Rust смешно. На момент когда я на нем писал, официального стандарта не было. И помоему до сих пор нет. Эти абстракции "стандартные" на время жизни текущей редакции. Нет никаких гарантий что в следующей редакции ничего не поменяют.
Так что это всё ваши розовые фантазии.
Удивительный мир, спецы не разработавшие и одного серьезного продукта, судят "плохой С" и рассуждают о безопасных языках.
Если все ядро переписать на раст, в ядре будет ровно столько же логических багов сколько и сейчас. Так-же потенциально те-же переполнения и наезды на соседнюю память, если учесть как часто встречается слово Unsafe в коде раст, который они пытаются запихнуть в ядро.
> Удивительный мир, спецы не разработавшие и одного серьезного продукта, судят "плохой С" и рассуждают о безопасных языках.Удивительный мир, спецы не работавшие ни в одном серьезном ресторане, судят "протухшее жаркое" и рассуждают о неприемлемости ногтей и волос в пирожных.
> Если все ядро переписать на раст, в ядре будет ровно столько же логических багов сколько и сейчас.
Логических - возможно.
Но скорее всего меньше, тк не будет тон void*, а будут нормальные типы.> Так-же потенциально те-же переполнения и наезды на соседнюю память,
Неправда)
> если учесть как часто встречается слово Unsafe в коде раст, который они пытаются запихнуть в ядро.
А как часто встречается? Уверен, что ты посчитал и поделишься результатами.
> Удивительный мир, спецы не работавшие ни в одном серьезном ресторане, судят "протухшее жаркое" и рассуждают о неприемлемости ногтей и волос в пирожных."протухшее жаркое" в серьезных ресторанах под названием операционные системы не подают. Это жаркое десятилетиями является основой практически всех вычислительных систем. Его намеренно пытаются чернить обиженные религиозные фанатики-диверсанты наподобие свидетелей Иегова, которые считают что их книжка лучше, сыпля ногти и волосы.
> Но скорее всего меньше, тк не будет тон void*, а будут нормальные типы.
Не существует ненормальных типов для процессора, существует невнимательность и лень при тестировании.
> А как часто встречается? Уверен, что ты посчитал и поделишься результатами.
Достаточно посмотреть коммит, из-за которого начался весь этот сыр-бор.
И вообще, раз такие крутые, берите форк ядра, и перепишите на раст. Надеюсь хоть что-то полноценно пригодное на этом языке создать сможете, а не сотни демок половинчато-демонстрационно реализованных
Любой, уважающий себя, меинтайнер просто перестанет после такого быть меинтайнером!
Жду не дождусь массового ухода меинтайнеров!