Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

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



"Представлен crustc - компилятор rustc, переведённый на язык Си"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Представлен crustc - компилятор rustc, переведённый на язык Си"  +/
Сообщение от opennews (??), 03-Июл-26, 10:36 
Опубликован crustc, компилятор для языка Rust, созданный путём трансляции кода штатного компилятора rustc 1.98.0-nightly на язык Си. На выходе получилось 46 млн строк кода на Си, которые можно собрать при помощи GCC и утилиты make. Собранный таким способом компилятор успешно проходит тесты компиляции Rust-кода, такого как стандартные rust-библиотеки...

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Аноним (1), 03-Июл-26, 10:36   +16 +/
Вот это поворот!))
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #21

3. Сообщение от Аноним (3), 03-Июл-26, 10:38   +3 +/
Ну все, скажите парням из OpenBSD что проблему доверия к компилятору rust теперь можно решитт; дело за малым, осталось только провести ревью 46 миллионов строк Си кода;)
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4

4. Сообщение от Аноним (4), 03-Июл-26, 10:43   +/
Это изначально не было проблемой, поскольку изначально rust был написан на ocaml.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #5

5. Сообщение от Аноним (3), 03-Июл-26, 10:48   +/
Да какая разница на чем он был изначально написан! Проблема доверия от этого никуда не исчезает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #8

6. Сообщение от Аноним (6), 03-Июл-26, 10:54   +5 +/
Еще бы Firefox вот так в Си оттрансливароть, чтоб вообще без раста собирался и без всяких llvm.
Ответить | Правка | Наверх | Cообщить модератору

7. Сообщение от Аноним (14), 03-Июл-26, 11:00   +/
Т.е. теперь можно будет собрать раст не собирая раст?
Ответить | Правка | Наверх | Cообщить модератору

8. Сообщение от Аноним (4), 03-Июл-26, 11:00   –1 +/
Какая проблема доверия? Берите исходный код и читайте, или у вас лапки?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #12, #14, #15

10. Сообщение от Андрей (??), 03-Июл-26, 11:06   +/
"46 млн строк кода на Си"...
И нафига?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #18

12. Сообщение от Аноним (3), 03-Июл-26, 11:10   +2 +/
Удачи вам в ревью 46 миллионов кода на Си;)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #42

14. Сообщение от Аноним (14), 03-Июл-26, 11:11   +2 +/
Доверие к разрабам, которые сопровождают раст или ты предлагаешь мониторить их каждый комит?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #43

15. Сообщение от Аноним (3), 03-Июл-26, 11:12   +/
Похоже вы не совсем понимаете в чем суть Trusting Trust
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #34

18. Сообщение от Аноним (3), 03-Июл-26, 11:23   +/
Важен сам факт разрыва цепочки через Си-код и условный GCC, что позволит решить проблему Trusting Trust "математеческим бутсраппигом". Однако для "человеческого бутстраппинга", невозможность ревью означает, что проблема доверия остается нерешенной! Это одна из причин по которой, например OpenBSD не будут этим пользоваться. А вот для других проектов, этого будет вполне достаточно!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #26, #41

20. Сообщение от aname (ok), 03-Июл-26, 11:28   +1 +/
> позволяющего транслировать проекты с языке Rust на язык Си

Это должно было появиться, рано или поздно

Ответить | Правка | Наверх | Cообщить модератору

21. Сообщение от Халявщик не корпорастemail (?), 03-Июл-26, 11:30   –1 +/
- Вот это поворот!))

Фигня. Но вот когда абизяна начнёт англицкий на си переводить, вот тогда решат проблемы с бананами по всей земле. Главное - системник с клавой и монитором поставить в огороде...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #23

22. Сообщение от Аноним (22), 03-Июл-26, 11:38   +1 +/
Интересно было бы сравнить время компиляции компилятора на rust и на с.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #74

23. Сообщение от Аноним (23), 03-Июл-26, 11:46   +4 +/
London is the capital of... Segmentation fault?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

24. Сообщение от Аноним (24), 03-Июл-26, 11:56   –1 +/
Ну теперь есть второй компилятор. Уже хорошо. Снижает риск бэкдоров в компиляторе.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #35

25. Сообщение от xsignal (ok), 03-Июл-26, 12:01   +/
Никогда ещё Штирлиц не был так близок к провалу!))
Ответить | Правка | Наверх | Cообщить модератору

26. Сообщение от Аноним (26), 03-Июл-26, 12:01   –1 +/
> Это одна из причин по которой, например OpenBSD не будут этим пользоваться. А вот для других проектов, этого будет вполне достаточно!

Эээ? а опенБздяшники они какие-то особенные?
Такоей же сишный овнокод с CVE/RCE.

Учитывая что оно нигде не нужно, то можно судить о её качестве.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

29. Сообщение от Аноним (29), 03-Июл-26, 12:06   +4 +/
Ясно, теперь rustc не нужен. Очередное доказательство, что Си из-за своего простого синтаксиса и остальных удобств переживет всех и вся.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #45

30. Сообщение от Аноним (-), 03-Июл-26, 12:11   +1 +/
Уж простите зануду но TrustingTrust для раста давно решен с помощью mrustc, по крайней мере для x86_64.

Эти бы усилия да на решению той же проблемы для  FreePascal. Который ничем кроме себя и античного делфи не собрать.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #36

31. Сообщение от Аноним (34), 03-Июл-26, 12:11    Скрыто ботом-модератором–1 +/
Ответить | Правка | Наверх | Cообщить модератору

34. Сообщение от Аноним (34), 03-Июл-26, 12:19   +/
Trusting Trust - Доверяющий Доверяю.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

35. Сообщение от Аноним (35), 03-Июл-26, 12:20   +/
Нужен не компилятор, а стандарт. Тогда проблема доверия переместится с языка на реализацию. И ту уже все будет просто -- вы либо доверяете конторе, выпустившей реализацию компилятора или не доверяете.
Если не будет стандарта, то доверие к языку появится через лет десять. после того, как он заморозится. В смысле, сорвременный компилятор будет генерировать бит в бит такой же код для эталонной программы, как и десятилетний.
Лично для меня сигналом доверия будет тот факт, что rust-компилятор выпустит IBM.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #46, #47

36. Сообщение от Аноним (35), 03-Июл-26, 12:24   –1 +/
Компилятор для языка L, претендующего на системный, должен собираться компилятором для языка L без привлечения каких-либо утилит и библиотек третьей стороны.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #60

37. Сообщение от Аноним (37), 03-Июл-26, 12:25   +/
rustc -> crustc -> c..c -> cc
Ответить | Правка | Наверх | Cообщить модератору

38. Сообщение от Alladin (?), 03-Июл-26, 12:29   –1 +/
раст в си конечно возможно, а вы попробвйте наоборот
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #49

39. Сообщение от xsignal (ok), 03-Июл-26, 12:35   +/
Теперь всё, что понаписали на Расте нужно сконвертировать в Си! =)
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #40, #70

40. Сообщение от Аноним (37), 03-Июл-26, 12:41   +/
переписать на Си
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

41. Сообщение от Аноним (4), 03-Июл-26, 12:43   +/
>Это одна из причин по которой, например OpenBSD не будут этим пользоваться.

Объясните, как вы собираетесь решать аналогичную проблему для clang/llvm и gcc. Или опять стрелочка не поворачивается?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

42. Сообщение от Аноним (4), 03-Июл-26, 12:44   +/
У вас было более десяти лет, чтобы прочитать код компилятора. На что вы жалуетесь?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #48

43. Сообщение от Аноним (4), 03-Июл-26, 12:45   +1 +/
Объясните, как вы решаете аналогичную задачу для clang/llvm и gcc.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

45. Сообщение от Facemakeremail (?), 03-Июл-26, 12:48   –1 +/
Удобств.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

46. Сообщение от Аноним (4), 03-Июл-26, 12:48   +/
>Нужен не компилятор, а стандарт.

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

Такого не то что не будет для rust, такого нет даже для си.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #59, #66

47. Сообщение от Аноним (26), 03-Июл-26, 13:04   +/
> Нужен не компилятор, а стандарт.

Отлично!
У вас есть стандарт ISO/IEC 9899.
И ни одного опенсорскного компилятора который реализовал бы его полностью.
Здорово правда!? (с)

Более того результирующий выхлоп копилятора отличается не только для разных компиляторов, но даже для версий.

А еще в стандарте можно поменять поведение напр добавить UB.
Как и поступили в С23.

> Тогда проблема доверия переместится с языка на реализацию. И ту уже все будет просто -- вы либо доверяете конторе, выпустившей реализацию компилятора или не доверяете.

Хахаха, отличный подход.

> Если не будет стандарта, то доверие к языку появится через лет десять. после того, как он заморозится.

В мире куча ЯП без стандартов и с доверием проблем нет.
У раста тоже нет - так как топовые компании используют его в проде.

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

А условный GCC так усмеет? Они же поведение иногда ломат даже в не мажорных версиях

> Лично для меня сигналом доверия будет тот факт, что rust-компилятор выпустит IBM.

Но зачем? Им проще посадить своего чувака в раст-фаундешн и пусть работает.

Кстати недавно в ядро добавили поддержку раст для s390
https://lore.kernel.org/rust-for-linux/20260512105920.242629.../

IBM предлагает "IBM Open SDK for Rust on AIX"
www.ibm.com/products/open-sdk-for-rust-aix

и на сайте есть туториалы Beginner's guide to Rust

Кажется IBM больше доверяет языку без стандарта, чем аноним с форума))


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35

48. Сообщение от Аноним (48), 03-Июл-26, 13:08   +/
какие 10 лет, если репозиторий crustc появился 5 дней назад? Или по вашему результат ревью rustc автоматически переносится на crustc?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42 Ответы: #62

49. Сообщение от Archer73 (ok), 03-Июл-26, 13:13   +2 +/
А разве "наоборот", это не любимое развлечение программистов на Rust. Мне кажется их больше всего критикуют за переписывание того, что и так работает, хотя есть много гораздо более нужных направлений
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #56, #63

50. Сообщение от Ананоним (?), 03-Июл-26, 13:25   +/
Это тоже компилит так что нужно 32 Гигабайта ОЗУ?
Ответить | Правка | Наверх | Cообщить модератору

55. Сообщение от Аноним (56), 03-Июл-26, 13:34   +/
Разве у llvm не было C бэкенда?
Ответить | Правка | Наверх | Cообщить модератору

56. Сообщение от Аноним (56), 03-Июл-26, 13:35   –3 +/
> что и так работает

* не работает. Код на C почти никогда не работает.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #75

57. Сообщение от Аноним (60), 03-Июл-26, 13:38   +/
C 100.0%
Я правильно понимаю, что crustc не требует LLVM ? Если так, то он определённо удобней, чем cilly, который бекенд к rustc.
Ответить | Правка | Наверх | Cообщить модератору

59. Сообщение от Аноним (59), 03-Июл-26, 13:43   +/
> Покажите мне язык со стандартом, который имеет несколько реализаций, которые можно прозрачно заменить, без появления кучи багов, просадки производительности и несовместимых реализаций.

POSIX shell

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #64

60. Сообщение от Аноним (60), 03-Июл-26, 13:51   +/
А для раскрутки языка L, его компилятор первый раз должен собираться компилятором языка L, написанным на языке C. Чтобы никаких блобов в архиве исходников языка L не было.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #65

61. Сообщение от Аноним (61), 03-Июл-26, 13:59   +/
Почему это мини-новость? Это же октрытие огромной ниши для разработчиков языка rust.

Вот с этим, нелюбимых rust'овиков можно поаздравить.

Ответить | Правка | Наверх | Cообщить модератору

62. Сообщение от Аноним (4), 03-Июл-26, 14:00   +/
>какие 10 лет, если репозиторий crustc появился 5 дней назад?

Во-первых не 10 лет, а более 10 лет, во-вторых в первом сообщении вопрос доверия поднимался к rust, а не к rustc.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48

63. Сообщение от Аноним (77), 03-Июл-26, 14:05   +1 +/
> Мне кажется их больше всего критикуют за переписывание того, что и так работает,

Ты слегка ошибся, правильно писать: ʼи так "сойдет" работаетʼ.
В ядре за неудачный месяц нашли 1000+ CVE.
В зловонной куче X11 расколупывают дырки которым по 30+ лет.
Куча библиотек (включая криптографию) допускают зловредные манипуляции.

> хотя есть много гораздо более нужных направлений

Именно поэтому гугл выкинул freetype и libxml2.
Никто не будет рад, если юзера взломают при обработке шрифта на сайте или специаьно созданного хмлʼя.
На что их заменили думаю ты сам догадаешься)


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #72

64. Сообщение от Аноним (4), 03-Июл-26, 14:16   +/
Какой замечательный пример. Во-первых, под POSIX shell мало кто не пишет. Во-вторых, кроме самого shell-а, для работоспособности скрипта критически важно иметь совместимые версии утилит, поскольку даже у GNU Coreutils и у BusyBox различаются ключи. В-третьих, при любой правке скрипта придётся тщательно следить за изменениями и окружением, в котором запускается скрипт, так как если в скрипт попадёт, например, башизм, то никакой ошибки это не вызовет. Никакой прозрачностью тут и не пахнет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59 Ответы: #67

65. Сообщение от Аноним (4), 03-Июл-26, 14:18   +/
>его компилятор первый раз должен собираться компилятором языка L, написанным на языке C

Нет, не должен. Си - это ужасный язык, в том числе и для написания компилятора.
>Чтобы никаких блобов в архиве исходников языка L не было.

Для того, чтобы блобов не было, достаточно взять абсолютно любой язык, который через длинную или короткую цепочку, имеет реализацию на си.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60 Ответы: #77

66. Сообщение от Аноним (-), 03-Июл-26, 14:19   +/
> Покажите мне язык со стандартом, который имеет несколько реализаций, которые можно прозрачно заменить, без появления кучи багов, просадки производительности и несовместимых реализаций.

Ada

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #69, #73

67. Сообщение от Аноним (4), 03-Июл-26, 14:19   +/
>мало кто не пишет

Мало кто пишет. В основном, пишут под bash или какую-то другую, несовместимую реализацию.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64

68. Сообщение от Соль земли2 (?), 03-Июл-26, 14:21   +/
Какая связь между окружением для сборки и запуска программы? В Docker для этого даже разные контейнеры используют.
Ответить | Правка | Наверх | Cообщить модератору

69. Сообщение от Аноним (4), 03-Июл-26, 14:21   +/
Мне лень проверять ваше утверждение, но какие проекты больше чем hello world можно им собрать?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66

70. Сообщение от Соль земли2 (?), 03-Июл-26, 14:24   +/
Rust придумали, чтобы не писать на Си...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

72. Сообщение от Ivan_83 (ok), 03-Июл-26, 14:28   +/
И только вам настолько нечем занятся по жизни что вас это волнует.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #76

73. Сообщение от Аноним (73), 03-Июл-26, 14:30   +/
> Ada

Хороший пример.
Надо еще упомянуть, что у них есть есть "сертификация" компилятора.
Для того чтобы называться "компилятор языка Ada" нужно пройти 1000+ тестов.
Один завалил? Свободен.

А теперь сравните это с "стандартом" СИ, на который так наяривают местные.
Опенсорсных компиляторов которые реализовывали весь стандарт - нет.
В каждом лепят свои велосипеды - в итоге выхлоп шланга отличается от ЖЦЦ, а тот отличается от поделия мелкомягких.
"Переносимость" (на которую тоже наяривают местные) можешь догадаться какая)

Так что пока любая "няня-из-под-коня" может называться "коньпелятор СИ", так оно и будет.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66

74. Сообщение от Ivan_83 (ok), 03-Июл-26, 14:31   +/
Вот мне тоже интересно.
Если оно как VALA - типа синтаксис ок - транслируем, без этих душнильных проверок всего и вся - то скорее всего будет быстрее собиратся.

И тут мы опять приходим к тому о чём я писал много раз: глубокую проверку кода при каждой компиляции делать не надо.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

75. Сообщение от Ivan_83 (ok), 03-Июл-26, 14:31   +/
Ну теперь то понятно почему растовики не любят С - оно у них не получается :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56

76. Сообщение от Аноним (76), 03-Июл-26, 14:32   +/
> И только вам настолько нечем занятся по жизни что вас это волнует.

Ну тебе точно хватило "нечем заняться" чтобы оставить коммент)

Мир меняется ванька, от софта начинает зависить слишком много, чтобы он был настолько поганым.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72 Ответы: #78

77. Сообщение от Аноним (77), 03-Июл-26, 14:37   +/
> Нет, не должен. Си - это ужасный язык, в том числе и для написания компилятора.

А компиляторов на СИшке почти не осталось.
Даже великий и ужасный GCC стали писать на С++.
Почему? Потому что на СИшном убожестве нельзя сделать крутой оптимизирующий компилятор.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65

78. Сообщение от Ivan_83 (ok), 03-Июл-26, 14:40   +/
Так вы не видели как было раньше, и какой прогресс произошёл за последние лет 15.

То на что вы в новостях постоянно возбуждаетесь - это очень далёкие отголоски того что было раньше, настолько отдалённые что у обычных юзеров эти ошибки никогда не тригерятся, и выискиывать их надо с помощью ИИ и фазеров.

Чтобы было понятно.
1. В начале софт писали и тестили по ходу написания ручками. (pre 2000)
2. Потом начали принимать багрепорты от пользователей. (2000+)
3. Добавили автотесты. (2010+)
3.5. Где то тут появился гитхуб и платформы совместной разработки, а так же всякие автоматические отправки отчётов о крашах. (2010+)
4. Стали юзать фазеры (2020+)
5. Стали юзать ИИ. (2024+)

И надо понимать что от начали до результата где то могло пройти 5-10 лет, где то хватило 1-2 года.
Мне как юзеру опенсорца и не только вот прям сильно видно прогресс за последние 10 лет, притом оно наладилось ещё до прихода ИИ - всмысле перестало падать во время работы.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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