Проект HardenedBSD, занимающийся улучшением механизмов защиты FreeBSD и выпускающий защищённые сборки FreeBSD, представил первые результаты работы по предоставлению возможности использования компонентов пространства пользователя FreeBSD, написанных на языке Rust. Разработка ведётся в отдельной ветке hardened/current/rust-in-base...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=63280
Очередное подтверждение тому, что за растом будущее. Объяснять его ненужность теперь все сложнее и сложнее. Но сишникам удается!
Ну... если уже смотреть глобально, то нужность фри еще предстоит объяснить)С другой стороны - а ядро линукс (именно в ядро, а не юзерспейс) раст тоже добавляют.
Так что вполне возможна ситуация, когда линукоиды скажут "а у нас уже раст в ядре и дрова есть, а вы опять догоняющие! 😝"
объясни это citrix ли netflix, например. потом возвращайся. по пути к микрософту или к DARPA загляни
> объясни это citrix ли netflix, например. потом возвращайся.Ты забыл еще вспомнить плейстейшн)
> по пути к микрософту
А что у мелкомягких?
У них половина бизнеса построена на линуксовых дистрибутивах.> или к DARPA загляни
А после дарпы заглянем в список топ500 суперкомпов? Или посмотрим с какими ОСь можно купить ноуты (dell/hp и тд)
Или не надо? Ну чтобы убогих не так сильно унижать)То что ты перечислил, это как раз известные исключения. Которые подтверждают правило.
Если начать перечислять "правила", то боюсь не хватит лимита символов для этого сообщения.ps хотя после этой новости, мое мнение о БСД улучшилось)
судя по всему, хотя бы часть решила развиваться
> то за растом будущееМожет быть, но на данный момент это просто прототип, о чем сказано в новости
> На момент написания отчёта заявлена поддержка только сборки и установки Rust-приложений, работающих в пространстве пользователя. Поддержка библиотечных crate-пакетов запланирована в будущем. Использование Rust в ядре пока не поддерживается, так подобная возможность требует большого объёма работы и выходит за рамки начального прототипа.
Таким образом, ничего серьёзного. Не ясно зачем очередная новость об этом. Похоже на дешевый пиар.
Портировали бы уж сразу системд на расте...
А этот процесс точно будет называться "портирование"?
Поттерирование?
аннигиляция
Так фряха только этим недокомпилятором и (не)собирается, ровно никаких препятствий для поддержки раста. Если бы раст поддерживался gcc, я уверен, претензий и с линуксом куда меньше было.
Но линукс уже довольно давно может собираться шлангом.
docs.kernel.org/kbuild/llvm.htmlАндроид, насколько я помню, тоже.
Так что не вижу острой необходимости в вендорлочном GCC.
Сам линукс собирают, в основном, стараниями разработчиков андроида. А вот юзерспейс не очень хорошо шлангом собирается, что можно видеть на примере фряхи. Только шланг код всё ещё хуже и менее универсальный выдаёт, в принципе не способен на эффективные оптимизации (размер бинаря и оптимизации профилирования), есть дистрибутив линукса, собранный шлангом и он всегда ощутимо хуже был. В связи с чем собирать шлангом особого проку нет, кроме корпоративных интересов и унификации с проприетарными компиляторами (те же самые корпоративные интересы).
> А вот юзерспейс не очень хорошо шлангом собирается, что можно видеть на примере фряхи.Что ты имеешь ввиду под юзерспейсом в контексте фряхи?
Базовая система (ядро + мир) прекрасно собирается llvm.
А порты это порты, чем девелопер собирает, тем и собираются.
GCC открыт и свободен, поэтому не явлется вендорлочным. Ибо любой может посмотреть, как и что он творит со входным и выходным кодом.
только этого не будет. суть раста это вендорлок
Вы про Clang? Если да, то не понимаю почему его многие так хейтят. Он часто генерит лучший код, чем GCC. У клэнга работа с векторами интереснее, можно например как в OpenGL обращаться к части вектора. Или делать перемешивание просто написав a = b.yzxw;
Хороший компилятор, в общем.
> Вы про Clang? Если да, то не понимаю почему его многие так хейтят.Потому что кусок жирной энтерпрайзятины, делаемой полутора корпами под свои нужды с пофигом на вообще всех остальных.
Пересобрать LLVM и тем более clang? Это такой сильно отдельный квест, с скачкой половины интернета и затратами дофейхоа ресурсов. Так что если у вас вдруг версия этого не та - это обрекает на много боли. Чтобы не было скучно оно обречено жиреть и тормознеть в неограниченных рамках - ибо абсолютно все и вся живет в ОДНОЙ либе. Которая уже отросла до примерно ста мегов в последних версиях - и это явно не предел, учитывая что оно не умеет половину архитектур рюхаемыех GCC-ами.
А вот отребилдить GCC под конкретно вон ту штуку, вон той версии - как раз в пределах сил человеческих. Особенно bare metal тулчейн для мк, ядер, фирмварей, и тому подобного. С LLVM это все - сильно более другой уровень боли в з@днице.
Помимо неоптимального кода (лапша из goto, впрочем, пользователям нравится) ещё заметил что чуть неправильно собранный тулчейн llvm (ну там если gcc где-то 1 из пакетов собрал, или линкер был не ldd, или --rtlib=compiler-rt с -stdlib=libc++ не добавлены в ключи хотя default и так выставлены, которые теперь надо убрать потому что не поддерживаются новой версией, каждое обновление что-то новое) приводят к интересным багам в том же расте (программах на нём), которые невозможно ни диагностировать ни отладить, особенно забавно, когда это непонятным образом влияет на глюкалово вроде веббраузера. Или вон --undefined-version линкеру теперь добавлять чтобы хромиум мог слинковаться и буквально каждое обновление что-то ломается само по себе.
> Помимо неоптимального кода (лапша из goto, впрочем, пользователям нравится) ещё заметил
> что чуть неправильно собранный тулчейн llvm (ну там если gcc где-то
> 1 из пакетов собрал, или линкер был не ldd, или --rtlib=compiler-rtСобссно жил да был некто iZEN, фанат FreeBSD. Рассказывал мне как ща шланг этого нашего GCC сделает, и вообще, под правильной лицензией, быстрей компилит, все дела.
В ответ я бурчал что-то типа "бойтесь своих желаний".
Через несколько лет чат повторился. Изен был значительно менее оптимистичен насчет своего фетиша - его желания исполнились. При том ему запихали в систему по моему аж штуки так три разных LLVMа. А с учетом любви адептов BSD ребилдить все из сорца такой подарок в паре с подкрутками оптимизаций до уровня сравнимого с GCC - и таим же падением скорости компила - это мало кого оставит равнодушным :)
Собственно LLVM/Clang и Rust это 2 причины кончины Gentoo как чего-то популярного, без датацентра набитого EPYCами она мучительна уж очень. Но за фряхой с ее адептами этот апокалиптец ведь тоже как раз и пришел, и как раз скребется в дверь. Вы еще не купили топовый EPYC? Бабок не хватило? А зря. Ибо скоро без него вы вообще не доживете до окончания компила всей этой офигенной лабуды.
Ну сейчас собственно приходится держать прошлый шланг для раста и меза (уже обновили ебилды, не знаю детали), для блендера с интеловскими либами приходилось держать позапозапозапрошлый шланг. Несколько тулчейнов это не так ужасно, мне точно так же приходится держать позапозапрошлый гцц для dxvk (чтобы не было рандомных падений) и прошлый потому что то же ядро линукса не собирается текущим и его уже размаскировали.
Заголовок вводит в заблуждение. Может показаться что FreeBSD развивает поддержку Rust.
Но это не так. HardenedBSD развивает свой форк.
> Может показатьсяТолько если ты читаешь не глазами)
Что не ясно во фразе "Для FreeBSD развивают..." ?
Это как "для linux сделали дрова для apple silicon".ps вполне возможно что их наработки и патчи можно будет накатить на обычную FreeBSD.
> ps вполне возможно что их наработки и патчи можно будет накатить на обычную FreeBSD.Там из наработок 50 строк в мэйкфайле и покарска волос в синий цвет.
А в FreeBSD и не знают.
> А в FreeBSD и не знают.Все они знают.
Уже была новость, в прошлом году, в начале и середине года:
"Разработчики FreeBSD обсуждают использование языка Rust в базовой системе"
opennet.ru/opennews/art.shtml?num=60473И потом на БЗДшом саммите тоже возвращались к этому вопросу:
opennet.ru/opennews/art.shtml?num=61456
"Среди рассмотренных на саммите тем:
Интеграция инструментария Rust в базовую систему, поставка и переписывание приложений на языке Rust и предоставление возможности разработки компонентов ядра на Rust."Так что думаю они с интересом наблюдают и думают "а может цап-царапнуть к себе?"
Как с интересом можно наблюдать makefile?
Чем плох C и C++ - тем что эти языки захватил в свою собственность ISO. Он на них деньги делает, никому бесплатно не даёт спецификацию. Это неправильно, не должны свободное ПО писаться на языках, чьи спецификации мало кто видел и они несвободны. А вот спецификации Rust, Java, Free Pascal - бесплатные и в открытом доступе.
... и распространяются в виде бинарников, в которые можно засунуть что угодно.
собирайте из исходников
https://github.com/rust-lang/rust/blob/master/src/bootstrap/...да, если что, то для "бутстрапа" gcc требуется С-совместимый компилятор, плюс всякие binutils
> А вот спецификации Rust - бесплатные и в открытом доступе.У раста нет спецификации.
https://github.com/rust-lang/spec
> https://github.com/rust-lang/specВо-первых, этот репозиторий пустой.
Во-вторых, это расту передали наработки другой организации для другого комплиятора раста https://blog.rust-lang.org/2025/03/26/adopting-the-fls/
А у с/с++ нет единого стандарта, но никто не жалуется, почему-то
> А у с/с++ нет единого стандарта, но никто не жалуется, почему-тоНе очень понятно куда ISO вдруг резко делся, вместе со своими стандартами.
Ясен пень. Винда давно уже переходит на раст, линукс запоздало, но тоже пытается. И остальные перейдут, никуда не денутся - потому что это серьёзный технический прогресс который невозможно игноровать. Что на этот счёт думают админы локалхостов никого не волнует.
Когда невозможно будет игнорировать, а не игноровать - тогда и приходите.
Это просто блаж и неведомый социальный феномен.
У нас вот у людей засели в головах маркетплейсы. У них - раст. Стадная движуха такая, на максималках - все пользуются.
В тоже время, на ответственных, высокопроизводительных проектах по прежнему будут использовать си. Платят там нормально, так что типичных ошибок не должно быть - просто потому что зп позволяет на таких проектах несколько раз вычитывать код и делать соотвествующие тесты.Кстати, хотелось бы посмотреть на того, кто осмелиться предложить переписать на раст планировщик или переключение контекста - уверен после ответа от нормальных программистов такой чел долго отсвечивать не будет)
Так, куда теперь побегу бежавшие от раста с линукса на фрибсд?
На плейстейшн!
Так речь про форк фряхи. Про ванильную фряху речь не идет.
Также ещё остается illumos, Openindiana к примеру.
На DragonFly
Теперь make buildworld будет в 4 раза дольше... и больше...
Мне вот интересно, на какой ещё язык начнут всё подряд без разбору переписывать когда детвора наиграется в раст и осознает, что после "давайте всё перепишем!" начнётся "а теперь надо всё переписанное дальше поддерживать", а это скушненько и неинтересненько?
А то с джавой уже было, с го было...
Как только ты покажешь другой язык, который решает проблему работы с памятью и эффективности траты ресурсов лучше, чем Раст. Но ты его не покажешь, потому что к тому времени как подобное придумают, раст уже успеет ускакать вперёд через Полониус, уже будет крепко сидеть во всех операционках и в целом обрастёт ещё более обширной экосистемой, чем сейчас. Задолбаешься догонять. Это тебе придётся изобрести что-то немыслимое, что перевернёт всю индустрию, но при этом всем будет понятно, что в расте это сделать невозможно.
> потому что к тому времени как подобное придумают, раст уже успеет ускакать вперёд через Полониус, уже будет крепко сидеть во всех операционках и в целом обрастёт ещё более обширной экосистемой, чем сейчас. Задолбаешься догонять. Это тебе придётся изобрести что-то немыслимое, что перевернёт всю индустрию, но при этом всем будет понятно, что в расте это сделать невозможно.Понимаешь... Тут такое дело... Я немного дольше в ИТ сфере вращаюсь, чем не только время появления раста, но и многих других попсовых "решающих все проблемы" языков программирования. И такую телегу слышал уже неоднократно. Почитай как ту же джаву Sun продвигал и какие великие дела с помощью неё обещал делать, это должна была стать чуть ли не главная веха в истории ИТ, буквально революция. На ней писали буквально всё подряд. На неё буквально всё подряд переписывали. Даже драйвера для всяких устройств. Приложения и игры на телефонах. В процессоры нативные инструкции добавляли (см. Jazelle). И где всё это сейчас?
Отсюда и скептицизм - мы всё это уже видели. И "революционеров" с очередным "мы изобрели очередную и самую лучшую серебряную пулю", и вьюнош с горящими глазами, всецело в это уверовавших и стремящихся побыстрее всех вокруг обратить в эту новую "веру".
Посмотрим, где будет ваш раст годиков так через 15-20. А пока - это всё просто очередной хайп.
> Посмотрим, где будет ваш раст годиков так через 15-20.Там же где и Java. Он выгрызет себе нишу и прочно там обоснуется, чтобы на десятилетия потом занимать почётное место в top10 языков.
Конкретно эту нишу предсказывать сложно, потому что я жду появления чего-нибудь с более обширным применением формальной верификации, причём не только через систему типов, а через произвольные инварианты указываемые программистом для функций/типов, которые затем будут проверяться алгоритмически. Сложно представить, что это будет, и для каких задач оно будет подходить, но оно может реально подвинуть раст.
> попсовых "решающих все проблемы" языков программирования. И такую телегу слышал уже неоднократно.
> "революционеров" с очередным "мы изобрели очередную и самую лучшую серебряную пулю",Раст решает "не все проблемы", а конкретно проблему с памятью, будучи при этом нтзкоуровневым системным языком. Хз, где ты это уже слышал.
Вы все, воины против Раста, одинаковые: сами себе чушь придумали, сами ее и разоблачили. Весело, наверное?
> Почитай как ту же джаву Sun продвигал и какие великие дела с помощью неё обещал делать, это должна была стать чуть ли не главная веха в истории ИТ
И это дейстаительно была веха.
> И где всё это сейчас?
В Андроиде, например. А вообще, серьезный энтерпрайз, для которого Java в первую очередь юзали и юзают, в оперсорие никто не выкладывает, поэтому ты этого всего и не видишь, лол
Нет никакой проблемы работы с памятью. Посади таких растописателей в реальную среду и заставь писать код на нормальном языке - они ошибок будут делать похлеще "дидов". Нужно не языки новые писать, а новое поколение программистов обучать, прям с азов, как там все на железном уровне работает, обучать проектированию архитектур, логике и прочем. Не курсами кормить, а гнать в вузы на кафедру computer science.
> Нет никакой проблемы работы с памятью.
> Нужно не языки новые писать, а новое поколение программистов обучатьА, так это просто программистов не обучили, что нужно ресурсы освобождать?
C#
Я надеюсь это будет Borland Pascal.
Zig, здесь часто возгласы раздаются.
Для написания ядер ОС ещё компромиссом бы мог являться Hare де Волта. Такой осовремененный C с модулями. Он сам на нём микроядро наваял.
Переписывание на Rust займёт много лет, поэтому будет HardenedBSD жить своей жизнью, а FreeBSD - своей. При этом FreeBSD будет майнстрим и всё новое появляться в ней и потом портироваться на HardenedBSD.Не будет постепенного перехода, никто не будет поддерживать параллельно два инструментария сборки, это безумие. Вспомните сколько лет заняло избавление от gcc в базе, а это просто другой компилятор того же языка С.
Официально вот что известно о Rust в _FreeBSD_: https://wiki.freebsd.org/Rust - там только про порты (почему бы и нет), helloworld модули и статьи всякие.
Заголовок новости нужно s/FreeBSD/HardenedBSD/ чтобы не вводить никого в заблуждение.
В отчёте ясно сказано о намерении продвигать работу в upstream, так что заголовок верный.
То, что майкрософт на раст клюнул - тоже закономерно, сколько у них было технологий-однодневок - не пересчитать, начиная с VB6, Silverlight, MFC, OLE, COM, DirectShow, постоянные кидки-недоделки. То же самое и здесь будет - поиграются, бросят, и пойдут возбуждаться очередными хайповыми и баззвордными поделиями. Оно так по кругу и идёт давно, те кто по-старше могут сопоставить. Гуглята от майков в этом плане мало чем отличаются, современная раздутая айтишечка - непроходимое болото.
Разве^ COM куда-то делся? Посмотрите новость про (при)открытие WSL2, там на блок-схемах есть про COM-объекты.
Жду новостей о том что GNU/ Hurd и ReacOS переписывают на Rust.
они ещё уровень Python не прошли
В GNU/Hurd же сервисы, как отдельные исполняемые бинарники, со своим main. Поэтому, их можно писать на любом языке. Да хоть на интерпретируемом. Как это будет шустро, мы не говорим.
Как только запустят растофилов в простанство ядра, наступит кирдык ФриБиЭсДи.Хау, я все сказал.
Вождь "чёткий мозг".