The OpenNET Project / Index page

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



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

"Fil-C - компилятор для языков C и C++, гарантирующий безопасную работу с памятью "  +/
Сообщение от opennews (??), 17-Ноя-24, 13:14 
Филипп Пизло (Filip Pizlo) представил на конференции SPLASH'24 открытый C/C++ компилятор  Fil-C, предоставляющий  защиту от проблем, вызванных ошибками при работе с памятью. Проект нацелен на обеспечение полной совместимости с существующим кодом на языках C и C++ - для обеспечения безопасной работы с памятью достаточно просто пересобрать существующий код. Компилятор построен с использованием компонентов от проекта LLVM и распространяется под лицензией Apache 2.0. Runtime поставляется под лицензией BSD.  В отличие от недавно анонсированного проекта TrapC, находящегося на стадии проектирования,  компилятор Fil-C  уже доведён до готовности сборки существующего кода...

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

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

Оглавление

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


1. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +19 +/
Сообщение от Аноним (1), 17-Ноя-24, 13:14 
А визгу то стояло на опеннете что сишка небезопасная, а всего то надо было сделать безопасную сишку и никакой раст больше никогда никому не необходим.
Ответить | Правка | Наверх | Cообщить модератору

2. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Alladin (?), 17-Ноя-24, 13:24 
да, всего-то.. на расте это гарантируется типами и маркерами, а на этом..
Ответить | Правка | Наверх | Cообщить модератору

4. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +2 +/
Сообщение от Аноним (1), 17-Ноя-24, 13:33 
Да гарантируется что боров запрещает объектам мутировать и делает так что программирование превращается в борьбу с этим самым боровом, а не в получение работающего продукта.
Ответить | Правка | Наверх | Cообщить модератору

7. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –3 +/
Сообщение от Alladin (?), 17-Ноя-24, 13:37 
борров это про мувинг семантику и заимствование структур

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

другие вещи борров не решает

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

14. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +5 +/
Сообщение от Аноним (1), 17-Ноя-24, 13:46 
Это тоже самое что построить такой город в котором на входе и выходе каждого здания и в общественном транспорте поставить рамки, рентген и проверять каждого жителя не мутировал ли он после выхода из дома. А если по ходу надел шапку или сходил в туалет считать что он мутировал и собирать его гарбедж коллектором вместе во всеми связанными объектами. А вдруг он мутировал получив бомбу. Причём если он сразу вышел из дома с бомбой к нему вопросов нет. Сколько раз уже пытались построить такой город с названием то Серво, то Редокс получается ерунда, не выходить каменный цветок.
Ответить | Правка | Наверх | Cообщить модератору

37. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +2 +/
Сообщение от Аноним (-), 17-Ноя-24, 14:36 
> Это тоже самое что построить такой город в котором на входе и выходе каждого здания и в общественном транспорте поставить рамки, рентген и проверять каждого жителя не мутировал ли он после выхода из дома.

Хм... ты ж только, что описал Город-СИ.
Где вышедший из дома гражданин, может через void* мутировать в автобус, потом в боевой вертолет, а потом залезть в голову соседу (надеюсь, что только в голову) и отстрелить обоим ноги.

> А если по ходу надел шапку или сходил в туалет считать что он мутировал и собирать его гарбедж коллектором

В расте есть ʼгарбедж коллекторʼ?
Это же просто новый уровень "кекспертизы" опеннета!

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

На редоксе уже дум играется - для продакшена готово)
Сколько там клоудфарь через свои раст серваки пропускает трафика? 30% от мирового?
Ну да, ну да "на расте ничего не написано" (с)

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

63. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (1), 17-Ноя-24, 15:15 
Дум даже на калькуляторе без ОС играется. А все остальное это называется свобода передвижения в конституции даже такое записано. Если мне нужно соседу в голову я просто иду к соседу в голову. И его на это согласие это очень опционально штука. И в такой город ты найдешь очень много программистов и строителей, которые тебе отстроят и запрограммируют.  
Ответить | Правка | Наверх | Cообщить модератору

73. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Аноним (73), 17-Ноя-24, 15:40 
> А все остальное это называется свобода передвижения в конституции даже такое записано.

Хахаха, ты про ту смешную бумажку?
А ну давай-ка свободно передвинься в Ново-Огарёво)

> Если мне нужно соседу в голову я просто иду к соседу в голову. И его на это согласие это очень опционально штука.

Совершенно не удивлен.

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

А потом еще 30 лет - то водопровод течет, то запертные двери открываются если сделать 28 приседаний, то трамвай в дом вьехал, то банк отправил все деньги на случайный счет...
Зато все эти бракоделы при деле, можно годами фиксить узявимости и баги, которые сами и добавили.


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

105. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (105), 17-Ноя-24, 17:06 
Ты в таком городе живёшь и почему то не переезжает в безопасТный. Даже если бы такой город существовал он был бы тебе не по карману.
Ответить | Правка | Наверх | Cообщить модератору

12. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (-), 17-Ноя-24, 13:42 
> Да гарантируется что боров запрещает объектам мутировать и делает так что
> программирование превращается в борьбу с этим самым боровом, а не в
> получение работающего продукта.

С другой стороны это гарантирует что не попробуют освободить еще используемое получив dangling pointer или не сделают освобождение дважды, и тому подобне факапы. Так то нормальная идея вполне. С основной ее прелестью - zero cost как таковое, в рантайме.

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

18. Скрыто модератором  +1 +/
Сообщение от Аноним (1), 17-Ноя-24, 13:51 
Ответить | Правка | Наверх | Cообщить модератору

59. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +2 +/
Сообщение от Бывалый Смузихлёб (ok), 17-Ноя-24, 15:00 
только cost совсем не zero
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

64. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (1), 17-Ноя-24, 15:16 
Zero только в случае если программируешь и запускаешь этот код не ты)
Ответить | Правка | Наверх | Cообщить модератору

75. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –2 +/
Сообщение от Страдивариус (?), 17-Ноя-24, 15:57 
Перешел на rust с плюсов. Точнее пишу на обоих. Пока пытался писать на rust по плюсовому, то да, была борба с боровым. Как только достиг дзена, боров потрясающе помогает. Пишешь неделю код, потом запускаешь и с первого запуска почти без багов.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

87. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +2 +/
Сообщение от Аноним (87), 17-Ноя-24, 16:27 
Так себе из тебя погромист, если ты написанное только раз в неделю запускаешь.
Ответить | Правка | Наверх | Cообщить модератору

106. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (105), 17-Ноя-24, 17:08 
Яркое описание того почему на расте нет софта из первых рук. Это я тут даже про тесты не пишу.
Ответить | Правка | К родителю #75 | Наверх | Cообщить модератору

3. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +7 +/
Сообщение от laindono (ok), 17-Ноя-24, 13:28 
На Rust всё вышеперечисленное либо дешевле, либо zero-cost, либо compile time.
То есть да, сишечку можно превратить в жалкое подобие, но ценой производительности.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

5. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (1), 17-Ноя-24, 13:34 
Это что за магия такая или трава, про зеро кост? Ты надеюсь сам понимаешь что так не может быть и ты пересказываешь маркетинговые сказки.
Ответить | Правка | Наверх | Cообщить модератору

8. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Alladin (?), 17-Ноя-24, 13:38 
зероконст, если вы считаете что весь мир обкурился травой то это ваши проблемы, а не мира
Ответить | Правка | Наверх | Cообщить модератору

19. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +4 +/
Сообщение от laindono (ok), 17-Ноя-24, 13:51 
Например вместо 128-битных указателей и прочей подобной фигни есть сильная типизация.

В сишечке malloc/free имеют такую сигнатуру:

malloc(size) -> pointer
free(pointer) -> void

В расте аналоги такие:

alloc(size, align) -> pointer
dealloc(pointer, size, align) -> void

Но явно хранить size/align надо только для динамических типов (вроде вектора или там хешмапы). Для типов, не меняющих свой размер, ничего держать в RAM не требуется, всё известно на этапе компиляции. Вот и получается zero-cost.

Опять же сырые указатели вообще говоря весьма умные внутри: https://doc.rust-lang.org/std/ptr/index.html (особенно про provenance читни)

На ссылки накладываются дополнительные ограничения. Например они не могут быть null, что автоматически означает, что нет вообще никаких проверок на null для ссылок. Плюс borrow-checker, который можно рассматривать как compile-time garbage collector.

Это в качестве иллюстрации, там куча всего ещё есть.

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

26. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –2 +/
Сообщение от Аноним (1), 17-Ноя-24, 14:13 
Предлагаю тебе зайти на сайт https://godbolt.org/ написать одинаковый код на расте и сишке и плюсплюске без llvm и пересчитать количество команд. Я конечно понимаю что для вас 10 км не круг и ты может быть найдешь пример где на расте будет меньше инструкция, но среднее количество команд сможешь оценить и ты.
Ответить | Правка | Наверх | Cообщить модератору

31. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +2 +/
Сообщение от Фнон (-), 17-Ноя-24, 14:21 
> Я конечно понимаю что для вас 10 км не круг

Я конечно понимаю, что для вас "ну подумаешь сделали double free и подарили root" это не проблема, но другие не хотят писать такой код.

Если вопрос в кол-ве команд - то можно на ассемблере все фигачить (в надежде что пряморукость будет больше чему у оптимизирующего компилятора).

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

32. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от laindono (ok), 17-Ноя-24, 14:26 
https://godbolt.org/z/Pv9E74Wan

Окей, простой пример. Одинаковое количество инструкций. Придумай более сложный пример.

Предположу, что ты, когда сам тестил, забыл добавить -C opt-level=3 компилятору Rust. По умолчанию rustc собирает в дебаг режиме.

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

36. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (36), 17-Ноя-24, 14:35 
Я не хейтер раста или плюсов, но у тебя получился слишком примитивный пример, который не показывает различий в подходе у этих ЯП.
Ответить | Правка | Наверх | Cообщить модератору

55. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Анонимemail (55), 17-Ноя-24, 14:53 
>>> Предлагаю тебе зайти на сайт https://godbolt.org/ написать одинаковый код на расте и сишке и плюсплюске без llvm и пересчитать количество команд.

...
> Я не хейтер раста или плюсов, но у тебя получился слишком примитивный
> пример, который не показывает различий в подходе у этих ЯП.

Я вообще другой аноним, но считаю для ответа "доказательства моей правоты напиши сам" - вполне норм. Тем более, "ты, когда сам тестил, забыл добавить -C opt-level=3 компилятору Rust" проскакивало уже пару раз у "Военов Против Раста":
https://www.opennet.me/openforum/vsluhforumID3/126424.html#270

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

66. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (1), 17-Ноя-24, 15:21 
Явно видно как деградирует уровень аргументации у адептов раста. Раньше было больше по существу сейчас остались лишь лозунги и маркетинг.
Ответить | Правка | Наверх | Cообщить модератору

69. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 17-Ноя-24, 15:27 
> Явно видно как деградирует уровень аргументации у адептов раста.

Приходится опускаться на донный уровень оппенентов, тк они по другому не понимают.

> Раньше было больше по существу сейчас остались лишь лозунги и маркетинг.

Раньше было "да не нужна эта безопасность! Настоящий программист таких ошибок не делает!", а теперь пошли косяком "ну у нас тут производительность просядет в 5 раз, но это не страшно"))


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

85. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Анонимemail (55), 17-Ноя-24, 16:22 
> Аноним(1) Предлагаю тебе зайти на сайт https://godbolt.org/ и написать код, который докажет, что я прав!
> Аноним(1) Явно видно как деградирует уровень аргументации у адептов раста. Раньше было больше
> по существу сейчас остались лишь лозунги и маркетинг.

Экая самокритичность, но адепт ты какой-то странный ...

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

74. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от laindono (ok), 17-Ноя-24, 15:50 
Ну давай чуть менее примитивный. Аллокация динамического массива. Код делает примерно одно и тоже, если не лезть в дебри семантики. Какой-то драматической разницы я тут не вижу при том, что это два разных компилятора с двумя разными языками.

https://godbolt.org/z/GaoKaM11K

Для иллюстрации добавил C++ для gcc и clang: https://godbolt.org/z/bjxn6s5sd

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

65. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (1), 17-Ноя-24, 15:18 
Вот и я говорю нашел едж кейс и пытаешься им что-то себе доказать. Но это лишь доказывает бессмысленность существования раста.
Ответить | Правка | К родителю #32 | Наверх | Cообщить модератору

68. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от laindono (ok), 17-Ноя-24, 15:24 
Ну так я не знаю, что ты вообще хочешь увидеть. Эквивалентный код выдаёт эквивалентный ассемблер.

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

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

100. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 17-Ноя-24, 16:54 
Хм.. а разве не ты пернул в комментарий "напиши код и считай кол-во команд"?
Тебе скинули уже 2 примера, но от тебя я не увидел ни строчки кода.
Так что давай "проргаммирывай", может какой-то пруф из себя выдавишь.

> Но это лишь доказывает бессмысленность существования раста.

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

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

109. Скрыто модератором  +/
Сообщение от Аноним (105), 17-Ноя-24, 17:17 
Ответить | Правка | Наверх | Cообщить модератору

30. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Ан (??), 17-Ноя-24, 14:21 
> Для типов, не меняющих свой размер, ничего держать в RAM не требуется, всё известно на этапе компиляции.

поэтому чтобы код был безопасным надо чтобы всё было написано на раст, один внедряла в ядро уже сдулсо..

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

42. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 17-Ноя-24, 14:40 
> один внедряла в ядро уже сдулсо..

из-за дидов-"вы не заставите миня учить раст, ррряяя!!!1"-неосиляторов.
Перешел туда, где его умения ценятся. И правильно сделал.
Пусть лучше меньше дырений будет в андроиде, хроме, винде. А ядро... типа кому оно нужно.

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

50. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Ан (??), 17-Ноя-24, 14:48 
> Пусть лучше меньше дырений будет в андроиде, хроме, винде. А ядро... типа кому оно нужно.

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

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

11. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +5 +/
Сообщение от Аноним (11), 17-Ноя-24, 13:41 
Справедливости ради, отлов ошибки во время компиляции гораздо лучше аварийного завершения во время выполнения.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

53. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от _kp (ok), 17-Ноя-24, 14:51 
Ну, так поставил ловушку, перехватывай и обрабатывай, кто ж запретит..
А если именно бросать неосвобожденные объекты на самотек, то вполне вариант.
Ответить | Правка | Наверх | Cообщить модератору

67. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (1), 17-Ноя-24, 15:24 
Аварийное завершение наоборот лучше чем выход за пределы.
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

33. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +4 +/
Сообщение от Аноним (-), 17-Ноя-24, 14:29 
> а всего то надо было сделать безопасную сишку

Так это и не сишка, а какой-то кадавр с си-синтаксисом.
В соседних темах люди не хотят использовать раст из-за просадки производительности на 1-2% по сравнению с чистой сишкой.
А тут просадка в "1.5-5 раз" (ПЯТЬ!!!) и вы называете это заменой сишки??
Лучше уже на шарпе или свифте писать вместо этого недоразумения.

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

41. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (41), 17-Ноя-24, 14:39 
Там не 1-2%. Всё, что во время компиляции не вычислить, не бесплатно.
Ответить | Правка | Наверх | Cообщить модератору

60. Скрыто модератором  –1 +/
Сообщение от Анонимусс (-), 17-Ноя-24, 15:09 
Ответить | Правка | Наверх | Cообщить модератору

35. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Анонимemail (55), 17-Ноя-24, 14:33 
> А визгу то стояло на опеннете что сишка небезопасная, а всего то
> надо было сделать безопасную сишку и никакой раст больше никогда никому
> не необходим.

О, опять перепись не умеющих читать опеннетных Экспердов^W Военов Супротив Раста ...

> Защита от проблем с памятью обеспечивается благодаря применению 128-разрядных указателей MonoCaps с метаданными для проверки типов и отслеживания границ буферов, а также задействованию сборщика мусора FUGC
> При каждом обращении к памяти по указателю осуществляется проверка границ и типа (например, в память с типом "ptr" не могут быть записаны данные с типом "int" и наоборот).
> собираемые в Fil-C программы медленнее примерно в 1.5-5 раз, по сравнению со сборкой обычными компиляторами
>

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

49. Скрыто модератором  +/
Сообщение от Аноним (-), 17-Ноя-24, 14:47 
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

54. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 17-Ноя-24, 14:53 
Ахаха, какое молниеносное переобувание. От "сишка быстрее раста на 5 процентов" до "замедление в 5 раз это норм" и "GC рулит".
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

71. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (71), 17-Ноя-24, 15:35 
В то время, когда типизированный код, не важно, на rust, ocaml или haskell приниципиально защищён от некоторых ошибок, например null pointer, сишники изобретают какую-нибудь java, который будет падать с NPE. Словно мы живём в 1990-ых, а не 2020-ых.

А ATS сишникам даже и не снится.

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

83. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (83), 17-Ноя-24, 16:18 
Типы стали как в бейсике (с аппаратно-зависимыми границами) плюс сборщик мусора. Вообщем как у многих ЯП. Остался только синтаксис.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

6. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (1), 17-Ноя-24, 13:36 
Конечно не мешало бы более подробно расписать чем сабж лучше zig, но в первом приближении ничем.
Ответить | Правка | Наверх | Cообщить модератору

21. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 17-Ноя-24, 13:57 
zig если и иожно сравнивать - то с СИ.
До плюсов ему еще расти и расти.
(Если он вообще дорастет до чего-то внятного).

А сабж, как заявляется, поддерживает С++ - вот уже причем "чем лучше".
Как в анекдоте
"- Ну чем он лучше?
-- Чем Zig!"

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

25. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Анонимусс (-), 17-Ноя-24, 14:10 
А чем вообще зиг лучше чем си в плане безопасности?

Как сделать use-after-free на "безопасном" zig'e демонстрировали не раз и не два
opennet.ru/openforum/vsluhforumID3/132732.html#71
opennet.ru/openforum/vsluhforumID3/134833.html#48

У зига есть свой unsafe для рантайма @setRuntimeSafety(false), что те же зиганутые и сишники указывали недостатком раста.

В общем когда это васяноподелие дорастет хотя бы до версии 1.0 - тогда и поговорим.

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

27. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (1), 17-Ноя-24, 14:15 
Так если на сабжевом языке начать снимать штаны через голову тоже можно что-нибудь словить. Так что в этом плане паритет.
Ответить | Правка | Наверх | Cообщить модератору

29. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Анонимусс (-), 17-Ноя-24, 14:20 
> Так если на сабжевом языке начать снимать штаны через голову тоже можно что-нибудь словить.

Та ну. Это просто максимально упрощенный пример.
В сишке тоже такие примеры выглядят смешно "Да кто так вообще может писать??".
И при этом use-after-free попадает в тройку самых популярных причин дыреней.

> Так что в этом плане паритет.

Теорема Эскобара в действии))
Ну и зачем оно тогда нужен. Особенно с такими ограничениями как жырнючие указатели и ломание ABI.

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

40. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (36), 17-Ноя-24, 14:39 
Тем что не нужно переписывать код и сишки? И там что заявлена поддержка механизмов "безопасного" программирования?
Каким местом ты вообще сюда zig приплёл?
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

47. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 17-Ноя-24, 14:46 
> Тем что не нужно переписывать код и сишки?

Что значит не нужно?
Прямо в новости написано:

Другим ограничением Fil-C является принципиальный отказ от сохранения совместимости на уровне ABI для кода на C/C++, что не позволяет связывать собираемый в Fil-C код с библиотеками и объектными файлами, собранными другими компиляторами. 

Это значит, что для взаимодействия с другими либами тебе придется переписывать все или почти все.
А учитывая просадки в производительности - то нафига оно вообще надо?

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

9. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (11), 17-Ноя-24, 13:39 
Это Valgrind на стероидах?
Ответить | Правка | Наверх | Cообщить модератору

45. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (36), 17-Ноя-24, 14:43 
Нет, это не внешняя тулза для поиска "сишных дыреней" при выполнении.
А встроенная система для поиска "сишных дыреней" при выполнении.

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

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

81. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (81), 17-Ноя-24, 16:11 
Valgrind медленнее в 30 раз.
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

10. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 17-Ноя-24, 13:40 
> - All allocations are *garbage collected* using

Ну, блин, да... яву можно и из сишки сделать. Я так то и -fsanituze=address,undefined могу вхреначить с тем же успехом.

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

23. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (-), 17-Ноя-24, 14:00 
А поможет?
Тут на форуме кидали ссылку на "очередную сишную дырень" в проекте обмазанному санитайзерами.
Искать лениво, но там оно не помогло.
Ответить | Правка | Наверх | Cообщить модератору

48. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (36), 17-Ноя-24, 14:47 
Потому что не было покрыто тестами, очевидно.
И фаззинг не выполняется, или неправильно прикручен.

Если бы релиз распространялся бы с санитайзерами, то твоя "дырень" бы просто не выстрелила, так как программа бы скоропостижно скончалась. И работала бы в 10 раз медленнее.

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

28. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Фнон (-), 17-Ноя-24, 14:17 
Не поможет.
Вот хрестоматийный пример из такой "ненужной" SSL либы:

Целая куча дыреней в OpenSSL/LibreSSL - https://www.opennet.me/opennews/art.shtml?num=58622
- чтение из области вне границ буфера
- Use-after-free
- двойное освобождение памяти
- некорректное разыменование указателя
- разыменование указателя NULL (x2)
ну и еще одна логическая проблема, которая решается нормальными типами

При этом ворнинги включены, оба проекта обмазаны санитайзерами по самое немогу - и memory, и thread, и еще куча других
https://github.com/openssl/openssl/actions/runs/4124496105
Там даже фаззинг какой-то есть.

Так что санитайзеры и анализаторы это как "мертвому припарки".
Да может что-то найдется из элементарного, но скорее для самоуспокоения "я сделал все что мог"))

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

13. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +3 +/
Сообщение от Аноним (-), 17-Ноя-24, 13:45 
Хаха, сколько лет дµряшечники рассказывали "да не нужны никакие дополнительные проверки, нормальный программист не совершает таких глупых ошибок!".

А тут бац - парад мутантов, то TrapCʼы, то Circleʼы и вот новый, с применением 16-байтовых указателей и отказом от сохранения совместимости на уровне ABI для кода на C/C++ и сборщиком мусора/.

Наверное что-то случилось))

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

20. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Гильгамеш (?), 17-Ноя-24, 13:54 
> Наверное что-то случилось))

трон зашатался, вот и зашевелились

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

82. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (82), 17-Ноя-24, 16:16 
Хотел бы я посмотреть, как вы от C ABI откажетесь, программируя задачи реального мира на любом языке, тронные шатуны.
Ответить | Правка | Наверх | Cообщить модератору

107. Скрыто модератором  +/
Сообщение от Аноним (-), 17-Ноя-24, 17:10 
Ответить | Правка | Наверх | Cообщить модератору

108. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (105), 17-Ноя-24, 17:15 
Главное громко верещать что все перепишут на свой язык. И обвинять других что они не переписывают. Детский подход как всегда.
Ответить | Правка | К родителю #82 | Наверх | Cообщить модератору

110. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 17-Ноя-24, 17:25 
> Главное громко верещать что все перепишут на свой язык. И обвинять других что они не переписывают. Детский подход как всегда.

Главное громко верещать "вы не заставите всех выучить раст" как диды из ядра.
И ставить палки в колеса.

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

15. Скрыто модератором  –2 +/
Сообщение от Аноним (-), 17-Ноя-24, 13:46 
Ответить | Правка | Наверх | Cообщить модератору

16. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Stanislavvv (?), 17-Ноя-24, 13:51 
> С незначительными модификациями поддерживается сборка OpenSSH

Интересно, это как когда-то в дебиане, где вырезали нужное?

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

38. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 17-Ноя-24, 14:37 
>> С незначительными модификациями поддерживается сборка OpenSSH
> Интересно, это как когда-то в дебиане, где вырезали нужное?

Жирный набросю. В дебиане ничего нужного не вырезали.
Это просто вы почему-то считаете ненужное нужным.

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

44. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Анонимemail (55), 17-Ноя-24, 14:42 
>> С незначительными модификациями поддерживается сборка OpenSSH
> Интересно, это как когда-то в дебиане, где вырезали нужное?

Не вырезали, а оптимизировали!
https://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2008-0166

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

17. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (17), 17-Ноя-24, 13:51 
> имеет богатый опыт работы над

камнеукладчик

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

22. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (22), 17-Ноя-24, 14:00 
А он то этот компелятор новый совместим полностью со старым кодом? Или это новое слово в науке, типа Раста.
Ответить | Правка | Наверх | Cообщить модератору

24. Скрыто модератором  +1 +/
Сообщение от Фнон (-), 17-Ноя-24, 14:07 
Ответить | Правка | Наверх | Cообщить модератору

56. Скрыто модератором  +1 +/
Сообщение от Аноним (36), 17-Ноя-24, 14:55 
Ответить | Правка | Наверх | Cообщить модератору

34. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (-), 17-Ноя-24, 14:29 
Лол, история Раста это прямо как в цитате
"Сначала они тебя не замечают, потом смеются над тобой, затем борются с тобой, а потом" ... начинают лепить корявые велосипеды из костылей

Видно последние заявления АНБ и прочих про "дырявые языки" слишком много пятых точек подожгло.

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

39. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –3 +/
Сообщение от Аноним (39), 17-Ноя-24, 14:38 
Язык Rust занервничал?
Ответить | Правка | Наверх | Cообщить модератору

43. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (22), 17-Ноя-24, 14:41 
Rust уже вытеснил Си, поэтому Сишники подсуетились и выпустили костыль...
Ответить | Правка | Наверх | Cообщить модератору

46. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Анонимemail (55), 17-Ноя-24, 14:45 
> собираемые в Fil-C программы медленнее примерно в 1.5-5 раз
> Язык Rust занервничал?

Скорее, питоны с жабками - конкурент, понимаешь, появился ...

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

52. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 17-Ноя-24, 14:51 
Какой конкурент?
Если нужно побыстрому накидать кода - например прототип сделать, то этот описанный монстр не подойдет.

Потому что где ты будешь искать кучу сишников и плюсовиков, которые еще и эту шнягу выучили?
Обычно мозгов среднестатистичного СИшника шаватает на С99.
А питонистов с жаваскриптерами - много.

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

58. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Анонимemail (55), 17-Ноя-24, 15:00 
> Какой конкурент?

По жору ресурсов, вестимо - там же "луДьшее" из обоих миров: куча бойлерплейта и прочего "заката солнца вручную" от сишки и производительность от питона!

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

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

62. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 17-Ноя-24, 15:12 
> На самом деле, сабж имеет смысл для определенной ниши применения - пересобрать
> то, что "больно" или дорого переписывать (или делать серьезный аудит) так, чтобы дырени не торчали приглашающе наружу, в тырьнет.

Меня терзают смутные сомнения (с)
А не выйдет ли что переписать проще, чем прикостыливать этого монстра?


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

51. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Аноним (51), 17-Ноя-24, 14:48 
Еще раз повторяю. Это просто противоречит причинам, по которым создавался Си. Посмотрите сурцы Win 3.1 SDK. Там все на голом асме. Вот чтобы не писать на нем, но иметь те же преимущества по размеру и производительности - изобрели Си. Если Си завернуть в виртуальную машину или что то типа того - от него не будет никакого толку. Просто нынешнее поколение проггеров это не понимает. Они уже привыкли писать ОС на питоне. После этого уже ничего не страшно.
Ответить | Правка | Наверх | Cообщить модератору

57. Скрыто модератором  +/
Сообщение от Аноним (-), 17-Ноя-24, 14:55 
Ответить | Правка | Наверх | Cообщить модератору

70. Скрыто модератором  +/
Сообщение от Аноним (1), 17-Ноя-24, 15:28 
Ответить | Правка | Наверх | Cообщить модератору

72. Скрыто модератором  +/
Сообщение от Аноним (-), 17-Ноя-24, 15:39 
Ответить | Правка | Наверх | Cообщить модератору

77. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (77), 17-Ноя-24, 16:06 
> придется обмазаться ifdef'ами. и подобрать нужную версию компилятора.

Это не совсем так. У меня 100% исходников компилируются GCC под ОС Linux, Windows (MinGW), BSD, macOS и Haiku.

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

80. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 17-Ноя-24, 16:09 
> Это не совсем так. У меня 100% исходников компилируются GCC под ОС Linux, Windows (MinGW), BSD, macOS и Haiku.

Хм.. предположу что это не helloworld.
А как решаются системо-зависимые штуки?
Ну хотя бы пути к файлам, которые для Linux, Windows и macOS слегка разные?

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

84. Скрыто модератором  +/
Сообщение от Аноним (84), 17-Ноя-24, 16:21 
Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

76. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (77), 17-Ноя-24, 16:04 
Phyton уступает C по скорости в 60 тысяч раз. Он никаким образом ему не конкурент.
Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

86. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (84), 17-Ноя-24, 16:23 
Ну про 6*10^4 раз это вы, конечно, сиильно загнули.
Ответить | Правка | Наверх | Cообщить модератору

92. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (92), 17-Ноя-24, 16:45 
Производительность даже кор 2 дуо избыточна для тех задач (сеть, I/o) где используется пайтон
Ответить | Правка | К родителю #76 | Наверх | Cообщить модератору

61. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (61), 17-Ноя-24, 15:10 
Работа с памятью некогда не было такой безопасной!
Ответить | Правка | Наверх | Cообщить модератору

78. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (78), 17-Ноя-24, 16:07 
Чего только не придумают,  только бы не начинать пользоваться Ада/Spark. Уже и расты понаписали, и эрзац Си понаделали.
Ответить | Правка | Наверх | Cообщить модератору

97. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (92), 17-Ноя-24, 16:51 
> Ада/Spark

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

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

79. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Анонимemail (79), 17-Ноя-24, 16:08 
Чего только не придумают,  только бы не начинать пользоваться Ада/Spark. Уже и расты понаписали, и эрзац Си понаделали.
Ответить | Правка | Наверх | Cообщить модератору

88. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от morphe (?), 17-Ноя-24, 16:28 
Look What They Need to Mimic a Fraction of Our Power!
Ответить | Правка | Наверх | Cообщить модератору

89. Скрыто модератором  +/
Сообщение от Аноним (61), 17-Ноя-24, 16:37 
Ответить | Правка | Наверх | Cообщить модератору

90. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от ffsdmad (ok), 17-Ноя-24, 16:44 
Получается, что Руст не нужен, но спрашивается, а зачем на него вообще тратят время и средства?
Ответить | Правка | Наверх | Cообщить модератору

94. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (92), 17-Ноя-24, 16:48 
Много чего ненужного существует. Я вот считаю продукцию эппла сферическим ненужно в вакууме,но ведь есть хомячьё, которое её скупает и стоит в очередях перед выходом нового ипхона.
Ответить | Правка | Наверх | Cообщить модератору

95. Скрыто модератором  +/
Сообщение от Аноним (-), 17-Ноя-24, 16:49 
Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

102. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 17-Ноя-24, 16:59 
Удивительно, что про ненужность раста пишет Илья - Веб-программист, который программирует на Python и JavaScript (рак современного интернета).
И который рассказывает про Flask/Angular1/Vue2.
Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

91. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от чатжпт (?), 17-Ноя-24, 16:44 
Лишь бы zig и rust не использовать, но всё равно все будут там
Ответить | Правка | Наверх | Cообщить модератору

93. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (92), 17-Ноя-24, 16:46 
> чатжпт

Kлoyн

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

96. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от тоже Анонимemail (ok), 17-Ноя-24, 16:51 
Названия компилятора и сборщика мусора почему-то напомнили, что Линус Торвальдс собственную ОС назвал - Freax...

Тут яростно сравнивают проект с Растом, хотя разница вроде бы очевидна.
Раст утверждает: "весь сишный код нужно выкинуть и переписать".
Проект предлагает: "зачем переписывать? Решение компьютерных проблем вполне можно доверить самому компьютеру".

С точки зрения ПО, которому не критична производительность (а это 90% всего софта) - это заведомо более дешевое и перспективное решение, чем "выкинуть и написать правильно".

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

99. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (92), 17-Ноя-24, 16:54 
> С точки зрения ПО, которому не критична производительность (а это 90% всего софта)

А потом удивляются почему хром тормозит на свежем i9 и RTX какой-то там.

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

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

104. Скрыто модератором  –1 +/
Сообщение от Аноним (-), 17-Ноя-24, 17:05 
Ответить | Правка | Наверх | Cообщить модератору

98. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Аноним (98), 17-Ноя-24, 16:53 
По поводу фамилии автора шутки уже были?
Ответить | Правка | Наверх | Cообщить модератору

103. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (103), 17-Ноя-24, 17:01 
Тебе пизло никогда не быть. Я уже тут в дефаулт сити
Ответить | Правка | Наверх | Cообщить модератору

101. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (101), 17-Ноя-24, 16:58 
Безопасные сишечки еще не готовы, а опасный gcc 14 уже жалуется на указатели.
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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