The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

В GCC-фронтэнде с компилятором Rust реализован Borrow checker

21.03.2025 14:57

Для включения в состав ветки GCC 15 предложена серия патчей с улучшением поддержки языка Rust во фронтэнде gccrs. Наиболее заметным изменением стала поддержка проверки заимствования переменных (borrow checker), реализованная на основе компонента Polonius, разрабатываемого основной командой разработчиков Rust в качестве следующего поколения Borrow checker.

Предложенная реализация Borrow checker отличается тем, что написана на языке Rust и предоставляет расширенные возможности верификации кода, позволяющие в ряде случаев считать безопасным (safe) код, который до сих пор требовал пометки ключевым словом Unsafe из-за ограничений применяемой по умолчанию реализации Borrow checker.

Подготовленное для GCC решение имеет ограничения:

  • Для Polonius известны ситуации, в которых некоторый реально существующий в проектах код приводит к экспоненциальному росту сложности анализа.
  • В случае GCC для завершения фазы начальной раскрутки (bootstrapping) компилятора gccrs на данный момент требуется компилятор Rust (в будущем данное ограничение будет устранено).

Полная реализация самодостаточной сборки подразумевает 2-стадийную раскрутку, при которой сначала GCC соберёт gccrs без Borrow checker, а затем соберёт упомянутую реализацию Borrow checker, написанную на языке Rust, используя урезанный варианта компилятора и считая код условно-доверяемым (т.е. не выполняя проверку заимствования). После сборки Borrow checker-а будет выполнена ещё одна пересборка компилятора, но уже с выполнением проверок заимствования.

  1. Главная ссылка к новости (https://www.phoronix.com/news/...)
  2. OpenNews: Фронтэнд для языка Rust доведён до готовности к интеграции в GCC 13
  3. OpenNews: В GCC утверждено включение поддержки языка Rust
  4. OpenNews: Релиз языка программирования Rust 2024 (1.85)
  5. OpenNews: Для ядра Linux 6.15 предложен начальный код драйвера Nova, написанный на Rust
  6. OpenNews: В Ubuntu 25.10 решено заменить GNU Coreutils на uutils, написанные на Rust
Автор новости: Аноним
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62924-gcc
Ключевые слова: gcc, rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (228) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 15:11, 21/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Да чо уж там, давайте llvm сразу вкрячим. Чтобы и борроу чекер, и нормальный оптимизатор, и кросс-компиляция, и нормално реализованные санитайзеры, и адекватная плюсовая библиотека.
     
     
  • 2.6, Аноним (6), 15:31, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Дык, уже. Ребята из LLVM хайпанулись на AI и смогли запилить MLIR.

    А сейчас потихонечку завозят ClangIR — то самое пресловутое промежуточное представление языка C++ в виде штатного «диалекта» MLIR. Будет там и borrow checker, и серьёзная оптимизация, и новый уровень санитайзеров.

     
     
  • 3.11, Аноним (11), 15:36, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Пресловутые шланговские оптимизации. Не сегодня завтра научится оптимизировать. А пока что оптимизацию не завезли в ллвм, лапша из готу где надо и где не надо это всё на что её хватает. В итоге, у гцц производительность результирующего кода не зависит так сильно от входных данных.
     
     
  • 4.14, Аноним (14), 15:43, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Зато сатанайзеры.
     
     
  • 5.59, Аноним (59), 16:56, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А за сатанайзерами скоро приедут санитайзеры ;)
     
  • 4.96, мимо проходил (?), 19:47, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    100500%

    У CLANG/LLVM местами до неприличия плохо с peephole-оптимизацией (на вскидку в GCC на порядок больше эвристик) и уже лет 10 как большая боль с CMOV и её аналогами.

     
  • 4.250, Akri (ok), 13:26, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В большинстве задач clang показывает больший перф чем GCC
     
     
  • 5.251, Аноним (11), 13:53, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > В большинстве задач clang показывает больший перф чем GCC

    Большинство задач это swiftshader, который гугл осознанно завязал на шланговые костыли? Других случаев науке не известно. Раньше главным аргументом было, что компиляция более быстрая, но это давно не так.

     
  • 3.120, fuggy (ok), 23:15, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно после этого будет ли растохейтеры говорить что clang собирает проекты часами?
     
  • 2.8, Аноним (59), 15:33, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кросскомпиляция в GCC и так поддерживается. Естесственно, его для этой цели нужно собрать должным образом.
     
     
  • 3.67, Аноним (1), 17:52, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так о том и речь. llvm не нужно "собирать особым образом", там всё из коробки.
     
     
  • 4.109, Аноним (-), 20:33, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Так о том и речь. llvm не нужно "собирать особым образом", там
    > всё из коробки.

    Там вообще штатно никакой поддержки хруста и борова - нету. Что там - из коробки? И в clang этого - тоже нет. Это наработки совершенно отдельного проекта Rustlang.

     
  • 2.21, Соль земли (?), 15:56, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Дядя, ты ду...? LLVM не работает с Rust вообще никак. Он работает с LLVM IR. Учи матчасть, прежде чем пукать тут: HIR -> MIR -> LLVM IR -> Assembler.
     
     
  • 3.79, Аноним (1), 18:54, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Где в моём комментарии хоть слово про rust?
     
  • 3.117, Аноним (117), 22:11, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Рельность другая: HIR -> MIR -> LLVM C API -> LLVM IR -> (не отключаемые) оптимизации -> LLVM IR -> Assembler
     
     
  • 4.130, Аноним (-), 02:52, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Рельность другая: HIR -> MIR -> LLVM C API -> LLVM IR
    > -> (не отключаемые) оптимизации -> LLVM IR -> Assembler

    Хруст сам по себе - LLVM юзает как кодогенератор. Потому что свой делать лениво. И есть реализации хруста и без LLVM. Сабж просто наиболее серьезный из "конкурентов" или "альтернативных реализаций" с явной декларацией задач вида "пересборка ядра Linux".

     
     
  • 5.157, Аноним (-), 12:17, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У LLVM одна задача - вытеснить GCC. Для этого он и создавался.
     
     
  • 6.182, Аноним (-), 17:13, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я как-нибудь обойдусь без летающего макаронного монстра, где ВСЕ АРХИТЕКТУРЫ ЗАП... большой текст свёрнут, показать
     
  • 5.164, Аноним (117), 13:12, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какие ещё реализации руста без LLVM? cranelift? это побочный проект, там нет unwind и вряд ли он когда будет, как и серьёзные оптимизации. К тому же cranelift снаружи предоставляет LLVM C API.
     
     
  • 6.167, Аноним (117), 13:27, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > К тому же cranelift снаружи предоставляет LLVM C API.

    Соврал по памяти. Он просто пытается быть местами похожим.

     
  • 6.183, Аноним (-), 17:17, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Какие ещё реализации руста без LLVM? cranelift? это побочный проект, там нет
    > unwind и вряд ли он когда будет, как и серьёзные оптимизации.

    И тем не менее у проекта Rust нет какой-то самоецели фиксироваться на LLVM, как я понимаю. И боров next gen - совершенно отдельный компоннент. При том написанный на именно хрусте, что ортогонально LLVM'у от слова вообще. Как вообще писаный на Rust боров относится к LLVM? Миграция на него - goal Rust'а ;). А gccrs решил что обыграть хозяев поля прям на их же поле - вполне себе вариант, и поюзал его - раньше оригинала даже. А просто чтобы не писать весьма нетривиальную штуку - самим.

     
  • 2.102, Аноним (-), 20:02, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Да чо уж там, давайте llvm сразу вкрячим. Чтобы и борроу чекер,

    LLVM не имеет отношения к технологии borrow checker... а новое поколение чекера - это вообще отдельный компонент. Писаный на хрусте. Логично что кусок ЯП сам на себе написан :)

    > и нормальный оптимизатор,

    GCC вполне сравнимый.

    > и кросс-компиляция,

    LLVM поддерживает меньше архитектур чем GCC. И у них 1 убер-либа на все. Если туда затолкать все что GCC умеет - ты же лопнешь, деточка?!

    > и нормално реализованные санитайзеры,

    В GCC они тоже есть, внезапно.

    > и адекватная плюсовая библиотека.

    Что значит - адекватная? Почти все дистры линя юзают GCC и их либу, им норм вроде. А эти адекватные - с вами в одной комнате?

     

  • 1.2, Аноним (-), 15:22, 21/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ого, GCC тоже потихоньку ржавеет.
    Наверное не хотят чтобы ядро собиралось единственны clang'ом.

    Что же скажут на это растохейтеры?))

     
     
  • 2.5, Аноним (6), 15:29, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Дык, уже. Ребята из LLVM хайпанулись на AI и смогли запилить MLIR.

    А сейчас потихонечку завозят ClangIR — то самое пресловутое промежуточное представление языка C++ в виде штатного «диалекта» MLIR. Будет там и borrow checker, и серьёзная оптимизация, и новый уровень санитайзеров.

     
     
  • 3.103, Аноним (-), 20:04, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А сейчас потихонечку завозят ClangIR — то самое пресловутое промежуточное представление
    > языка C++ в виде штатного «диалекта» MLIR. Будет там и borrow
    > checker, и серьёзная оптимизация, и новый уровень санитайзеров.

    В контексте Rust это все уже абсолютно похрену. Потому что их borrow checker нового поколения, на который они и собираются в будущем перейти - это отдельный компонент на Rust. Реюзабельный, как видим - к gcc, вот, тоже его прикрутили. Что вызывает некоторые лулзые при бутстрапе, потому что надо собирать код на хрусте, еще полностью не умея хруст - но в общем то это решаемо и у них есть план как это делать. Вполне логичный и рабочий.

     
  • 2.10, Аноним (10), 15:36, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Что же скажут на это растохейтеры?))

    Всем умным людям понятно, что это такой хитрый расто-вендорлок, EEE и все такое. Вот!

     
     
  • 3.161, Аноним (161), 12:52, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вряд ли таких людей можно называть умными. Скорее, больными на всю голову паранойей.
     
  • 2.13, Аноним (13), 15:40, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Хватит уже софт раздувать. Нет больше веры современным программистам.

    Надо брать всё в свои руки, брать tcc, и самим всё пилить.

     
     
  • 3.29, Аноним (59), 16:06, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну зачем же убогий tcc, который, наверное, даже не C99 ? Почему бы не взять Hare Дрюни ДеВолта? Он на нём уж и микроядро запилил.
     
     
  • 4.56, Аноним (13), 16:54, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    TCC это в качестве референса. Вы просто его возьмёте и переделаете под свою задачу.
     
     
  • 5.124, fuggy (ok), 00:23, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так если в него добавите оптимизации, трансформации, поддержку разных платформ и тд. То он разрастётся до размера GCC и уже не будет таким волшебно быстрым.
     
  • 4.104, Аноним (-), 20:07, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну зачем же убогий tcc, который, наверное, даже не C99 ?

    Он C99 уже много лет. Но вот скомпилить им фирмвар, бутлоадер или ядро вы напряжетесь, потому что продвинутую кастомную линковку он как раз не умеет.

    И оптимизатор у него - по современным меркам никакой.

     
  • 3.32, Аноним (-), 16:09, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну так бери и пили!
    А то болтать языком горазды, а сделать - мало кто.
    Ты уже готов показать свой СПО проект на tcc?
     
     
  • 4.88, Аноним (13), 19:19, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ты уже готов показать свой СПО проект на tcc?

    Ну разумеется. Уже скоро.

    А вы меня не ждите. Занимайтесь делом.

     
  • 2.22, Аноним (59), 15:57, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если из сишного кода бинарный будет генерить один кодогенератор - из растового другой, а потом это скрестить между собой (слинковать), то можно получить ещё ранее не виданные уязвимости. Чекер боровов тут не помошник, ага. Я уж забодался приводить ссылку на соответствующее исследование, сейчас под рукой её нет. Поэтому, выходной машинный код, как минимум, для ядра должен генерироваться единым бекендом для C и Rust. Поэтому, хорошо, если gccrs будет успешно компилять растовую часть кода из ядра. Т.к. у gcc и gccrs будeт единое промежуточное представление GIMPLE и далее в машкод единым бекендом.
    Значит, не будет необходимости портировать исходный код нужных модулей из растового в сишный.
     
     
  • 3.28, wyry (ok), 16:05, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В глобальном масштабе едва ли этим будут заморачиваться, может минорно кто-то шишек и набьёт. То, что начали насильно интегрировать Rust создало как минимум прецедент и определённый раскол. Учитывая то, что Линус лицемерно в своё время развернул C++, а теперь принял Rust, и это при том, что GCC сам написан на C++, развязывает руки, т.к. авторитеты начинают противоречить сами себе.
     
     
  • 4.36, Аноним (59), 16:14, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну форкнется ядро на несколько - ну и хорошо, по моему мнению. Например, раскол FFmpeg (libav), в своё время, пошёл ему на пользу и снова объединились. Тоже OpenWRT и LEDE.
     
  • 4.37, Аноним (-), 16:15, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > в своё время развернул C++, а теперь принял Rust,
    > и это при том, что GCC сам написан на C++, развязывает руки,
    > т.к. авторитеты начинают противоречить сами себе.

    А где противоречие? GCC написан был до раста.
    Но возможно вы правы и его тоже нужно начать переписывать с с++ на раст :)

     
     
  • 5.50, Аноним (59), 16:32, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чтобы ухудшить читабельность кода?
     
     
  • 6.143, n00by (ok), 11:00, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Что бы сменить лицензию. Ну и да... зачем при этом старым людям читать новый код?
     
  • 4.38, Аноним (-), 16:18, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Отличный способ сбросить балласт неосиляторов и тех кто не хочет учить новое Ли... большой текст свёрнут, показать
     
     
  • 5.53, Аноним (59), 16:37, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >В коммитете раскол, разброд и шатание.

    Ничего, как по-сь, так и помирятся. На то он и комитет, чтоб был плюрализмь мнений.

    >Желающие могли форкнуть ядро и написать на С++ уже давно.
    >Но что-то их сейчас не видно.

    Такой индусский (действительно от индусов) проект был. Да, сейчас тот сайт исчез.

     
     
  • 6.99, Аноним (99), 19:52, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    плюролизм это конечно замечательно, но пока что там кто в лес кто по дрова, одни кричат что нужно срочно что то менять иначе Раст нас везде заменит, а другие на эти все пропозалы чихать хотели
     
  • 4.111, Аноним (111), 20:48, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Очень хорошо замечено. Причём он мог хотя бы принять упрощённое подмножество - си с классами - даже это было бы намного удобнее и благодаря RAII смогло бы решить 99% проблем, на которые указывают растовики, но Линус оказался непоследовательным и не сумел разглядеть потенциал C++.
     
     
  • 5.144, n00by (ok), 11:04, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Что бы Линус мог что-то принять, надобно ему что-то предложить. Так что не перекладывайте с больной головы на здоровую.
     
     
  • 6.189, Аноним (111), 18:39, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ему предлагали - он только фыркал, типа, фи-фи-фи этот ваш нище-бродский Си++, а вот раст моднее, молодёжнее, и главное - за него заносят!
    Есть такой шизофренический котраст, когда некоторые бывшие комсомольцы критикуют капитализм, а сами потом айфонами понтуются.
     
     
  • 7.195, n00by (ok), 19:29, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Что ему предлагали и когда? Вот сейчас я пишу поисковый запрос "linux kernel c++" и вижу в выдаче https://github.com/anthonyprintup/linux-kernel-cpp

    Supported features:

        exceptions (TODO)
        RTTI (TODO)
    ☑   dynamic initializers
    ☑   operator new/delete
        kernel headers in C++ code (TODO)


    3 года назад, 12 коммитов. Я даже файлы открывать не буду. Вызов конструкторов автор обеспечил, значит кое-что понимает. Остального нет, значит его нигде нет.

     
     
  • 8.203, Аноним (111), 21:17, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я понял что вы имеете в виду Было мало предложений в том числе и потому, что Ли... большой текст свёрнут, показать
     
     
  • 9.241, n00by (ok), 08:31, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Финт Линус виноват, что я не осилил предложить код со мной не прокатывает У м... текст свёрнут, показать
     
  • 4.127, fuggy (ok), 01:27, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    I find C++ quite ugly. - RMS.
     
     
  • 5.142, n00by (ok), 10:53, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > I find C++ quite ugly. - RMS.

    Ладно бы, такое заявил Александреску. А это кто вообще, что бы его слушать?

     
     
  • 6.174, Аноним (-), 15:26, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >А это кто вообще, что бы его слушать?

    Наш вождь.

     
     
  • 7.178, n00by (ok), 15:39, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вождь - ведёт. Значит слушаете, куда вам надо за ним идти. А на чём писать - это вообще не его дело.
     
  • 4.141, n00by (ok), 10:48, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Учитывая то, что Линус лицемерно в своё
    > время развернул C++

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

    Понимаем, что Линус занимался троллингом уровня детского сада -- выдал объявление "дуракам вход воспрещен".

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

    > развязывает руки
    > т.к. авторитеты начинают противоречить сами себе.

    Да кто их связывал-то? "Свободное ПО"... вы сами себя послушайте, вот где противоречие. Под ядро "проприетарной" Виндос написано столько кода на плюсах, что многим и не снилось.

     
     
  • 5.190, Аноним (111), 18:54, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Дело было немного по-другому. Линус побоялся что в ядро начнут тащить плюсовые брейнфаки с шаблонным метапрограммированием, там разгребать кодовую базу - чёрт ногу сломает. А сказать что мы типа сторонники упрощённого стиля - немолодёжно, и вообще почти "моветон" в среде модернистских плюсовиков. Это беда плюсов и по сей день - неумение упрощать, гордиться брейнфакоподобными наворотами, синтаксическими нагромождениями. По итогу, Линус полностью всё завернул. Мог бы точно так же сделать и с растом, там брейнфак похлеще, но корпорасты насыпали ему зелени и он внезапно согласился. Наверное, много насыпали.
     
     
  • 6.193, Аноним (111), 18:59, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это беда плюсов и по сей день - неумение упрощать, плюсовики гордятся брейнфакоподобными наворотами и синтаксическими нагромождениями. Это проклятие STL называется. Но никто ведь не заставляет пользоваться STL-ом, можно так преобразить плюсы, что кодить будет приятнее чем на питоне. Я именно так и сделал.
     
  • 6.197, n00by (ok), 19:39, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Дело было немного по-другому. Линус побоялся что в ядро начнут тащить плюсовые
    > брейнфаки с шаблонным метапрограммированием

    Ещё раз: Ключевое слово здесь -- время.

    In fact, in Linux we did try C++ once already, back in 1992.

    Ну какие шаблоны?


     
     
  • 7.200, Аноним (111), 20:04, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну тогда плюсы вообще были полу-экспериментальным поделием (типа транспилятора в си). Потому серьёзные проекты и не затевались. Плюсы стандартизировались где-то к 98 году, многие считают что лучше даже говорить о 2003 (с исправлениями). Линус десятилетиями отмахивается от плюсов (а раст принял сразу же под давлением корпораций). От плюсов он отказывается в том числе и из-за стремления плюсовиков всё переусложнять (им это кажется чем-то крутым, вы загляните в утекшую кодобазу яндекса - там только обнять и плакать).
     
     
  • 8.201, n00by (ok), 20:24, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как раз на то и намекаю, что плюсов в 1992 де-юре не было Я не улавливаю, почем... текст свёрнут, показать
     
     
  • 9.202, Аноним (111), 20:55, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Бабло конечно хорошо, но я надеюсь он осознаёт последствия А то, что на ура при... текст свёрнут, показать
     
  • 8.254, Аноним (-), 17:06, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Мне кажется, что более распространено мнение, что всё что до C 20 было эксперим... большой текст свёрнут, показать
     
     
  • 9.259, Аноним (111), 17:48, 23/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.25, Соль земли (?), 15:58, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Клуб нелюбителей Rust сам кого хочешь разведёт на бесполезную болтовню.
     
  • 2.82, Нуину (?), 19:01, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Новость: просто набор патчей на рассмотрение

    Коммантатор: GCC тоже потихоньку ржавеет.

    Походу мозги уже у кого-то заржавели. С таким же успехом  GCC запаскалился, замодулился и зафортранился.

     

     ....большая нить свёрнута, показать (41)

  • 1.9, Аноним (-), 15:33, 21/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В GCC-фронтэнде с компилятором Rust реализован Borrow checker

    Ничосе! Вот это удар в псину!

    > Предложенная реализация Borrow checker отличается тем,
    > что написана на языке Rust

    Чо, на сишечке не смогли?))
    А... же забыл! Самый сишный компилятор GCC уже давно пишется на плюсах)) А сишечку отправили на мороз даже тут.

    Надеюсь все растохейтеры что писали "я не буду пользоваться продуктом где есть хоть строчка на расте" выполнят свои угрозы и перестанут пользоваться GCC.

     
     
  • 2.17, Аноним (-), 15:45, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Апрельские тезисы Свободивца.

    1. Расту не место в kernel.org.
    2. Буду использовать Раст только после одобрения его Столлманом.
    3. Не против Раста. Но пусть не лезут в экосистему GNU/Linux.
    4. Пусть растаманы создают свою экосистему.
    5. Пока Раст не станет копилефтным - не взлетит.
    6. Взлетает только копилефт.

     
     
  • 3.30, Аноним (-), 16:07, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я бы не называл ГНУ свободной Не даром BSD, MIT, Apache называют РАЗРЕШИТЕЛЬНЫМ... большой текст свёрнут, показать
     
     
  • 4.204, Аноним (-), 21:29, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Особенно хорошо заметно на примере Ferrocene компилера, где как обычно свобода о... большой текст свёрнут, показать
     
     
  • 5.206, Аноним (111), 22:15, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > На персональном уровне - я искренне ненавижу проприетарные тулчейны.

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

     
     
  • 6.215, Аноним (-), 23:16, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это все несколько криво в применении к софту Но вот зависеть для наиболее крити... большой текст свёрнут, показать
     
     
  • 7.221, Аноним (111), 23:38, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Это все несколько криво в применении к софту. Но вот зависеть для
    > наиболее критичных вещей от заскоков проприетарщика - это примерно как голову
    > льву в пасть совать. Уповая что он сегодня хорошо покушал и
    > поленится ее закрыть. Но что если вдруг нет?!

    Возьми Unreal Engine - надо отстёгивать процент от продаж, подписки на инструменты от Adobe, облачные хранилища, итд. Вы платите подобие налогов стороннему собственнику средств производства либо издателю-монополисту типа площадок Google Play/Steam.

    А в 80х годах всё было совсем плохо. Просто мы уже сейчас привыкли к Linux и множественным свободным аналогам проприетарных софтин как к чему-то само собой разумеещемуся.

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

     
     
  • 8.225, Аноним (-), 00:14, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В смысле отстегивать Ты инструмент получил Ну так оплачивай его нынешнюю и дал... большой текст свёрнут, показать
     
     
  • 9.229, Аноним (111), 00:58, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем У рабочего сейчас есть доступ к альтернативному свободному средству произ... большой текст свёрнут, показать
     
     
  • 10.233, Аноним (-), 01:51, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если альтернатива есть, то чего такой переполох Пусть те кто готов платить поль... большой текст свёрнут, показать
     
     
  • 11.236, Аноним (111), 02:47, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не, ну я тоже хейтер ГНУ, но не настолько Вы явно передёргиваете здесь ГНУтый ... текст свёрнут, показать
     
  • 7.223, Аноним (-), 23:55, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Это все несколько криво в применении к софту.

    Скорее совсем не применимо, но видно хочется поныть про тяжкую жизнь.

    > Но вот зависеть для наиболее критичных вещей от заскоков проприетарщика - это примерно как голову льву в пасть совать. Уповая что он сегодня хорошо покушал и поленится ее закрыть. Но что если вдруг нет?!

    Какие альтернативы?
    Сообщество нищуков, которые сегодня есть, а завтра нету? Которые могут впасть в депрессию, бросить проект?
    Ни один большой и крутой проект не развивается без корпораций - их ресурсы, подходы, методики позволяют строить и развивать огромные кодовые базы.
    Бомж-какиры из подвала на такое просто не способны.


     
     
  • 8.228, Аноним (111), 00:43, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И без благословенных олигархов, конечно же типичная психология раба, наслажда... текст свёрнут, показать
     
     
  • 9.232, Аноним (-), 01:31, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А по делу есть что сказать Давай просто откроем крупные СПО проекты и посмотрим... большой текст свёрнут, показать
     
     
  • 10.237, Аноним (111), 03:26, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я говорю о том, что в принципе не обязательно нужны корпорации, чтоб писать слож... большой текст свёрнут, показать
     
     
  • 11.252, Аноним (-), 16:48, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то из моего опыта большие проекты даже с учётом современных инструментов бы... большой текст свёрнут, показать
     
  • 6.222, Аноним (-), 23:51, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Т е к тем кто создал и развивает этот самый тулчейн Ибо без развития программа ... большой текст свёрнут, показать
     
     
  • 7.227, Аноним (111), 00:32, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Имеется в виду в том числе предпринимательство - мелкая буржуазия Пролетарий п... большой текст свёрнут, показать
     
     
  • 8.231, Аноним (-), 01:26, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ок, я типичный прогаммер на галере, горбачусь на дядю из корпорации Заработанны... большой текст свёрнут, показать
     
     
  • 9.234, Аноним (111), 02:32, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Считай что СПО - это очень приблизительно аналог государственных субсидий для н... большой текст свёрнут, показать
     
     
  • 10.255, Аноним (-), 17:20, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Хм т е за мои налоги каким-то людям будут покупать софт Или государство будет... большой текст свёрнут, показать
     
  • 10.256, Аноним (-), 17:28, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Такой себе пример Почти как про ногомячиков Т е да, пару сотен зашибают миллио... большой текст свёрнут, показать
     
  • 3.47, Аноним (59), 16:29, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > 2. Буду использовать Раст только после одобрения его Столлманом.

    А хорошо бы было, если бы Столман таки публично высказался про Rust.
    В ядре понятно, руки выкручивают, заставляют использовать.
    А вот в юзерспейсе уже более свободен выбор языков. В юзерспейсе Rust использовать не буду. Есть другие - с ООП и наследованием: C++ и D. И они есть и уже полноценно работоспособны в составе GCC.

     
     
  • 4.101, Аноним (-), 19:58, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Думаю он мог бы высказаться про маленьких анимешных девочек которые пишут проект... большой текст свёрнут, показать
     
     
  • 5.112, Аноним (111), 21:00, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > C++ гугл выкидывает потихоньку из андроида - тк такое же дырявое как си.

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

     
     
  • 6.149, Аноним (-), 11:23, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Нет, на Си++ можно писать вообще не трогая память напрямую и освобождать объекты автоматически.

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

    > Наверное, как всегда, блоатваром с франкенштейнами.

    Ванга из вас так себе, мистер Аноним.

     
     
  • 7.196, Аноним (111), 19:36, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Можно. Но внезапно окажется что оно тормозит, потому что все проверки придется делать в рантайме.

    Тормозит аж на 1 такт процессора! А с оптимизацией - часто вообще ноль. Зато не надо с боровом сражаться. Пишешь понятный код с применением ООП, быстро компилируешь большие проекты, не тащишь за собой модно-молодёжные хвосты из тысяч зависимостей, не изобретаешь как это надо зарефакторить по-растомански чтоб хотя бы откомпилировалось, и ещё с десяток растограблей.

    Вы не на том акцент делаете. Лучше смотрите на узкие места (bottleneck) в программировании называется hotspot, на который затрачивается значительная доля процессорного времени.

     
  • 2.23, Аноним (10), 15:57, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Чо, на сишечке не смогли?))
    > А... же забыл! Самый сишный компилятор GCC уже давно пишется на плюсах))

    Ну, еще задолго до сишечки, части оптимизатора (и не только) там были на диалекте лиспа:
    https://github.com/gcc-mirror/gcc/blob/master/gcc/config/gcn/gcn.md
    https://github.com/gcc-mirror/gcc/blob/master/gcc/match.pd
    [CODE]#if GIMPLE
    /* Optimize (X + (X >> (prec - 1))) ^ (X >> (prec - 1)) into abs (X).  */
    (simplify
    (bit_xor:c (plus:c @0 (rshift@2 @0 INTEGER_CST@1)) @2)
    (if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0))
          && !TYPE_UNSIGNED (TREE_TYPE (@0))
          && wi::to_widest (@1) == element_precision (TREE_TYPE (@0)) - 1)
      (abs @0)))
    #endif[/CODE]


     
     
  • 3.26, Аноним (10), 15:59, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > еще задолго до сишечки

    s/сишечки/плюсиков/

     
  • 3.34, Аноним (-), 16:12, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не удивительно.
    Сам ГЦЦ начинался с "волосатого паскаля" (что бы это вообще не значило).

    Но использование более подходящих ЯП для конкретных задач - это скорее плюс чем минус.

     
  • 3.63, Аноним (63), 17:10, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Десятое правило Гринспена. (с)
     
  • 2.42, Аноним (59), 16:20, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >что писали "я не буду пользоваться продуктом где есть хоть строчка на расте"

    Ну не ври же, нигде я не видел, чтоб вот так дословно и писали, прям, одна строчка.
    А то одну-то строчку можно и в сишную конвертировать.

     
     
  • 3.163, Аноним (161), 13:08, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Есть в литературе такой приём, как гипербола. Вот это оно.

    Гипе́рбола (из др. -греч. ὑπερβολή «переход; чрезмерность, избыток; преувеличение») — стилистическая фигура явного и намеренного преувеличения с целью усиления выразительности и подчёркивания сказанной мысли, например: «я говорил это тысячу раз» или «нам еды на полгода хватит».

     
  • 2.91, Ан Оним (?), 19:26, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Чо, на сишечке не смогли?))

    В новости же сказано, что взяли готовый из компилятора Rust'а, сами ничего не писали.

    >выполнят свои угрозы и перестанут пользоваться GCC

    Код на Rust'е только во фроненде gcc rust'a, а больше его нигде там нет

     
     
  • 3.105, Аноним (99), 20:08, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Поправка в новости сказали что взяли Polonius, это переосмысление borrow checker lifetimes. Он позволяет "брать в долг" в большем количестве контекстов чем текущая система (по аналогии с пословицей "Neither a borrower nor a lender be" но в точности наоборот). только насколько я помню работа над внедрением Polonius затормозилась, но была возобновлена как инициатива в 2024 ревизии
    https://rust-lang.github.io/rust-project-goals/2025h1/Polonius.html
     
  • 2.181, анонимус (??), 16:45, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Чо, на сишечке не смогли?))

    А чего у вас там с ${name}-sys? На rust'шишке нишмагли-ниасилили? Сишечку-плюсики биндим? А как же безопасность?

     

     ....большая нить свёрнута, показать (35)

  • 1.12, Аноним (-), 15:38, 21/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Так у меня непонятки, прошу просветить. Согласно лицензии, компилятором языка Rust может считаться только официальный компилятор, разрабатывемый сообществом Rust. Тогда зачем GCC внедрило в свой проект новый фронтэнд языка Rust?

    GNU Compiler Collection - это копилефт, Rust - пермиссивка. Как сообщество разработчиков GCC будет продолевать эти баръеры?

     
     
  • 2.15, Аноним (-), 15:44, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Согласно лицензии, компилятором языка Rust может считаться только официальный компилятор, разрабатывемый сообществом Rust.

    Хм.. мне казалось что там простая МИТ/Апач.
    Что позволяет делать, например, Ferrocene как альтернативный компилятор.
    Можешь скинуть ссылку на доку?

    > Тогда зачем GCC внедрило в свой проект новый фронтэнд языка Rust?

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

    > GNU Compiler Collection - это копилефт, Rust - пермиссивка.
    > Как сообщество разработчиков GCC будет продолевать эти баръеры?

    Теоретически они могут перелицензировать под gpl.
    Возможно просто написать свой другой код сразу под своей лицензией.
    Еще вариант - забить на старые правила.

     
     
  • 3.18, Аноним (-), 15:49, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Хм.. мне казалось что там простая МИТ/Апач.

    Что позволяет делать, например, Ferrocene как альтернативный компилятор.

    Я про торговую марку. Ты можешь сам запилить свой компилятор языка Раст и даже соблюсти все требования к компилятору. А вот в названии компилятора ты не сможешь употребить слово "Rust". Ситация как с альтернативными сборками Лисы.

     
     
  • 4.27, НяшМяш (ok), 16:01, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Компилятор никто и не переименовывает. Как был GCC, так и остался. Просто добавится ещё одна запись в строчке Supported Languages и всё.
     
     
  • 5.39, Аноним (-), 16:18, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Фронтэнд как будет называться?
     
     
  • 6.60, Аноним (59), 17:02, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    gccrs

    PS Но лучше бы назвали grsc, по аналогии с другими фронтами: gcc, gdc

     
     
  • 7.175, Аноним (-), 15:29, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    grc - так логично и красиво.
     
  • 4.184, Аноним (-), 17:22, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>Хм.. мне казалось что там простая МИТ/Апач.
    > Что позволяет делать, например, Ferrocene как альтернативный компилятор.

    При том как я понимаю - проприетарный. Все прелесли апачово-миотвой экосистемы: всегда накормят какой-то проприетарной гадостью в самом критичном месте... :\

     
  • 3.19, Аноним (-), 15:53, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    P.S.

    С языком Си всё просто. Ты просто пишешь свой компилятор в строгом соответствии со стандартом С23, и он будет компилятором языка Си. Правда, текст Стандарта платный, да и копилефт не против торгово-денежных отношений.

     
     
  • 4.40, Совершенно другой аноним (?), 16:19, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Правда, текст Стандарта платный

    Правда Вы всегда можете скачать бесплатно последний черновик стандарта, который ничем не отличается от принятого в итоге стандарта.

     
     
  • 5.69, Аноним (69), 17:57, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Правда вы потом не сможете получить госконтракт, если в нём прописана поддержка стандарта, а вы только черновик читали. Нет, можно и соврать, но послушав рассказы человека, проведшего два года жизни в федеральной тюрьме Васека, не рекомендую. А где таких требований нет, там да, там и черновик сойдёт, и даже его можно не читать до конца.
     
     
  • 6.81, Витюшка (?), 18:57, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Поподробнее про историю как человек провёл "за драфт стандарта" несколько лет в тюрьме можно? Желательно с ссылками
     
     
  • 7.147, n00by (ok), 11:17, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Сочиняет же. Кому стандарт нужен для контракта, тот его покупает. Кому стандарт нужен для работы - тот за стандартом следит и имеет тот самый черновик, который переименовывают в стандарт через пару недель после принятия.
     
  • 4.46, Карлос Сношайтилис (ok), 16:29, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > в строгом соответствии со стандартом С23

    Или не в строгом, как и написаны все компиляторы С.

     
  • 4.52, Аноним (-), 16:34, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > С языком Си всё просто.

    Угу, заметно.

    > Ты просто пишешь свой компилятор в строгом соответствии со стандартом С23,

    А если сам стандарт написан "нестрого")?
    Ну типа
    "мы ваще в непонятках как два числа сложить, но разработчики компиляторов башковитые... так что будет UB
    ps кстати код с использование UB нарушает Conformance и ваш код превращается в какашку, но мы как комитет сделали все что могли. счастливого вам написания надежного кода, неудачники!"

    > и он будет компилятором языка Си.

    Возможно но это не точно.
    Ведь если он будет реализовывать только часть стандарта - то его тоже будут называть "комилятор С".
    ИЧСХ из открытых компиляторов ни один его полностью не реализует.
    Вывод? Стандарт С это просто ненужная фигня))

     
     
  • 5.165, Прохожий (??), 13:14, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Стандарт С это просто ненужная фигня

    Я бы не был столь категоричным. Всё-таки нужная, но да, фигня.

     
     
  • 6.218, Аноним (218), 23:23, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>Стандарт С это просто ненужная фигня
    > Я бы не был столь категоричным. Всё-таки нужная, но да, фигня.

    Лучше чем вечные "скачайте ночнушку" и безопасТные вещи типа curl | sh как некоторые любят (первый же хаксор дефейснувший сайт хруста соберет просто легион лулзов, после чего сможет заожно безопасТно пробэкдорить полпланеты).

     
  • 2.24, wyry (ok), 15:58, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Может и не придётся ничего обходить, т к Rust попросту умрёт Лет 15 назад вот ... большой текст свёрнут, показать
     
     
  • 3.31, Аноним (10), 16:08, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > в ином виде все это УЖЕ есть в C++, а учитывая что Rust не существует без LLVM, написанный на C++ (в отличие кстати от некоторых из перечисленных языков,

    Квинтэссенция опеннетного кекспертизма ...
    https://github.com/rust-lang/rustc_codegen_cranelift
    https://github.com/bytecodealliance/wasmtime/tree/main/cranelift

     
     
  • 4.72, Нуину (?), 18:36, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > This has the potential to improve compilation times in debug mode. If your project doesn't use any of the things listed under "Not yet supported", it should work fine. If not please open an issue.
     
  • 4.73, Нуину (?), 18:37, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Platform support
    > x86_64 AArch64 Riscv64 s390x (System-Z)
     
     
  • 5.77, Аноним (77), 18:53, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Platform support
    > x86_64     AArch64     Riscv64     s390x (System-Z)

    А что еще нужно в современном мире?
    ppc64el возможно... но все равно нишево.

     
     
  • 6.107, Аноним (99), 20:14, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    wasm32
     
  • 6.219, Аноним (218), 23:25, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Platform support
    >> x86_64     AArch64     Riscv64     s390x (System-Z)
    > А что еще нужно в современном мире?

    Например ARMv7M (Cortex M) для мк и полный v7 (armhf abi) - для одноплатников. Или мы ща в каждый управляющий датчик будем 64 бита пхать, для лулзов? Кто датчику гигазы оперативы то будет напаивать чтобы 64 бита смысл имели? Жаба суровый зверь.

     
  • 5.113, Аноним (10), 21:18, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Platform support
    >> x86_64 AArch64 Riscv64 s390x (System-Z)

    Сказать-то че хотел?
    "Фу-фу-фу, не осилили в полтора рыла за пару лет проделать работу десятков человек за пару десятилетий!"?  

    А если б осилили, то было бы "Опять растаманы зачем-то сделали уже проделанную работу еще раз, вместо того, чтобы написать что-то новое"?

    Так оно только опеннетным Военам Супротив Раста интересно - потому что опенсорсные бэкэнды (аж целых два "продакшенреди" на весь мир, ага) для трансляции низкоуровневых инструкций в конкретный машинный код - вот они, LLVM и GCC.
    Используются (и вылизываются) отнюдь не только растоманами или плюсанутыми.

    Кстати, то ли дело гугловский Го:
    > Linux (x86, x86-64, ARM, ARM64, MIPS, MIPS64)
    > macOS (x86-64)
    > Windows (x86, x86-64)
    >

     
     
  • 6.123, Нуину (?), 23:44, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Platform support
    >>> x86_64 AArch64 Riscv64 s390x (System-Z)
    > Сказать-то че хотел?
    > "Фу-фу-фу, не осилили в полтора рыла за пару лет проделать работу десятков
    > человек за пару десятилетий!"?

    Ну вот, ты сам все сказал. Неосиляторы и есть неосиляторы, причем тут время? Напомню, что ты показывал это как рабочий проект на замену llvm.

    > Кстати, то ли дело гугловский Го:
    >> Linux (x86, x86-64, ARM, ARM64, MIPS, MIPS64)
    >> macOS (x86-64)
    >> Windows (x86, x86-64)
    >>

    А причем тут он?

     
     
  • 7.126, Аноним (10), 00:31, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну вот, ты сам все сказал. Неосиляторы и есть неосиляторы, причем тут время?

    Эк опеннетный Мось^W Нуну гугла, современных сишников и еще кучу народа "опмустил". Знать он силен!  

    >> а учитывая что Rust не существует без LLVM
    > Напомню, что ты показывал это как рабочий проект на замену llvm.

    Экий ты фантазер,  ...

    >> Кстати, то ли дело гугловский Го:
    >>> Linux (x86, x86-64, ARM, ARM64, MIPS, MIPS64)
    >>> macOS (x86-64)
    >>> Windows (x86, x86-64)
    >>>
    > А причем тут он?

    Там тоже неосиляторы или "этодругое"?

     
  • 3.33, НяшМяш (ok), 16:11, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Все умрут Мода прошла, функциональщина осталась Как была мода на автомобили 10... большой текст свёрнут, показать
     
     
  • 4.48, wyry (ok), 16:30, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    C уже переживёт и вас и меня Ага ага Автомобили как были статусным аксессуар... большой текст свёрнут, показать
     
     
  • 5.87, Аноним (-), 19:09, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Угу, COBOL тоже пережил Но разве это жизнь Это где такое На постсовке Ну да,... большой текст свёрнут, показать
     
     
  • 6.115, Аноним (-), 21:32, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> C++ уже переживёт и вас и меня.
    > Угу, COBOL тоже пережил. Но разве это жизнь?

    Внезапно, его фронтэнт в GCC недавно добавили. Как говорится, а жизня то - налаживается!

     
  • 5.168, Прохожий (??), 13:31, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Ровно также Microsoft в своё время выкатили F#, многие пророчили ему большое будущее, были даже евангелисты F# (чем-то напоминают нынешних Rust-овичков). В итоге так и остался поделкой для студентов (и это действительно крутой инструмент для того чтобы обучающиеся потыкались в функциональщину)

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

     
  • 3.35, Аноним (-), 16:13, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Лет 15 назад вот внезапно всплыла мода на функциональщину (Haskell, LISP

    LISP? Мода на лисп была наааамного раньше.

    > в ином виде все это УЖЕ есть в C++,

    В том-то и дело что в ином)) С++ до сих пор тянут тяжелое наследие сишки.

    > а учитывая что Rust не существует без LLVM

    Компилятор cranelift написан на расте. У него нет такой глубокой оптимизации как у llvm, но для той же сишки существуют только два открытых оптимизирующих компилятора... и оба написаны на плюсах.

    > то Rust вообще сложно воспринимать всерьёз.

    Ну так не воспринимайте)) Как будто ваше мнение хоть на что-то влияет.

     
     
  • 4.45, Аноним (-), 16:28, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >В том-то и дело что в ином)) С++ до сих пор тянут тяжелое наследие сишки.

    Когда спрашивают почему Си плюс-плюс такой ужасный, беспринципные люди от балды говорят, что виновата сишка. Борзеете однако. Все проблемы "Си плюс-плюс" происходят от самой "Си плюс-плюс". Нечего тут приплетать сишку.

     
     
  • 5.49, Аноним (49), 16:31, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Борзеете однако.

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

     
     
  • 6.136, Аноним (-), 07:58, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Слушай, никто из сишников не уговаривал Страуструпа, чтобы он за основу своего О... большой текст свёрнут, показать
     
     
  • 7.146, Аноним (146), 11:12, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Когда вы вините в своих проблемах ни в чём не повинную сишку,

    Ни в чем неповинную?
    Омнище, которое даже два числа не может сложить без UB неповинное??
    Это как "не вините машину без тормозов, ее просто так сделали!"

    > люди старшего поколения

    Уже в маразме))

    > а вот молодые люди могут вам просто напросто поверить.

    Молодые уже посмотрели на это убожество из 70х и все поняли сами. Им не нужно ничего говорить.

    > Все проблемы языка "Си плюс-плюс". Это проблемы самих "Си плюс-плюсников". Вы сами себе злобные буратино.

    Это первородный грех)) Убожество сишки унаследовалось с++.


     
  • 5.75, Аноним (75), 18:42, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Все проблемы "Си плюс-плюс" происходят от самой "Си плюс-плюс". Нечего тут приплетать сишку.

    В смысле?

    Начнём с того, что UB - сишное изобретение. Закончим.
    Проблемы препроцессора (__вот __это __в __библиотеках) и модульности оттуда же.
    Наяривание на Стандарт, словно надо сначала определиться, кто будет крайним в случае новой Фукусимы, а уже потом писать Hello World - оттуда же.

     
     
  • 6.98, ОШИБКА Отсутствуют данные в поле Name (?), 19:50, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Начнём с того, что UB в unsafe это растовое изобретение. Закончим.
     
     
  • 7.108, Аноним (75), 20:18, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно нет, вот оно в C# в 2001 году: https://ecma-international.org/wp-content/uploads/ECMA-334_1st_edition_decembe

    Но какое это имеет отношение к C89, который ввёл понятие UB, которое перекочевало в C++ вместе с практикой творить дичь в компиляторе, прикрываясь оптимизациями и разрешением на дичь в стандарте? На Rust это опосредованно через LLVM влияет.

     
  • 6.137, Аноним (-), 08:10, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Начнём с того, что UB - сишное изобретение. Закончим.

    Винить чистую сишку в том, что в языке "Си плюс-плюс" есть UB? Слушайте, вы в конец оборзели, а?

    А спорить о том, что когда и где появился сам термин UB не будем, ага?!

     
     
  • 7.139, Аноним (75), 09:55, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Винить чистую сишку

    Грязную (вплоть до boringcc) винить нельзя.

    > в том, что в языке "Си плюс-плюс" есть UB?

    А откуда он взялся? Самозародился?

    > А спорить о том, что когда и где появился сам термин UB не будем, ага?!

    где --> C89 <-- когда

     
  • 7.154, Аноним (-), 11:48, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Винить чистую сишку в том, что в языке "Си плюс-плюс" есть UB?

    Никто ее не винит. Это как винить копейку, что она ведро с гайками, по меркам современных авто.

    ЯП совершенно не виноват, что он просто овно.
    Это надо винить его создателей (в случае дыряшки - коммитетчиков).

    > Слушайте, вы в конец оборзели, а?

    Нет, тебе показалось)

     
     
  • 8.162, Аноним (-), 13:05, 22/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.150, n00by (ok), 11:28, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ажиотаж с Rust больше похож на внедрение dotNet.
     
     
  • 4.158, Аноним (-), 12:31, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А что когда внедряли в вантузе .NET был точно такой же ор?
     
     
  • 5.159, n00by (ok), 12:36, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да, почти 1 в 1. Аргументы такие же: "безопасно" и "зато плюсы быстрее". Даже ОС написали на нём - Microsoft Singularity. Рекламу функциональщины я наблюдал рядом (на RSDN), но она происходила тихонечко сбоку от этой шумихи.

    Что любопытно: дотнетчики воевали как бы с плюсовиками, но досталось Дельфи.

     
  • 3.166, Прохожий (??), 13:24, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Rust - абсолютно та же история.

    Нет, конечно. Потому что абстракции в названных вами функциональных языках на были бесплатными. В Rust они бесплатны.


    >на деле же он в отличие от функциональных языков с их уникальными фишками вообще не добавляет ничего инновационного, в ином виде все это УЖЕ есть в C++

    Ну здрасьте. Borrow checker, поддержка Unicode на уровне стандартной библиотеки, отсутствие UB, развитая стандартная же инфраструктура, редакции, афинные типы. Все это уже есть в Плюсах? Не поделитесь номером стандарта?

    Ну и да, Rust содержит некоторые плюшки из функциональных языков.

     
  • 2.55, Аноним (59), 16:48, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Согласно лицензии, компилятором языка Rust может считаться только официальный компилятор, разрабатывемый сообществом Rust.

    А зачем его называть именно "Rust"? Да хоть горшком его назови, лишь бы растокод успешно компилял. Вот пусть и называется gccrs.

    >GNU Compiler Collection - это копилефт, Rust - пермиссивка. Как сообщество разработчиков GCC будет продолевать эти баръеры?

    Какие барьеры? Бери и перелицензируй под что угодно. Лицензия позволяет. Проприерасты же наверняка и в свои проприетарные продухты код оригинального Раста засунут.

     
  • 2.58, Аноним (58), 16:56, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Лицензия - про название. Нельзя называть "rust compiler" что-то кроме официального компилятора. А если название, скажем, gccrs - можно.
     
  • 2.68, Аноним (1), 17:54, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Согласно лицензии, компилятором языка Rust может считаться только официальный компилятор, разрабатывемый сообществом Rust

    Лицензии на что?

    > GNU Compiler Collection - это копилефт, Rust - пермиссивка. Как сообщество разработчиков GCC будет продолевать эти баръеры?

    Нет там никаких барьеров, нечего преодолевать.

     

     ....большая нить свёрнута, показать (50)

  • 1.41, Аноним (-), 16:20, 21/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А насчёт пакетного менеджера rust. Cargo кажись называется - тоже будет? А пакеты на других языках на нем можно будет добавлять с библиотеками?
     
     
  • 2.86, Аноним (-), 19:07, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Молодец. Расписал всё по делу.
     
     
  • 3.140, Аноним (-), 09:55, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну а чего? Без Арин-нет у тебя ничего не скомпилируется. Идея интересная.
     

  • 1.44, Нуину (?), 16:24, 21/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Коротко про раст 1 Популистский и надоедливый маняпиар изо всех щелей, который ... большой текст свёрнут, показать
     
     
  • 2.65, Аноним (-), 17:39, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ого как у тебя бомбануло Столько всего понаписывал 1 Пруфы про большинство в... большой текст свёрнут, показать
     
     
  • 3.89, Нуину (?), 19:20, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Коротко про раст
    > Ого как у тебя бомбануло. Столько всего понаписывал))

    Звучит интересно, особенно в свете попытках ответить по каждому пункту:)

     
     
  • 4.97, Аноним (-), 19:48, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>> Коротко про раст
    >> Ого как у тебя бомбануло. Столько всего понаписывал))
    > Звучит интересно, особенно в свете попытках ответить по каждому пункту:)

    Ага, можешь сравнить кол-во текста))
    У меня получилось гораздо компактнее.
    Правда анон ниже, был еще менее многословен, зато по делу.


     
     
  • 5.121, Нуину (?), 23:40, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>>> Коротко про раст
    >>> Ого как у тебя бомбануло. Столько всего понаписывал))
    >> Звучит интересно, особенно в свете попытках ответить по каждому пункту:)
    > Ага, можешь сравнить кол-во текста))
    > У меня получилось гораздо компактнее.

    Размерами меряешься? У кого компактнее у того лучше? Не удивлен. Вот недавно мне на глаза попался аккаунт бывшего контрибьютора rustc https://github.com/jyn514


     
  • 5.122, Нуину (?), 23:41, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>>> Коротко про раст
    >>> Ого как у тебя бомбануло. Столько всего понаписывал))
    >> Звучит интересно, особенно в свете попытках ответить по каждому пункту:)
    > Ага, можешь сравнить кол-во текста))

    Я тебе открою один секрет. Готов? Я не писал этот текст))


     
     
  • 6.152, Аноним (-), 11:43, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Я тебе открою один секрет. Готов? Я не писал этот текст))

    О, ты тоже открыл для себя, чудесный мир LLM?
    ... и троллинга?


     
  • 2.114, анонимус (??), 21:27, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    не хватает, как минимум, ещё одного пункта 9 полноценная поддержка различных C... большой текст свёрнут, показать
     
     
  • 3.207, анонимус (??), 22:30, 22/03/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 4.210, Аноним (-), 22:59, 22/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.211, Аноним (-), 23:01, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ничего и не существует И это реально так Еще есть немного ARM64 и где-то внизу... большой текст свёрнут, показать
     
     
  • 4.235, анонимус (??), 02:41, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ничего и не существует. И это реально так.

    Охотно верю! Всё, что здесь (https://github.com/rust-lang/rust/tree/master/compiler/rustc_target/src/spec/t) - мертвый код, но зачем?

    > Но пруфов ты конечно не приведешь)))

    Нет, не приведу. Пруфов полно, но смысла приводить для фанатиков - нет, не смогут.

    > ЗЫ: мне нравится как ты горишь)) Прям ощущаю страдания)

    Надеюсь, не очень глубоко в себе ощущаешь?

     

  • 1.54, Аноним (54), 16:41, 21/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Зачем ГыЦыЦ пилит компилятор раста? Уже есть эталонный, он всегда будет более фичастым. Помнится ГыЦыЦ в свое время пилил компилятор явы -- предсказуемо не взлетел. Также уверен, что ГыЦыЦ как всегда обмажется вирусной лицензией, что лишь еще сильнее изолирует его от опенсорсного сообщества.
     
     
  • 2.57, Аноним (49), 16:54, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Зачем ГыЦыЦ пилит компилятор раста?

    Чтобы ядро собирать именно gcc!
    Зачем это разумеется не понятно - ядро прекрасно собирается свободным шлангом и испрульзутеся в миллиардах андроид устройств. Но для фанатиков ш6о6одки это ну вот очень-очень важно.

    В итоге будет эталонный компилятор, а будет вечноотстающее гнутое поделие.

     
     
  • 3.71, Аноним (59), 18:36, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Главное, чтобы его для сборки ядра хватало для начала.
     
     
  • 4.116, Аноним (116), 21:43, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Главное, чтобы его для сборки ядра хватало для начала.

    Походу это 1 из мотиваторов и есть.

     
  • 3.78, 12yoexpert (ok), 18:54, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    а где скачать свободный шланг? тот самый шланг, который все знают, - проприетарный
     
     
  • 4.92, Аноним (-), 19:29, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > а где скачать свободный шланг?

    Вот тут github.com/llvm/llvm-project
    Самый что ни на есть свободный шланг. Качаешь и делаешь с ним что хочешь.

     
     
  • 5.125, 12yoexpert (ok), 00:30, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    но по ссылке проприетарный шланг. открой лицензию и глаза. и уж чего с ним точно нельзя делать, так это "чего хочешь"
     
     
  • 6.145, Аноним (146), 11:07, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > но по ссылке проприетарный шланг. открой лицензию и глаза. и уж чего
    > с ним точно нельзя делать, так это "чего хочешь"

    Открыл лицензию - Apache License Version 2.0.
    Можно открывать, можно закрывать, можно продавать, можно делать что хочу.
    Назови что-то что я не могу с ним сделать)))

     
     
  • 7.176, Аноним (-), 15:35, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Назови что-то что я не могу с ним сделать)))

    Ты его не сможешь сделать копилефтным. А это минус. Твоя пермиссивщина легко завтра станет проприетарщиной. Не веришь? Посмотри истоирю Qt.

     
     
  • 8.192, Аноним (-), 18:57, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то могу, он совместим с гнурак_v3 Но то что оно не совместимо с гнурак_v... текст свёрнут, показать
     
  • 2.85, Аноним (-), 19:06, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    GCC перестал разрабатывать фронтэнд языка Java тогда, когда официальная виртуальная машина Java вышла с копилефт лицензией.
     
  • 2.93, Ан Оним (?), 19:41, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Затем, зачем и делает gcc go. То есть есть оригинальные компиляторы go и rust, но их собиряют только для некоторых платформ. Тогда как gcc можно собрать для гораздо большего числа платформ, вот в них и будут работать gcc go и gcc rust
     
  • 2.95, Аноним (95), 19:43, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >он всегда будет более фичастым

    Ответ очевиден - не нужен фичастый, а нужен другой.

     
  • 2.128, fuggy (ok), 02:24, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Зато GnuCobol и Gnu Ada взлетел. Gnu D, GNU Guile, Gnu Fortran и Gnu Lisp не отстаёт. Если оставить С/С++ и языки корпораций Java/Go/C#.
     
     
  • 3.173, MinimumProfit (?), 15:23, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    GCC Modula-2 живёт https://freepages.modula2.org/
     

  • 1.64, Аноним (64), 17:30, 21/03/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +1 +/
     
  • 1.129, Аноним (129), 02:37, 22/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Может хоть этот не будет гигантские бинарники выдавать, а то сделал простой тест компорта а он 540кб - как его ещё соптимизировать ?

    [dependencies]
    chrono = "0.4"
    serialport = "4.7"
    clap = { version = "4.5", features = ["derive"] }
    rand = "0.9"

    [profile.release]
    strip = true
    panic = "abort"
    codegen-units = 1
    lto = true
    opt-level = "s"

    для сравнения +- то же самое на С  - 9.6 кб

     
     
  • 2.131, Аноним (-), 02:57, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Может хоть этот не будет гигантские бинарники выдавать, а то сделал простой
    > тест компорта а он 540кб - как его ещё соптимизировать ?

    Убрать нахрен dependencies и написать работу с компортом самому? :)

     
     
  • 3.132, Аноним (129), 03:23, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Мне для понимания - может я что-то упускаю, мне не критичны эти 500кб
     
  • 2.134, Аноним (-), 06:25, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > как его ещё соптимизировать ?

    https://github.com/johnthagen/min-sized-rust
    > This repository demonstrates how to minimize the size of a Rust binary.

    RUSTFLAGS="-Zlocation-detail=none -Zfmt-debug=none" cargo +nightly build --release -Zbuild-std=std,panic_abort -Zbuild-std-features=optimize_for_size,panic_immediate_abort

    Если нет возможности использовать nightly, тогда надо выбросить +nightly и добавить в начало RUSTC_BOOTSTRAP=1
    Хеловорд с твоим [profile.release] уменьшается с 317760 до 18528 байт (для nightly с 306208 до 13000).

    > для сравнения +- то же самое на С  - 9.6 кб

    Чтобы сравнивать с Си, надо включать #![no_std], по другому не спортивно.

     
     
  • 3.169, Аноним (129), 13:50, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > добавить в начало RUSTC_BOOTSTRAP=1

    Хеловорд с твоим [profile.release] уменьшается с 317760 до 18528 байт

    этот костыль просто игнориуется

    warning: unused manifest key: profile.release.RUSTC_BOOTSTRAP

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

     
     
  • 4.226, Аноним (-), 00:31, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > этот костыль просто игнориуется

    Нет, потому что это переменная среды, и её надо добавить в начало команды, а ты её зачем то засунул в Cargo.toml
    "Этот костыль" нужен для того, чтобы стабильная версия rustc могла собрать следующую стабильную версию rustc, но при этом использовать не-стабилизированные функции.

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

    Здесь под "стабильностью" подразумевается не надёжность работы, а гарантии обратной совместимости.

     
     
  • 5.244, Аноним (129), 12:15, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Короче говоря это для разработчиков компилятора - мне такое не надо
     
  • 3.170, Аноним (129), 13:55, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Чтобы сравнивать с Си, надо включать #![no_std], по другому не спортивно.

    да чего там сравнивать - распарсить три параметра, заполнить буфер рандомом, записать в порт и прочитать из него же через внешний loop  - раст код на 2 порядка больше. Как хелловорд 18кб получается - тоже с no_std? Такое сравнение как раз и неспортивно.

     
     
  • 4.172, Аноним (10), 15:16, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Как хелловорд 18кб получается - тоже с no_std?

    [CODE]
    cat hello.rs &&  rustc -O -C prefer-dynamic hello.rs  && strip hello  && ./hello && ll ./hello                                                                                          
    fn main() {
      println!("{} Hello World!", 1<3);
    }
    true Hello World!
    -rwxr-x---  1 анон  анон   6,1K 22 марта 13:15 ./hello*
    [/CODE]
    И правда, как?

     
     
  • 5.194, Аноним (129), 19:27, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Твой код ничего не делает, повтори такое с простым кодом который что-то делает u... большой текст свёрнут, показать
     
     
  • 6.224, Аноним (-), 00:06, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Твой код ничего не делает, повтори такое с простым кодом который что-то делает

    Запусти "cargo tree" и осознай, что приведённый код совсем не простой.
    Как тебе уже написали, clap - это комбайн на все случаи жизни, и скомпилировать в 50кб не получится никак.
    С командой из коммента выше получается 284856 байт (nightly - 276808) и это очень хороший результат, беря во внимание всё то, что _статически_ собрано внутри.

     
  • 6.239, Аноним (239), 03:51, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Хренасе простой! Тут эквивалентного сишного кода килобайтов на 100, одни таймауты запаришься делать - придется нырнуть в чан системного программирования для POSIX и воспользоваться сигналами, таймерами и еще черти чем.
     
     
  • 7.243, Аноним (129), 12:00, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это элементаный код потому что кроме парсера командной строки это всё обёртки над ioctl ядра и сишный эквивалент компилируется в 10 кб. Мне не понятно - почему раст линкуя статически и имея всю информацию не может оптимизировать свои говнообёртки - они либо криво написаны или LTO у него не работает
     
     
  • 8.257, Аноним (-), 17:34, 23/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.238, Аноним (-), 03:41, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Как хелловорд 18кб получается - тоже с no_std?

    Нет, обычный, собранный стабильной версией rustc.




    $ cat Cargo.toml
    [package]
    name = "test1"
    version = "0.1.0"
    edition = "2024"

    [profile.release]
    strip = true
    panic = "abort"
    codegen-units = 1
    lto = true
    opt-level = "s"

    $ cat src/main.rs
    fn main() {
        println!("Hello, world!");
    }

    $ RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Zlocation-detail=none -Zfmt-debug=none" cargo build --release -Zbuild-std=std,panic_abort -Zbuild-std-features=optimize_for_size,panic_immediate_abort
    ...

    $ ./target/release/test1
    Hello, world!

    $ du -b target/release/test1
    18528   target/release/test1

    $ rustc -V
    rustc 1.85.1 (4eb161250 2025-03-15)



     
  • 3.185, Аноним (185), 17:26, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> как его ещё соптимизировать ?
    > https://github.com/johnthagen/min-sized-rust
    >> This repository demonstrates how to minimize the size of a Rust binary.
    > RUSTFLAGS="-Zlocation-detail=none -Zfmt-debug=none" cargo +nightly build --release
    > -Zbuild-std=std,panic_abort -Zbuild-std-features=optimize_for_size,panic_immediate_abort

    Вопрос: а почему столь простая хотелка - столь криво делается?

    > Если нет возможности использовать nightly,

    Еще и "скачайте ночнушку" фирменное? Для работы, блин, с компортом доисторическим?! ORLY?!

    >> для сравнения +- то же самое на С  - 9.6 кб
    > Чтобы сравнивать с Си, надо включать #![no_std], по другому не спортивно.

    Это почему? На си stdlib юзается же.

     
     
  • 4.198, n00by (ok), 19:48, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>> для сравнения +- то же самое на С  - 9.6 кб
    >> Чтобы сравнивать с Си, надо включать #![no_std], по другому не спортивно.
    > Это почему? На си stdlib юзается же.

    Наверное, потому что stdlib не входит в те 9.6 Кб?

     
     
  • 5.205, Аноним (-), 21:37, 22/03/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 6.217, Аноним (-), 23:22, 22/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 6.240, n00by (ok), 08:28, 23/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.138, Аноним (-), 08:44, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > clap = { version = "4.5", features = ["derive"] }

    Выкини clap и работай с аргументами командной строки вручную. clap -- это комбайн, который умеет всё, что может понадобиться для работы с аргументами командной строки, и ещё немного того, что никогда никому не понадобится.

    > для сравнения +- то же самое на С  - 9.6 кб

    9.6 кб ты можешь получить только отказавшись от std, потому что обработка utf8 строк содержит огромные таблицы, которые я думаю сами по себе больше 9.6Кб.

     
     
  • 3.153, Аноним (129), 11:43, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > 9.6 кб ты можешь получить только отказавшись от std

    я подумал что LTO должен выкидывать всё ненужное - жаль что в расте кривой Dead Code Elimination

     
     
  • 4.160, Аноним (-), 12:38, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Как тебе LTO выкинет таблицы для декодирования utf8, если ты этим пользуешься? Типы str и String используешь? Вот значит терпи таблицы.
     
     
  • 5.186, Аноним (-), 17:29, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Как тебе LTO выкинет таблицы для декодирования utf8, если ты этим пользуешься?

    Где он ими пользуется для работы с компортом?

    > Типы str и String используешь? Вот значит терпи таблицы.

    Охрененная логика, просто топчик, не важно делал ли что с юникодом - но таблиц впихнем...

     
     
  • 6.246, Аноним (-), 12:35, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Где он ими пользуется для работы с компортом?

    Там в депендансах clap, то есть ты работал с аргументами командной строки, так? Но аргумент командной строки может быть произвольной последовательностью ненулевых байт с нулевым байтом в конце. unix не даёт никаких гарантий того, что это будет валидный utf8. Поэтому std эти строки валидирует, и для этого ей нужен код декодирования utf8 и те самые таблицы.

    > Охрененная логика, просто топчик

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

     
  • 2.148, Аноним (-), 11:19, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > для сравнения +- то же самое на С  - 9.6 кб

    Насколько плюс-минус?
    С поддержкой нормального парсинга командной строки?
    С поддержкой utf?
    Со статически линкованными всеми либами?
    С нормальными сообщениями об ошибках?

    В очередной раз убогость пытаются выдать за минимализм. Перепиши тоже самое без std, с abort вместо нормального panic_handler, без вывода ошибок и будет примерно тоже самое.
    Но зачем так жить?

     
     
  • 3.155, Аноним (129), 11:50, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Со статически линкованными всеми либами?

    ты даже свои инструменты не знаешь

    file test
    test: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=66742db34e88f8d3c016ed1c285c43ba16732d5d, for GNU/Linux 3.2.0, stripped

    он как и С код не линкует libc так что у них равные условия

     
     
  • 4.171, Аноним (10), 15:13, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/

    > ты даже свои инструменты не знаешь
    > file test
    > test: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked,
    > for GNU/Linux 3.2.0, stripped

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

    > он как и С код не линкует libc так что у них равные условия

    Ну вот тебе с "равными":
    [CODE]
    % cat hello.rs &&  rustc -O -C prefer-dynamic hello.rs && strip hello  &&  ll ./hello  [1]
    fn main() {
      println!("{} Hello World!", 1<3);
    }
    -rwxr-x---  1 анон  анон   6,1K 22 марта 13:12 ./hello*
    [/CODE]

     
     
  • 5.199, Аноним (129), 19:57, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > сделай ldd и удивись, почему в списке нет std-либы раста.

    libc у них общая зависимость - я надеялся LTO должен выкидывать ненужное от std раста, ну нет так нет, а хелловорд на С можно в 100 байт наверно уложить, дело не в этом.

     
  • 3.156, Аноним (129), 11:57, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > с abort вместо нормального panic_handler, без вывода ошибок и будет примерно тоже самое

    разве у меня подругому собрано?

    [profile.release]
    panic = "abort"

     
  • 2.151, Аноним (151), 11:36, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >для сравнения +- то же самое на С  - 9.6 кб

    Как минимум добавь сюда Runtime библиотеку килобайт в 200...

     
     
  • 3.187, Аноним (-), 17:31, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>для сравнения +- то же самое на С  - 9.6 кб
    > Как минимум добавь сюда Runtime библиотеку килобайт в 200...

    Stdlibc в операционке всяко есть... как .so - без этого система вообще работать не будет :)

     
  • 2.179, Аноним (-), 15:40, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Может хоть этот не будет гигантские бинарники выдавать, а то сделал простой тест компорта а он 540кб - как его ещё соптимизировать ?

    Не использовать Раст.  Ответ очевиден же?

     
     
  • 3.248, Аноним (129), 12:57, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для меня очевидно раст это лучшее что есть сейчас и я его с радостью буду использовать, не  плюсы же зубрить и все его дебильные UB
     
  • 2.191, Аноним (191), 18:55, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > для сравнения +- то же самое на С  - 9.6 кб

    Чё правда, все подключённые к раст проекту зависимости есть и в сишном проекте тоже? И бектрейсы твоя сишная прога умеет выдавать?

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

    Это не баг, это фича.

    Это как вывести привет мир на си и на жаве и сказать что они одно и то же делают. Нет, не одно и то же.

     
     
  • 3.209, Аноним (-), 22:56, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Чё правда, все подключённые к раст проекту зависимости есть и в сишном
    > проекте тоже? И бектрейсы твоя сишная прога умеет выдавать?

    А зачем бектрейсы и прочий отладочный крап чисто по приколу в релизе?

    > Это не баг, это фича.

    Блоатварь теперь фича? :)

    > Это как вывести привет мир на си и на жаве и сказать
    > что они одно и то же делают. Нет, не одно и то же.

    Ну конечно, приветмир это же не приветмир а приветмир. Логика, понимать надо!

     
     
  • 4.216, Аноним (216), 23:19, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Затем, чтобы не было программа совершила недопустимую операцию по адресу 0x ... большой текст свёрнут, показать
     
  • 2.220, Аноним (216), 23:28, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Может хоть этот не будет гигантские бинарники выдавать, а то сделал простой тест компорта а он 540кб
    >для сравнения +- то же самое на С  - 9.6 кб

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

     
     
  • 3.242, Аноним (242), 09:37, 23/03/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 4.253, Аноним (-), 16:50, 23/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.247, Аноним (247), 12:42, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Здесь килобайты в чем-то побольше гигабайты.
    Когда блокнот вместо 1 мб ест 4 Гб это нездОрово никогда, ни в 2025 ни в 2100.
    Когда изначально язык сальный и всё на нём написанное жиреет в несколько раз - жто неправильно и никакая дополнительная доп.безопасность этот минус не перекроет.
     
     
  • 4.249, Аноним (129), 13:01, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я не хотел салить хотя понимал что всё к этому сведётся, ничего лучше раст сейчас нет - просто начните его  использовать.
     

     ....большая нить свёрнута, показать (41)

  • 1.133, Аноним (133), 05:14, 22/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Нико молодец. Не только придумал и воплотил основную фичу раста, так ещё и продолжает упрощать овнершипы и лайфтаймы, сохраняя безопасность. Вот что умные люди делают, без оглядки на всяких дидов и комитеты.
     
     
  • 2.188, Аноним (-), 17:33, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Нико молодец. Не только придумал и воплотил основную фичу раста, так ещё
    > и продолжает упрощать овнершипы и лайфтаймы, сохраняя безопасность. Вот что умные
    > люди делают, без оглядки на всяких дидов и комитеты.

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

     
     
  • 3.245, Аноним (-), 12:26, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не понял а попроще можно? И это аналогии приплетай правильно.
     
  • 3.258, Аноним (258), 17:41, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Эта проблема относится к исследовательскому прототипу Полониус над которым рабо... большой текст свёрнут, показать
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру