URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 136585
[ Назад ]

Исходное сообщение
"Прогресс в разработке транслятора из Rust в код на Cи и .NET IR"

Отправлено opennews , 12-Апр-25 13:19 
Разработчики бэкенда к компилятору rustc, позволяющему транслировать код с языка Rust в представление на языке Си, объявили об успешном прохождении 95.9% тестов. Два месяца назад уровень прохождение тестов оценивался в 92%. Отмечается, что остаются непройденными 64 тестов, все из которых связаны с решением типовых проблем, в устранении которых не возникнут сложности. Код бэкенда распространяется под лицензией Apache 2.0...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=63060


Содержание

Сообщения в этом обсуждении
"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено penetrator , 12-Апр-25 13:19 
что такое .NET IR?

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 13:22 
Байткод, в который компилируется C#, F#, и даже Visual Basic .NET

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 13:26 
Intermediate Representation?

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено penetrator , 12-Апр-25 18:06 
скорее всего, в терминологии и документации дотнета нет таких обозначений

а репы с растом есть A Rust compiler backend targeting CIL(.NET IR) and C.


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 17:55 
А где вы это нашли? Может я не внимательно смотрю, но в статье такого нет

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено penetrator , 12-Апр-25 18:07 
заголовок

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 20:21 
Эпик фейл, спасибо

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено ИмяХ , 14-Апр-25 11:48 
Когда Ирина спрашивает что-то и мой ответ отрицательный: "Нет, Ир"

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Alladin , 12-Апр-25 13:23 
зачем из rust в си/.net, если нужно из си/.net в rust

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 13:29 
Чтобы модули ядра преобразовывать в канонический сишный вид.

PS Наверное же, где надо, автоматически будут добавлены проверки границ массивов в выходной сишный код.


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 13:45 
> Чтобы модули ядра преобразовывать в канонический сишный вид.

А смысл? Исходный код все равно будет не на си и для внесения изменений нужно будет в него лезть. Плюс на баги в коде могут наложиться баги в трансляторе.

> PS Наверное же, где надо, автоматически будут добавлены проверки
> границ массивов в выходной сишный код.

Так же не только проверки границ. Вообще интересно с каким оверхедом они будут эмулировать нативные типы вроде енамов.


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 14:02 
В ядре "код для ознакомления"?
Можно сразу из Rust в бинарник, а публике для ознакомления вариант на Си?
Править в виде Си нельзя - нарушится безопасность.
Совпадают бинарники: Rust->bin VS Rust->C->bin?  

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено freehck , 12-Апр-25 15:19 
> Совпадают бинарники: Rust->bin VS Rust->C->bin?

Конечно же не совпадают. С чего вы вообще взяли, что этот вопрос имеет смысл?


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 19:21 
Для тех, кто задают вопрос о смыслах и запрещают отвечать на поставленный вопрос Анонимам:
Смысл в том что можно создать бинарник из Rust-исходника. В проект на Си выложить транслированный в Си код (и еще вопрос как в этом случае выполняется безопасность Rust) и сохранить гордую надпись "Код первоначально написан на безопасном языке Rust". На вопрос идентичности отвечать: "Конечно же нет"

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено an2 , 12-Апр-25 19:59 
> можно создать бинарник из Rust-исходника

Можно только LLVM IR создать. А бинарник будет уже LLVM создавать. Т.е. компилятор раста в любом случае только на какие-то промежуточные представления способен.


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 14:39 
Смысл в сборке ядра чисто с помощью GCC, пока gccrs всё ещё не готов. А кто захочет внести изменения, внесёт в полученный сишный код.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 15:40 
Это что за цель такая собирать только gcc? Для кого это вообще важно, кроме 1.5 упоротых гентушника?

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 18:02 
Ну давайте устроим перепись "населения" что-ли, кому это важно. Думаю, найдётся немало и негентушников, кому важно. Есть даже пользователи пакетных дистров, которые собирают ядро сами кастомно. А вот дистров, собранных полностью исключительно вашим любимым Шлангом, я знаю только два, всего лищь: Magea и ещё (забыл название).

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 13-Апр-25 01:30 
> Смысл в сборке ядра чисто с помощью GCC, пока gccrs всё ещё не готов.

на раст ещё нет модулей и ядро собирается чисто gcc, вас кто-то обманул


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 13-Апр-25 17:12 
Пока - да. Но всякое может произойти, модулями на Rust могут появиться. Да ужеж пилят замену Nouveau на нём.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 14:41 
В C11 есть enum.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 15:46 
> В C11 есть enum.

Только это убогий инт. И все.
А в расте enum это почти все что угодно + есть associated values.


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 13-Апр-25 01:55 
> А в расте enum это почти все что угодно + есть associated values.

enum в расте это то же что в C просто "всё что угодно" надо дописывать вручную. У раста больше готовых абстракций но расплата за это - читающему надо парсер в голове долго тренировать.


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 14-Апр-25 23:06 
> Только это убогий инт. И все.

В C23 таки - более прилично сделали. Хотя и полумеры.

> А в расте enum это почти все что угодно + есть associated values.

Как бы добавочная сложность - тоже такое себе.


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Илья , 12-Апр-25 13:33 
>  зачем из rust в си/.net

Майки в ядро решили модули на дотнете вносить


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 13:38 
Так добавить в ядро интерпретатор байткода дотНета и нет проблем (ну кроме производительности, разве что). Можно сразу модули на любых языках из него писать. Да хоть на F#.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 17:39 
Не вижу принципиальной проблемы с этим. В ядро FreeBSD интерпретатор lua добавили, и ничего, даже небо на землю не упало.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено _ , 12-Апр-25 18:05 
Ссылку? Или как обычно? :)

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 14-Апр-25 15:41 
Не нужно удивляться, оно там вместо eBPF. Может чуть медленнее, но доступнее и безопаснее.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 18:06 
Вроде, в NetBSD. И мнго кода для ядра на Lua пишут?

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 17:58 
> Идея проекта в предоставлении возможности создания классов .NET на основе кода, написанного на Rust, а также использования существующих Rust-библиотек в проектах на базе платформы .NET. В классах для платформы .NET, написанных на языке Rust, можно обращаться к API и библиотекам .NET

В статье не так много слов. Можно было бы почитать и понять суть написанного


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 20:24 
Продолжу, раз ответ никто не дал кратко - .net перепишут на rust. Только это длинно и заумно написано. Все весьма прозаично - язык считается безопасным, значит позиционировать его будут также, потеснят жабу.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Grand , 12-Апр-25 22:48 
Чтобы потом собрать на национальном и патриотическом процессоре Эль-брус на котором не то что Rust,фортрановского компиллятора толком нет.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Я , 13-Апр-25 03:04 
не всегда. часто надо чтобы перспективные программисты на расте могли интегрироваться в существующие экосистемы на си\дотнете для возможности постепенного перехода.
да и в целом интегрировать старый код к новой экосистеме идея странная, когда вы пишете новую экосистему вам правильнее и новый код для неё писать а не портировать старые либы к которым в целом можно просто прилинковаться, что в целом этот проект тоже позволяет, хоть основная цель его иная

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено 12yoexpert , 13-Апр-25 10:41 
потому что нужно из раст в си, а из си в раст не нужно

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено ptr , 15-Апр-25 20:48 
Первое может быть востребовано для архитектур, для которых нет кодогенератора LLVM или он неоптимален. Даже интересно стало попробовать написать что-то на Rust для PFS123 или PFS154, скомпилировав потом SDCC.
Второе позволяет использовать библиотеки .NET, что может быть весьма востребовано в инфраструктуре MS (SQL Server, Windows, SharePoint и т.п.).

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Tron is Whistling , 17-Апр-25 20:57 
Чтобы детки могли играться в свои поделки, не ломая взрослого строительства.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 13:43 
Ахах теперь у больших корпов встала проблема как переписать эту неподдерживаемую Раст лапшу обратно на нормальный язык.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 13:47 
> у больших корпов

Ну конечно у больших корпов :)

"Young programmer from Poland, interested in writing compilers, and procedural generation."
github.com/FractalFir


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 14:10 
Если справляется один, то зачем больше?
Кроме того за этим именем, может стоять коллектив (в том числе и теневой).

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 15:14 
> Кроме того за этим именем, может стоять коллектив (в том числе и теневой).

Ого! Так у нас еще и теория заговора!

Давай тогда поднимем уровень абсурда: сам код пишется на расте (Rust 99.6% в репе rustc_codegen_clr). Это явно не просто так! Наверняка это потому что обычный сишник™ не в состоянии осилить раст...  Значит туда напихают бэкдоры! О как!


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 16:09 
Никаких теорий, это частая практика.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 22:09 
Я обычный сишник и не в состоянии осилить Раст. Ну точнее прямо сейчас не вхожу в данное состояние. Моя Стейт машина делает перерыв. Было дело как-то осилил

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено НяшМяш , 12-Апр-25 14:46 
Зато у кекспертов-онанимов проблема, чего бы ещё такого глупого придумать про раст, никуда и не исчезала.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 14:51 
Дайте Вискаса этому коту, а то у него лишь бы чего мявкнуть.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено an2 , 12-Апр-25 20:19 
Новость порадовала: это, наверное, самый полезный проект на расте.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 14:09 
>все из которых связаны с решением типовых проблем, в устранении которых не возникнут сложности

Вот и сообщали бы тогда, когда решены 100% проблем. Ведь никаких сложностей с этим не возникнет!


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Анименим , 12-Апр-25 15:25 
имееш что то против уведомления о прогрессе разработки? предпочитаешь, чтобы везде как с андроидом было: толпа индуса пыхтит за кулисами полгода, а потом просто очередную версию выкатывают с нескучными обоями?

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 17:10 
Подписанным на репозиторий уведомления и так приходят. А правило 20-80 как раз говорит, что оставшаяся часть будет самая трудная. Не потому что какое-то там правило 20-80, а потому что искусственный отбор: самые лёгкие в решении проблемы им устраняются. А самые тяжёлые - сидишь и пыхтишь. Одно лечишь - другое калечишь. Репу чешешь. Эти "легкорешаемые проблемы" на десятилетия растянуться могут.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Медведь , 12-Апр-25 15:28 
Выглядит как толстый намек на перспективы раста...

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено YetAnotherOnanym , 12-Апр-25 15:51 
Бред какой-то... Уходили от Си - и снова пришли к Си.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 16:44 
О да! Корпы якобы впендюрили Раст в ядро, чтобы потом его выкинуть! Якобы раст - туфта. Молодец, парень! Знатно ему ibm проплатила! А сишники как писали use-after-free, так и пишут же, и будут писать! И гордятся тем, что не Раст.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 17:06 
А растовики пути нормально обрабатывать не умеют. И софт писать не умеют. Так что единственный способ получать результат это вернуться в родную гавань. На си.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Прохожий , 16-Апр-25 07:47 
>А растовики пути нормально обрабатывать не умеют.

От логических ошибок Rust не защищает.

>И софт писать не умеют.

Слона-то я и не заметил (c). Умеют, конечно. И пишут.


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 18:25 
Rust, передовой язык.
Компилятор на C.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Ivan_83 , 12-Апр-25 18:30 
Скоре фриковый для фриков, которые в жизни боятся всего.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено 12yoexpert , 13-Апр-25 10:43 
всего, чего им сказали бояться. например, UB

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Прохожий , 16-Апр-25 07:43 
Странное определение для людей, которые не  любят биться головой об стену и всегда получать ожидаемый результат в виде разбитого лба.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 16:33 
Осталось всего-ничего всю шляпу вроде rsvg, firefox, nouveau транслировать обратно в Си. Либо целиком сразу, либо созданием отдельных репозиториев.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 16:45 
Какой молодец! Начинай транслировать это всё обратно всё в Си!

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 17:07 
Я уже закончил. Сказать то чего хотел?

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 18:24 
А WinRar купил?

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 13-Апр-25 17:16 
Зачем в условиях параллельного импорта?

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 13-Апр-25 18:24 
Чтобы Вове с Никиткой дань заплатить. Вернее дань заплатит получатель прибыли, с дани, уплаченной тобой ему.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 14-Апр-25 13:06 
Никите и так с каждой проданной, даже крошечной, флешки достаётся.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 14-Апр-25 10:33 
> Зачем в условиях параллельного импорта?

А Volkov Commander, купил лицензионный ключ?


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Tron is Whistling , 17-Апр-25 21:01 
Блин, спасибо за напоминание. Мне как раз вот прямо нужна лицензия на винрар. Хорошо, что есть рабочая международная карта.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Tron is Whistling , 17-Апр-25 21:14 
Вот прямо с пруфом нах
https://gcdnb.pbrd.co/images/mXQb1Olud51p.png

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 17:30 
опять все попутали, DARPA ведь говорила об обратном :)

https://www.darpa.mil/research/programs/translating-all-c-to...


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Ivan_83 , 12-Апр-25 18:20 
DARPA это про исследования, там далеко не всё потом живое-юзабельное получается.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 21:50 
аааа, ну тогда ясно почему не в брейнфак они транслируют.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 19:27 
с адой у них тоже ничо не вышло

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 20:35 
Не стоит их недооценивать - с вебом и развалом СССР все у них вышло. Я предполагаю что и Раст пропихнут - все пока выглядит к лучшему и что все от этого выиграют, только история показывает реальные результаты. Они то точно от этого выиграют. Все что от неудачи они получат - выводы и опыт. А кто вообще ничего не делает вообще ничего не получит

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 13-Апр-25 01:48 
А с развалом твоего брака это тоже они?

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Прохожий , 16-Апр-25 07:51 
СССР не из-за DARPA развалился, всё же. А потому, что сам по себе строй оказался нежизнеспособным.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено nuclight , 22-Апр-25 02:10 
Ага, настолько нежизнеспособным, что ведущие экономисты Запада прогнозировали крах лет за двадцать, и пришлось вывернуть трюки типа отказа от золотовалютной системы, чтоб хоть как-то смочь завалить.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено nuclight , 22-Апр-25 02:11 
Веб в Швейцарии в CERN делали, в DARPA только TCP/IP (и то не сами, а ученые в университетах).

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 21:46 
а шо язык должен разрешать людские логические проблемы? Думаете раст разрешает? Это компилятор (программа) раста разрешает, а не сам язык.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 13-Апр-25 01:50 
Может и нафек его тогда рас он ниче не решает

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Прохожий , 16-Апр-25 07:54 
70% типичных для дыряшки багов решает, что уже довольно много.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 13-Апр-25 12:21 
> Это компилятор (программа) раста разрешает, а не сам язык.

Понятно, очередной лохотрон


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Прохожий , 16-Апр-25 08:22 
Вышло. До сих пор жив этот ЯП и до сих пор применяется при разработке ПО. Хотя и не так распространён, как мог бы.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 18:23 
Теперь будут переписывать ядро с Ryst, на C.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 13-Апр-25 17:19 
>Ryst

О, это новый диалект Раста?
Тогда я бы назвал его несколько иначе ;)


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 14-Апр-25 23:03 
> Теперь будут переписывать ядро с Ryst, на C.

Транспилировать. А что, так то норм идея. Такой себе static analyzer продвинутый.


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Прохожий , 16-Апр-25 07:58 
Так себе идея, потому что код же потом модифицировать приходится. Как показывает многолетний опыт, люди в кодировании на Си не умеют без типичных багов.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 22:26 
> I am a young(19 year old) student from Poland, obsessed with compilers and procedural generation - code is my artform. For the past 1.5 years, I have been working on compiling Rust for some obscure targets.

А молодец, нормально похакал для 19 лет. Щас ещё сишку для себя откроет после этих компаний попрет


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Grand , 12-Апр-25 22:49 
А вообще правильно. Нормальный язык должен иметь несколько реализаций компиллятора ...

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 12-Апр-25 23:01 
особенно если на этом языке пишут крипту всякую.

https://blog.cr.yp.to/20240803-clang.html


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 13-Апр-25 00:59 
Ничего вы не понимаете! Это предохранительный клапан от черезмерного давления в котле переписывании всего и вся на Rust. Если слишком много будут требовать переписать на Rust, то часть выйдет обратно в виде C. Ну еще и погудеть можно.

То что индустрия уже в какой-то мере прошла точку не возврата в тренде на Rust уже понятно. В топку паровоза подбрасывают уже все кому не лень, а желающих встать (или лечь) перед ними особо нет.
Новость тут наверное не столько про Rust, а про C. Вот он никуда никогда не денется, если даже прямо на нём не будет новых проектов (тоже кажется не вероятно), то как минимум это будет как некий кросплатформенный высокоуровневый asm. Хотя и это тоже не новость, таких разработок полно. И вот даже для "языка-конкурента".

Не смотрел на "человечность" формируемого кода, но особую пикантность имел бы режим с хинтами для более адресного генерирования более человечного кода на C. Это позволило бы подходить с новой стороны к переписыванию плюс возможно делало бы более понятными плюшки из Rust.

Возвращаясь в шутку, скоро Rust программисты будут выдавать больше C кода чем С программисты).


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 13-Апр-25 02:41 
А что с рантаймом? Тоже скомпилируют в C?

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Я , 13-Апр-25 03:09 
у раста же нет по сути рантайма ты чо. но опционально есть минимальный рантайм и его можно использовать. ну и да вкомпиливать рантайм умеет даже питон.. это вроде не проблема...

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 13-Апр-25 11:00 
> у раста же нет по сути рантайма ты чо.

Ага, настолько нет, что хэллоуворлд весит больше 4 мегабайт. Даже у Го меньше — всего 2.


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Прохожий , 16-Апр-25 08:03 
У Rust есть некоторые проблемы с размером бинарников, но это не связано с рантаймом.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено ptr , 16-Апр-25 08:52 
> У Rust есть некоторые проблемы с размером бинарников, но это не связано с рантаймом.

У Rust по умолчанию статическая линковка в один бинарник. Но из этого вовсе не следует, что у него нет runtime. Стоит указать rustflags = ["-Cprefer-dynamic"], как сразу же в явном виде потребуется libstd-*.so в качестве runtime.


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено ptr , 16-Апр-25 09:18 
Если рантайм лежит в LDPATH, то 16 килобайт.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 16-Апр-25 21:28 
> Ага, настолько нет, что хэллоуворлд весит больше 4 мегабайт. Даже у Го меньше — всего 2.

О Воен Супротив Раста, обнови уже методичку, что ли:


% cat hello.rs
fn main() {
  println!("Hello World!");
}
% rustc -C "target-feature=+crt-static" -C opt-level=z hello.rs -C "link-args=-static -z notext -s" -C relocation-model=pic -C lto=true && ./hello && wc -c hello
Hello World!
1059552 hello

% ldd hello
ldd: hello: not a dynamic ELF executable


Где еще 3МБ?

А вообще, если делать закат солнца вручную (т.е. использовать сисколы, забить на человекочитаемый вывод ошибок и т.д.) - то получим аж 496 байт (из них - много ноликов для выравнивания секций)
https://www.opennet.dev/openforum/vsluhforumID3/136585.html#123

И - внезапно, оказывается что весь "жирный рантайм" - опциональная добавка, показывающая пользователю (и погроммисту) "что именно пошло не так" в ряде случаев.


% RUST_BACKTRACE=full ./hello >/dev/full                                                  
thread 'main' panicked at library/std/src/io/stdio.rs:1088:9:
failed printing to stdout: No space left on device (os error 28)
stack backtrace:
   0:          0x1068143 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hbac28f0e96fe66c3
   1:          0x107732c - core::fmt::write::hc19be714ff86ad2e

вместо "segmentation fault" или просто игнора ошибки ...



"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 13-Апр-25 03:57 
Просто продолжайте минусовать и дизлайкать все новости, где есть упоминание Rust.
Так мы быстрее от него избавимся.
А ещё надо просто перестать делать про него новости, и не создавать рекламу.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Илья , 13-Апр-25 06:52 
> Так мы быстрее от него избавимся

Я вот после твоего сообщения, наоборот, буду популяризировать раст, потому что язык объективно гораздо лучше чем ассемблер с встроенным ооп


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено анонд , 13-Апр-25 17:06 
ниша для Rust определенно есть - это вирусы и трояны ибо итоговый машинный код так запутан что анализу поддается с трудом

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Прохожий , 16-Апр-25 08:05 
Итоговый машинный код практически такой же, как и после компилирования программы на Си.

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Прохожий , 16-Апр-25 08:08 
>Так мы быстрее от него избавимся.

Кто эти "мы"? Лентяи или люди со слабыми когнитивными способностями? Мнение таковых обычно мало кого интересует.


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 13-Апр-25 15:46 
Для тех кто не понял зачем сабж - таким образом можно легко увеличь количество платформ, поддерживающих руст

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 13-Апр-25 17:18 
> Для тех кто не понял зачем сабж - таким образом можно легко увеличь количество платформ, поддерживающих руст

раст вообще никакие платформы не поддерживает, вам ллвм мало?


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 13-Апр-25 17:21 
>вам ллвм мало?

Нам его ненужно.


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Прохожий , 16-Апр-25 08:13 
>раст вообще никакие платформы не поддерживает

Зачем вы глупости говорите?

https://doc.rust-lang.org/nightly/rustc/platform-support.html

Да, сейчас такая поддержка осуществляется благодаря LLVM. Но вы ведь в курсе, что gcc свой компилятор разрабатывают?


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 14-Апр-25 23:01 
> трансляцию с Rust в промежуточное представление CIL для платформы .NET

Но - зачем? Получить тормоза нета с брейнфаковым синтаксисом хруста - это 10 из 10.


"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено Аноним , 15-Апр-25 17:39 
Только я хотел начать писать, а они уже запилили.. Молодцы!

"Прогресс в разработке транслятора из Rust в код на Cи и .NET..."
Отправлено nuclight , 22-Апр-25 02:13 
Да они же сами себе могилу копают! Подход-то кто угодно подсмотреть может. Скоро эдак появится нормальный язык, компилируемый в Си, и Раст станет не нужен.