The OpenNET Project / Index page

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



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

"Fil-C - компилятор для языков C и C++, гарантирующий безопасную работу с памятью "  +1 +/
Сообщение от 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.dev/opennews/art.shtml?num=62241

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

Оглавление

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

203. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Прохожий (??), 18-Ноя-24, 09:12 
Переезд уже идёт полным ходом. Гугл, например, часть Андроида пишет на Rust.
Ответить | Правка | Наверх | Cообщить модератору

212. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (212), 18-Ноя-24, 09:42 
Опять твое воображение. Если гюгде то и идёт переезд то только в лозунгах и дутых отчётах.  
Ответить | Правка | Наверх | Cообщить модератору

218. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Прохожий (??), 18-Ноя-24, 09:55 
В смысле, моё воображение? Есть же, вроде, исходный код, можно самому посмотреть.
Ответить | Правка | Наверх | Cообщить модератору

319. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Совершенно другой аноним (?), 18-Ноя-24, 18:18 
Если переезд так и будет продолжаться (https://www.opennet.me/opennews/art.shtml?num=58249) (21% НОВОГО кода на Rust и 79% на С/C++), то боюсь ни я, ни Вы не доживёте до этого счастливого момента.
Ответить | Правка | К родителю #203 | Наверх | Cообщить модератору

320. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 18-Ноя-24, 18:38 
> Если переезд так и будет продолжаться (https://www.opennet.me/opennews/art.shtml?num=58249)
> (21% НОВОГО кода на Rust и 79% на С/C++),

Статья староватая, то был просто пробный шар.

Вот последние их заметки
security.googleblog.com/2024/09/eliminating-memory-safety-vulnerabilities-Android.html
Они считают, что если код окаменел - то там ошибок меньше.
И можно пока не переписывать.

Хотя они делают усилия и для улучшения безопасности старого кода на С++
security.googleblog.com/2024/10/safer-with-google-advancing-memory.html

Ну и пробуют использовать в прошивках
security.googleblog.com/2024/09/deploying-rust-in-existing-firmware.html

> то боюсь ни я, ни Вы не доживёте до этого счастливого момента.

Я собираюсь жить долго и увидеть как в проектах появляется плашка "new code - rust only")


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

335. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (335), 18-Ноя-24, 21:43 
> Я собираюсь жить долго и увидеть как в проектах появляется плашка "new code - rust only")

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

Если кто-то может добавить новую функциональность, то приоритет не язык или безопасность, а функциональность. Потом, может быть у кого нибудь когда-нибудь дойдут руки сделать новую реализацию на чем-либо другом. Но применена она будет только если даст какое-либо преимущество. Виртуальная безопасность таковым не считается.

Так что: "надежды юношей питают".

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

338. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 18-Ноя-24, 21:56 
> Если кто-то может добавить новую функциональность, то приоритет не язык или безопасность,  а функциональность.

А потом оно так и тащится с уязвимостями и костылями.

> Потом, может быть у кого нибудь когда-нибудь дойдут руки сделать новую реализацию на чем-либо другом.

И сообщество будет бухтеть "опять переписываете!"

> Но применена она будет только если даст какое-либо преимущество.

Кому? Если я завтра сяду переписывать ядро на брейнфак.. то кто мне запретит?

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

А "виртуальная" она по чьему мнению?
У всяких гуло-амазоно она вполне реальная.

> Так что: "надежды юношей питают".

Угу, а потом они превращаются в дидов и противятся новому.


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

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

Смирись - по другому не бывает.

> И сообщество будет бухтеть "опять переписываете!"

Именно! Поэтому любое переписанное должно дать то - что не могло непереписанное.

> Кому? Если я завтра сяду переписывать ядро на брейнфак.. то кто мне запретит?

Никто. Только и в основную ветку никто не возьмет. Играйся в песочнице.

> А "виртуальная" она по чьему мнению?

По опыту разработки проектов сообществами.

> У всяких гуло-амазоно она вполне реальная.

Вот там да. Менеджеры могут нагнуть разработчиков в любую сторону. Но именно в крупных корпорациях система чаще всего дает сбои. Она кривая насквозь. Менеджерам надо делать вид разбирающихся в вопросе и внедрять любую хрень (польза не важна).

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

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

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

Бывает)
Смиряться с бракоделием я не собираюсь.
Надеюсь законодатели в ЕС не подкачают, и введут ответственность за написанное (если денежки берешь).

> Именно! Поэтому любое переписанное должно дать то - что не могло непереписанное.

Правильно! Ну так переписывание на раст дает то что не могут сделать ни СИ, ни плюсы.
А именно уменьшение ошибок памяти.

> Никто. Только и в основную ветку никто не возьмет. Играйся в песочнице.

А если дядя спонсор вашего проекта настойчиво попросит?)
Не зря у LF есть платиновые и прочие спонсоры.

> По опыту разработки проектов сообществами.

И что же это за проекты?
В андроиде - работает, у клоудфари - работате, куча всяких вейландовых композиторов - тоже работает.
Даже редокс кое-как работает.

> Но именно  в крупных корпорациях система чаще всего дает сбои. Она кривая насквозь.

Ты видел картину "с бородой - без бороды"?
Ну так вот без корпов получается только Хурд.
А с корпами - линукс.

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

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


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

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

Надеюсь не подкачают. Флаг им в руки! Верной дорогой идут!

> А именно уменьшение ошибок памяти.

Опять. Не переносите свое видение на всех. Для вас это важнее функциональности. С чего вы решили, что для других то же?

> И что же это за проекты?

Все проекты без заточки на конкретный язык программирования. Как вариант libreoffice.

Погугли multi program languages projects.

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

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

И да. Мы живем в мире корпораций. Где работает система патентов (система бонусов фаворитам королей переделанная в систему бонусов крупному капиталу).

Но это не значит что корпорации приносят пользу, это лишь значит что корпорации давят все вокруг.

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

346. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (346), 19-Ноя-24, 00:54 
> Опять. Не переносите свое видение на всех. Для вас это важнее функциональности.
> С чего вы решили, что для других то же?

А эти другие вообще что-то решают? Их спрашивать будут?
Тут есть классные примеры сисметмд и вейланда, где соплей было много, а потом почти все довольны.

> Все проекты без заточки на конкретный язык программирования. Как вариант libreoffice.

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

> Это лишь говорит о том, что ты не видишь. Корпорации не умеют в разработку.

А у кого мелкомягкие купили винду? У кого эпл купил ios?
Почему корпорации успешно пишут 80% кода ядра?
Я уже насмотрелся на софт, который разрабатывают сообщество.
Типичное "лебедь-рак-щука".

> И да. Мы живем в мире корпораций. Где работает система патентов (система бонусов фаворитам королей переделанная в систему бонусов крупному капиталу).

Странно. В моем мире патент имеет срок годности, а потом переходит в общественное достояние.

> Но это не значит что корпорации приносят пользу, это лишь значит что корпорации давят все вокруг.

Можно посмотреть на союз, где без корпораций и рыночной конкуренции выпускали такой хлам, что смотреть было страшно.
Вы часом не брат юзера ПрофессорНавигатор?

А вообще - это старая песня.
Напоминает либертарианцев у которых "государство это зло", но никакого примера другого успешного объединения людей они привести не могут.

"Вы просто строите неправильный коммунизм" (с)

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

357. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (335), 19-Ноя-24, 07:49 
> А эти другие вообще что-то решают? Их спрашивать будут?

Те кто не спрашивают - теряют добровольных разработчиков.

> А у кого мелкомягкие купили винду? У кого эпл купил ios?

Вы не видитие косяков в развитии как той так и другой вызванных как раз необоснованным внедрением всякой откровенной хни?

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

> Странно. В моем мире патент имеет срок годности, а потом переходит в общественное достояние.

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

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

Смешались в кучу кони, люди. Корпорации отдельно - рыночная конкуренция отдельно. Это две очень далекие друг от друга сущности. Так где не хватает силы задавить конкурентов патентами, включают другие нерыночные механизмы, такие как лоббирование (когда принимают законы и подзаконные акты выгодные конкретным корпорациям).

> Напоминает либертарианцев у которых "государство это зло", но никакого примера другого успешного объединения людей они привести не могут.

Вы из прошлого тысячелетия вещаете?

Как вам Китай? У него корпорации ходят под прицелом. Любая оплошность приводит к проблемам. И что мы имеем?

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

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

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

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

Примите реальность - сейчас программные продукты настолько усложнились что написать что-то в одиночку практически невозможно.
Раньше да, можно написать утилиту на 10к LOC и стать знаменитым.
А сейчас нужны люди, которые могут посвещать проекту достаточно времени, вплоть до fulltime разработки.

Это, кстати, подтверждается тем, что 80% кода ядра пишут разработчики на зарплате корпов.
И что успешные проекты без их участия можно пересчитать по пальца одной руки.

> Вы не видитие косяков в развитии как той так и другой вызванных как раз необоснованным внедрением всякой откровенной хни?

А кто определяет что такой ХНЯ?
Юзеров устраивает? Оно лучше чем все остальное?

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

В каком "таком виде"?
Винда просто работала из коробки. Надо 5 раз нажать кнопку "next" и ты просто пользуешься системой. Сравните это с линуксом тех же годов.

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

>> Напоминает либертарианцев у которых "государство это зло", но никакого примера другого успешного объединения людей они привести не могут.
> Вы из прошлого тысячелетия вещаете?

О, у вас есть примеры негосударственного объединения людей?

> Как вам Китай? У него корпорации ходят под прицелом. Любая оплошность приводит к проблемам. И что мы имеем?

Не понял вопрос.
Как наличие патента на винду может замедлить линукс?
Корпорации тратят много денег на R&D и проверки тысяч гипотез.
Потом эксклюзивно владедеют технологией десяток-два лет.
А потом они передают ее всем.

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


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

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

Вам, видимо, не нужны. Но не все такие как вы.

> А кто определяет что такой ХНЯ?

История.

> Юзеров устраивает? Оно лучше чем все остальное?

А вот это менеджеров совсем не волнует. И как правило, по всем параметрам хуже нормальных решений и реализаций.

> В каком "таком виде"?
> Винда просто работала из коробки. Надо 5 раз нажать кнопку "next" и ты просто пользуешься системой. Сравните это с линуксом тех же годов.

Хороший пример. Метания: COM -> DCOM -> Net -> сервисы.

В то время как у linux: сервисы.

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

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

> Корпорации тратят много денег на R&D и проверки тысяч гипотез.

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

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

390. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Аноним (-), 19-Ноя-24, 22:31 
>> А кто определяет что такой ХНЯ?
> История.

Пока история определяет что десктопный линукс это 4% ХНЯ.
¯\_(ツ)_/¯

> А вот это менеджеров совсем не волнует. И как правило, по всем параметрам хуже нормальных решений и реализаций.

Хм.. а чего ж эти реализации, которые по всем параметрам лучше, не стали популярными?
Неужели заговор?

>> Винда просто работала из коробки.
> Хороший пример. Метания: COM -> DCOM -> Net -> сервисы.

А как это касается пользователя?
Он как устанавливал на винде ворд, так и устанавливает.

> В то время как у linux: сервисы.

И прдолинг)
Я помню как читал форумы, чтобы выяснить "какой ноутбук можно купить, чтобы были дрова"

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

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

> Корпорации тратят много денег на скупку всего что есть по дешевке

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

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

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

Обычные пользователи конечно же разбираются в технологиях которые внедряют корпорации. Это вот хакеры(как Столлман или Линус), не разбираются, но вот пользователи - да.
>Как вам Китай? У него корпорации ходят под прицелом. Любая оплошность приводит к проблемам. И что мы имеем?

996?

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

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

С "почти все довольны" вы загнули. Во-первых, ещё не все возможности в тот же самый вейленд внедрены/на него не все ещё программы портированы. И в некоторых случаях легче откатится в Xwayland. Во-вторых, особенно в корпоративных решениях это всё обрастает ужасающими костылями. Так что работы здесь ещё много.
>Напоминает либертарианцев у которых "государство это зло", но никакого примера другого успешного объединения людей они привести не могут.
>"Вы просто строите неправильный коммунизм" (с)

Зато, когда такие люди успешно приводят примеры того, как по разному государства вмешиваются в определённые сферы, им говорят "это другое".

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

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

Надеюсь, что против бюрократов ЕС и Австралии программисты введут санкции, и даже приезжать не будут, чтобы не повторить ситуацию с Дуровым. Евродепутаты не являются людьми, которые разбираются в теории разработки, а вот ввести какую-то чисто бюрократическию процедру, с отрицательным смыслом - могут запросто.

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

368. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 19-Ноя-24, 12:51 
>Я собираюсь жить долго и увидеть как в проектах появляется плашка "new code - rust only")

Странная вещь. Лихо вы отсекаете кучу вещей, например, хаскеля, окамла и идриса.

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

189. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Karl Richter (ok), 18-Ноя-24, 07:06 
Компьютеру свобода передвижения ненужна. Он - инструмент. А если честно, в реальности контролировать свободу передвижения очень полезно для безопасности общества и государства.
Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

213. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (212), 18-Ноя-24, 09:47 
Какая кому разница что там нужно компьютеру. Свобода нужна программисту. А то что описано выше не контроль, а театр безопасТности. Контроль делается без всяких рентгенов и т.п.  
Ответить | Правка | Наверх | Cообщить модератору

240. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 18-Ноя-24, 10:51 
> Компьютеру свобода передвижения ненужна. Он - инструмент. А если честно, в реальности
> контролировать свободу передвижения очень полезно для безопасности общества и государства.

И именно поэтому было сказано что those who will give up essential liberty to obtain little temporary safety, deserve neither.

Совремненые слабаки зажравшиеся достижениями предков и воспринимающие некоторые вещи как данность - перестали ценить что имеют. А напрасно.

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

228. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Прохожий (??), 18-Ноя-24, 10:18 
Если это город, населённый неадекватами (а в программировании это часто именно так, глядя на прорву CVE, поток которых не прекращается даже спустя много лет после написания кода), то вполне нормальный подход проверять каждого на предмет наличия оружия и до, и после.

И нет, в Rust нет GC.

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

185. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (185), 18-Ноя-24, 05:28 
Раз нельзя назвать рабочим продуктом, то каким образов все это работало? От операционных систем, до стандартных приложений. И вы же, до появления раста, всем этим пользовались. Что с вами не так?
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

211. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Прохожий (??), 18-Ноя-24, 09:39 
>каким образов все это работало

Через пень-колоду. На безрыбье и рак - рыба. Теперь выбор есть.

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

245. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от An (??), 18-Ноя-24, 11:06 
Ну дак и доведите до ума redox со всем альтернативным софтом на rust, что бы можно было сравнить с текущими осями и выбрать.
Ответить | Правка | Наверх | Cообщить модератору

265. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Аноним (265), 18-Ноя-24, 12:54 
> Ну дак и доведите до ума redox со всем альтернативным софтом на
> rust, что бы можно было сравнить с текущими осями и выбрать.

Че там с хурдом, уже довели до ума или без пары миллиардов от IBM и десятка лет упорной разработки тыщами разрабов (тоже финансируемых корпами) не выходит каменный цветок?


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

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

281. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (265), 18-Ноя-24, 15:25 
> Хочешь сказать, что на Rust из ОС ничего готового нет и не будет?

Нет, это ты сам себе придумал.
Попутно предлагая проделать много(десяти)летнюю работу тысяч человек.
> А как тогда сравнивать?

А почему не хочешь сравнивать с хурдом?
Ну вон, тот же ведроид, в котором еще 2 года назад кода на расте было больше, чем в хурде вообще?
Или вон, nginx c кляудфлярной разработкой https://www.opennet.dev/opennews/art.shtml?num=62163, которую они "сами едят"?
Или амазоновский firecracker https://github.com/firecracker-microvm/firecracker (если есть с чем)?

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

491. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от sefrv9jm2 (?), 27-Ноя-24, 17:30 
свет клином что ли. Есть еще Asterinas
Ответить | Правка | К родителю #245 | Наверх | Cообщить модератору

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

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

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

18. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +3 +/
Сообщение от Аноним (1), 17-Ноя-24, 13:51 
Давно рекомендую всем адептам безопасТности надеть акваланг, спасательный круг запас еды на 10 дней, бронежилет и пробежать марафон 42 км на время. Зато во время марафона ты не утонешь, выживешь если заблудишься, и если в тебя будут стрелять больше вероятность выжить. Сплошная безопасТность.  В Саус парке был такой тип который все время в спас жилете ходил по итогу утонул в театре. (И  не в театре безопасТности)
Ответить | Правка | Наверх | Cообщить модератору

200. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –2 +/
Сообщение от Прохожий (??), 18-Ноя-24, 09:05 
Это, конечно, кривая аналогия. Но кекспертам местным нравится, потому что с логикой у них сплошные проблемы. Почему кривая? Потому что все абстракции в Rust ничего не стоят во время выполнения.
Ответить | Правка | Наверх | Cообщить модератору

214. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (212), 18-Ноя-24, 09:49 
Ага только чтобы эти абстракции написать надо 10 программистов вместо 1 для одинакового результата. Зеро Коста не бывает, а тут и подавно.
Ответить | Правка | Наверх | Cообщить модератору

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

287. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 18-Ноя-24, 16:05 
Так пишите на ocaml/haskell, на go в крайнем случае. Но нет, вот тянет почему-то писать всё на сях.
Ответить | Правка | К родителю #214 | Наверх | Cообщить модератору

363. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 19-Ноя-24, 11:45 
> Так пишите на ocaml/haskell, на go в крайнем случае. Но нет, вот
> тянет почему-то писать всё на сях.

Потому что писать на ocaml/haskel - это вы сами такое. На этом реально полтора проекта, от отшибленых академов. И майнтенансу это не подлежит - ибо желающих вгружать половину мозга автора чтобы врулить в крутые абстракции на этом глобусе предсказуемо оказвается около ноля.

В этом смысле сишные проекты намного более живучие. По минимуму пропатчить может даже тот кто пришел недавно.

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

372. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 19-Ноя-24, 13:22 
>На этом реально полтора проекта, от отшибленых академов

Все мои пет-проекты за последние пару лет на ocaml, немного haskell попробовал, но мне его вкус не понравился. Это ж надо было додуматься до того, чтобы отступы в языке сделать управляющими, как в питоне, и подобные мелочи.
>ибо желающих вгружать половину мозга автора чтобы врулить в крутые абстракции на этом глобусе предсказуемо оказвается около ноля.

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

Когда я копаюсь в незнакомом коде на ocaml, я не рискую попортить память. Меня удивляет бесстрашие сишников.

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

421. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 20-Ноя-24, 16:59 
> Все мои пет-проекты за последние пару лет на ocaml, немного haskell попробовал,
> но мне его вкус не понравился. Это ж надо было додуматься
> до того, чтобы отступы в языке сделать управляющими, как в питоне,
> и подобные мелочи.

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

За всю мою жизнь я видел 1 применение окамла для чего-то минимально практичного - рефакторы по площади в Linux Kernel. Но это умеет 1 Julia Lawall или как там ее, с неким coccinelle. Для остальных это arcane art, но этот art где-то сильно сбоку и даже если носитель этого знания почит в бозе то ничего фатального не произойдет.

А если нечто написано на вот именно ocaml - то там при потере автором интереса ему наступает практически железобетонная амба, а для хаскела это вообще единственно виденный мной сценарий.

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

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

Где мне было надо - я за плюсерами весьма могучие абстракции раскрутил. Но то плюсеры. На этом можно делать prod-grade software. И там мучения оправданы, если удалось такой дредноут под себя подрихтовать, это довольно крутая ачивка во всех смыслах, от результата до демо "во как я могу" в виде который котируется в индустрии.

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

Я не пишу на го, такой парадокс :). Но как выглядят микросервисы на нем - да, это симпатично.

> Когда я копаюсь в незнакомом коде на ocaml, я не рискую попортить
> память. Меня удивляет бесстрашие сишников.

Если я вообще не могу пропатчить код т.к. мне надо вгрузить сначала половину мозга того прогера - ну, окей, я этот код сотру и заново напишу или возьму что-то другое. Просто потому что так проще было, а всенепременно залезть на второй этаж используя намасленный столб, одев противогаз - не было для меня самоцелью. Я не гордый и по лестнице подымусь, или на лифте.

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

205. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 18-Ноя-24, 09:18 
> Давно рекомендую всем адептам безопасТности надеть акваланг, спасательный круг запас еды
> на 10 дней, бронежилет и пробежать марафон 42 км на время.

Ну, вообще, если ты решил провести отпуск на море - это может быть не такая уж плохая опция.

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

> Зато во время марафона ты не утонешь, выживешь если заблудишься, и
> если в тебя будут стрелять больше вероятность выжить. Сплошная безопасТность.

С другой стороны, если известно что в полях вокруг мины - взять миноискатель может быть не такой уж и плохой идеей. А уж если робот сам покатается и все мины пометит/уберет - вообще зашибись! Хотя можно конечно и прямо своей тушкой проверить, вон, кочка подозрительная, попрыгать на ней самое то, да? :)

> В Саус парке был такой тип который все время в спас
> жилете ходил по итогу утонул в театре. (И  не в
> театре безопасТности)

Ну так я и не предлагаю юзать редсдохи. Это однако не мешает с314ть некоторые удачные и рациональные идеи!

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

216. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (212), 18-Ноя-24, 09:52 
Причем тут отпуск когда тут марафон. Где много людей собралось и бежит по одному маршруту кто быстрее. То что подходит для отпуска на минном поле не подходит для марафона, пойми. То что подходит для хеллоуворлда не подходит для большого проекта такого как движок браузера.
Ответить | Правка | Наверх | Cообщить модератору

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

А в Клаудфлэр, Гугл, Микрософт, Дропбокс, Дискорде, Мозилле, Амазоне об этом знают? :)

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

269. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (269), 18-Ноя-24, 13:59 
> Причем тут отпуск когда тут марафон. Где много людей собралось и бежит
> по одному маршруту кто быстрее. То что подходит для отпуска на
> минном поле не подходит для марафона, пойми. То что подходит для
> хеллоуворлда не подходит для большого проекта такого как движок браузера.

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

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

311. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (371), 18-Ноя-24, 16:57 
>Давно рекомендую всем адептам безопасТности надеть акваланг, спасательный круг запас еды на 10 дней, бронежилет и пробежать марафон 42 км на время

Предлагаю адептам си следующие тезисы: тормоза придумали трусы. А давайте перила уберём, так как они паркуру мешают. И вообще, на их изготовления стройматериалы тратятся. И с балкона, на 24 этаже тоже перила уберём. И изоляцию с высоковольтных вещей тоже снимем.

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

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

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

202. Скрыто модератором  –1 +/
Сообщение от Прохожий (??), 18-Ноя-24, 09:10 
Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

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

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

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

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

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

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

383. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Страдивариус (?), 19-Ноя-24, 18:12 
Ничего не понял. Какие первые руки? Какие тесты ты не пишешь?

Отсутствие софта для юзера на расте? А firefox разве нет?

В целом я бы не стал писать юзерский софт на расте. По одной простой причине - у него нету стабильного ABI, а поэтому его не возможно поставлять с разделяемыми библиотеками - только с теми, которые написаны на других языках со стабильным ABI и к которым есть биндинги в раст. Растовские крейты нужно пересобирать вместе с софтиной. Это плохо в плане обновления после найденных уязвимостей и прочее. Кроме того сам бинарь получается весьма увесистый.

А вот для бэкэнда - отличнейший язык!

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

186. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (185), 18-Ноя-24, 05:29 
За сколько вы напишете тот же самый код на С/C++?
Ответить | Правка | К родителю #75 | Наверх | Cообщить модератору

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

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

Эпические галеры^W места для работы рабов^W успешных специалистов...

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

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

210. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Прохожий (??), 18-Ноя-24, 09:36 
"Смешались в кучу кони, люди". Мы тут менталитет программистов обсуждаем или объективные достоинства того или иного языка программирования?
Ответить | Правка | Наверх | Cообщить модератору

248. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 18-Ноя-24, 11:29 
> Эпические галеры^W места для работы рабов^W успешных специалистов...

Даже интересно, а где ж работаешь ты?

> Правда, сколько галерщика не переименовывай и не раздавай ему суть - менталитет у него останется характерный.

Мы говорим про менталитет или про языки программирования?

> Как это так, не дают бесплатный барак и надо самому себе еду добывать? Ну и гадость эта ваша свобода!

О, по моему опыту, так обычно говорят какие-то васяны-стартаперы, которые "зачем ты горбатишься на дядю!", а потом "моя супер-мега компания из меня одного разорилась!!! плак-плак (;_;)"
Как показала история реально крутые вещи делались корпорациями - например сколько всего придумали в BellLab.

> Да и кнутователь у нас - добрый малый, не так уж сильно лупит, даже шкура не слезает.

Sad to be you (c)
Вот в моей компании кнутователя нету, как и овертаймов. Наверное неправильная галера.
Но да, у тебя есть свобода работать в каком-то подвальчике и убеждать себя что "зато я свободен! Свободен от денег, современных технологий и здравого смысла"

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

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

А я сам на себя работаю. Е... я ваши галеры и "благодетелей" - been there, done that, добавки не надо, спасибо!

> Мы говорим про менталитет или про языки программирования?

Сообщество имеет отношение к ЯП и обвесу вокруг. И лично мне хрустики как сообщество в целом - не нравятся. Сборище корпоративных винтиков.

> О, по моему опыту, так обычно говорят какие-то васяны-стартаперы, которые "зачем ты
> горбатишься на дядю!", а потом "моя супер-мега компания из меня одного
> разорилась!!! плак-плак (;_;)"

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

> Как показала история реально крутые вещи делались корпорациями - например сколько всего
> придумали в BellLab.

Как показала история, за всеми открытиями и изобретениями как правило были вполне конкретные имена, представляющие из себя что-то отличное от ноля, без всяких мегакорп за спиной.

А некоторые так то и основали - эти самые корпы. И кто сказал что процесс остановился? Так и появляются корпы. Есть те кто их создает. Есть нонеймы под ногами.

> Вот в моей компании кнутователя нету, как и овертаймов. Наверное неправильная галера.

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

> Но да, у тебя есть свобода работать в каком-то подвальчике и убеждать
> себя что "зато я свободен! Свободен от денег, современных технологий и
> здравого смысла"

У меня есть много персональных свобод которых нет у вас. Я могу вот прям ща оседлать вел и покрутить себе по кайфу. А вы так же сможете в своей супер-корпе? Ну вот и поговорили о свободах.

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

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

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

На минуточку, там речь была - про гугол и майкрософт. А у этих с вот именно таким - довольно так себе, AFAIK. Я конечно не знаю ВСЕХ их условий для ВСЕХ работников, в ВСЕХ филиалах, на ВСЕХ должностях.

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

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

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

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

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

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

365. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 19-Ноя-24, 12:16 
> Это распространённое заблуждение, что, дескать, если у тебя свой бизнес, то и
> личной свободы больше. Вы так же, как и остальные члены человеческого
> сообщества, от кого-то зависите. Например, от ваших клиентов. Или от налоговой
> инспекции.

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

> Или банально от бандитов, которым понравился ваш бизнес. Или от
> вашего бизнес-партнёра (если он есть). И так далее, и тому подобное.

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

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

247. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Страдивариус (?), 18-Ноя-24, 11:18 
Ну это сильно зависит от задачи. Например, с БД сильно приятнее работать на Rust. Сериализация/десериализация тоже.
Ответить | Правка | К родителю #186 | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

178. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +2 +/
Сообщение от keydon (ok), 18-Ноя-24, 03:05 
Ты же сам начал с производительности и "zero cost" и теперь сам же даешь заднюю. Типичный растоман.
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

111. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (335), 17-Ноя-24, 17:29 
Вы про того, кто придя в проект как разработчик, захотел свою работу свалить на других а сам рулить?

Мало того, что эта работа, как и было сказано бессмысленная по своей сути. Так у него еще и наглости хватило пытаться ее на других взвалить.

Те смотрели на дитятко, ну из ..вна куличики лепет. Пусть, себе, лепет. Никому не мешает.
Но когда он закатил истерику, давайте все вместе помогайте мне из ..вна куличики лепить. Диды, конечно, не выдержали и послали.

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

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

Ага, ага, настлолько что Линус разочарован тем, что все так медленно внедляется.
И одной из причин называет - дидов неосиляторов.

> Но когда он закатил истерику, давайте все вместе помогайте мне из ..вна  куличики лепить. Диды, конечно, не выдержали и послали.

Конечно послали, Тео хочет сам лепить из овна, других не подпускает)

Благо он уже не молод, может помрет ненароком.
Будет повод выпить пивка))


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

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

Он теперь политик. Вместо вываливания кучи помоев на головы раздолбаям дает эти раздолбаям обделаться.

Обделывайтесь наздоровье.

> Конечно послали, Тео хочет сам лепить из овна, других не подпускает)

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

Или они считают себя мессиями новой веры в которую должны уверовать все остальные?

Именно такие вопросы любителям rust и задали.

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

Пусть мальчики сами куличики из ..овна лепят.

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

167. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (167), 17-Ноя-24, 22:35 
> Он теперь политик. Вместо вываливания кучи помоев на головы раздолбаям дает эти раздолбаям обделаться.

Раздолбаи обделываются уже почти 30 лет.
Он не просто так упомянул
You'd think that all the basics would have been fixed long ago, but they're not. We're still dealing with basic issues such as memory management.

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

просто не устраивает.
Ты платишь нехилые бабки, а бракоделы типа Тцо делаю CVEшки, которые потом еще 2 раза чинят (тк с первого раза не получается).

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

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

> Или они считают себя мессиями новой веры в которую должны уверовать все остальные?

Фантазии становятся еще более безумными...

> Именно такие вопросы любителям rust и задали.

Э? Им просто сказали "вы не заставите нас изучить раст" (второй язык допущенный я ядро).
Надеюсь что компетентность таких бракоделов будет пересмотрена Линусом и спонсорами ядра.

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

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

> Пусть мальчики сами куличики из ..овна лепят.

Пока не придет Торвальдс и скажет "какого фига ставятся палки в колеса!?"


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

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

Поэтому ядро захватывает мир? А у тех кто делал микроядро или на безопасных языках - ничего кроме проблем. У тебя альтернативная логика.

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

То есть это Тео должен заниматься тем чем он не брался и никогда не собирался?

Он должен за растовиков делать их работу?

Опять у тебя альтернативная логика.

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

Их не интересуют другие проекты. Они дали шанс показать пользу от rust в ядре. Пока не показали ничего.

> Пока не придет Торвальдс и скажет "какого фига ставятся палки в колеса!?"

Пока он в очередной раз не скажет, что-то у вас не очень получается. В очередной раз макнув растовиков носом в их творения.

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

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

Лол, сколько там комплектов Minix в мире работает?
Сколько всяких девайсов ThreadX (ныне Azure RTOS) было выпущено? Больше 10 миллиардов.
И это все микрокернелы.

> или на безопасных языках - ничего кроме проблем. У тебя альтернативная логика.

И какие проблемы от безопасных языков?
Вон АДА/Спарк как пример безопасного языка - применяется на куче супер критических систем.

> То есть это Тео должен заниматься тем чем он не брался и никогда не собирался?

Э.. типа "раз ядро началось с С99 то теперь я буду писать только на нем" ?
Ядро официально поддерживает 2 языка.
Логично что задача программера в ядре освоить их хотя бы на уровне "я понимаю, что написано".

> Он должен за растовиков делать их работу?

Это его работа. Если он ломает АПИ, то логично что он и должен исправить функции.

> Опять у тебя альтернативная логика.

Нет у тебя.

> Их не интересуют другие проекты. Они дали шанс показать пользу от rust в ядре. Пока не показали ничего.

Да, а кому Линус говорил персональное спасибо за драйвера для М чипов написанных как раз на расте?
Драйвер который прошел сертификацию кроноса?
А это отличный пример, когда люди с незакостенелым мышлением могут сделать сложные вещи.

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

Растовиков? Разве он упомянул что "они плохо делают свою работу"?
Нет! Он сказал что
but part of the problem is that old-time kernel developers are used to C and don't know Rust. They're not exactly excited about having to learn a new language that is, in some respects, very different.
Т.е те самые диды неосиляторы.


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

196. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (335), 18-Ноя-24, 08:12 
Надоело - поскипал

> Это его работа. Если он ломает АПИ, то логично что он и должен исправить функции.

Нет. Не логично от слова совсем. Он не брался за эту работу. За эту работу брались другие. Пусть и делают.

Если они не могут сделать нормальную систему интеграции - пусть сами с тем что создали и возятся.

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

> Растовиков? Разве он упомянул что "они плохо делают свою работу"?

Если они не могут сделать так что бы это было ненапряжно для других, то как еще он мог сказать, что они делают это плохо?

Начать, как раньше, помоями поливать?

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

209. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Прохожий (??), 18-Ноя-24, 09:30 
>За эту работу брались другие. Пусть и делают.

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

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

336. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (335), 18-Ноя-24, 21:49 
> подкорректировал для этого некоторый код на Си, но правки не принимали те самые диды-неосиляторы.

Любая правка должна быть обоснованной.

Основанием "невозможность создать обвязку" - не является.

Прежде чем соваться надо что-то в консерватории поправить.

То есть правьте свою систему создания обвязок.

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

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

Обоснование "тут раз в месяц CVE находят" является достаточным?

> Прежде чем соваться надо что-то в консерватории поправить.

Э... не намекаешь ли ты что дидам пора на пенсию?


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

342. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (335), 18-Ноя-24, 22:20 
> Обоснование "тут раз в месяц CVE находят" является достаточным?

Для большинства проектов - ни разу. Или давай новую функциональность или улучшай характеристики.

> ... не намекаешь ли ты что дидам пора на пенсию?

Почини свой контрабас.

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

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

348. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Прохожий (??), 19-Ноя-24, 01:31 
> Поясняю прямым текстом, инструмент нужно править до тех пор, пока не устранят проблему.

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

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

358. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (335), 19-Ноя-24, 07:52 
Откуда ты такой вылез?

В данном случае инструмент - система интеграции rust в ядро.

Она кривая. Без ее починки у внедрятелей rust будет очень моного работы или постоянная война с другими разработчиками.

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

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

Т.е слился? Предсказуемо.

> Он не брался за эту работу. За эту работу брались другие. Пусть и делают.

Что значит не брался?
Откуда ты такое вообще взял?

> Пусть лепят свои куличики из ..овна сами,

У тебя какая-то странная фиксация на куличиках и овне.
Не то чтобы это было слишком странно (все-таки форум девиантов), то ты это повторяешь из сообщения в сообщение.

> Если они не могут сделать так что бы это было ненапряжно для других, то как еще он мог сказать, что они делают это плохо?

А у нас цель комфорт дидов? Или выполненная задача?

Когда Торвальдс включил -Werror по умолчанию, то было тоже куча нытья.
Даже статейки писали
https://www.phoronix.com/news/Linux-5.15-Werror-Pain
и пытались ревертить
https://patchwork.kernel.org/project/linux-kbuild/patch/2021...

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

340. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (335), 18-Ноя-24, 21:59 
> Т.е слился? Предсказуемо.

Не интересно общаться на эти тему с людьми с альтернативной логикой.

> Что значит не брался?
> Откуда ты такое вообще взял?

Вот даже так. :)

Человек который разрабатывает файловую систему откровенно об этом и говорил.

> У тебя какая-то странная фиксация на куличиках и овне.
> Не то чтобы это было слишком странно (все-таки форум девиантов), то ты это повторяешь из сообщения в сообщение.

Потому что ничем иным rust в ядре на данный момент не является.

Пустили дититок в песочнице поиграться. Глядишь кто-нибудь наиграется и в нормальную разработку вольется.

> А у нас цель комфорт дидов? Или выполненная задача?

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

> Когда Торвальдс включил -Werror по умолчанию, то было тоже куча нытья.

И к чему это?

У тебя явная болезнь альтернативной логикой. Из-за этого совсем неинтересно.

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

262. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Ан (??), 18-Ноя-24, 12:25 
> Лол, сколько там комплектов Minix в мире работает?

Сколько всяких девайсов ThreadX (ныне Azure RTOS) было выпущено? Больше 10 миллиардов.
И это все микрокернелы.

и никто их на rust не переписывает, а linux проще изолировать чем переписывать

https://www.opennet.dev/opennews/art.shtml?num=62226

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

288. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 18-Ноя-24, 16:08 
Очередной дремучий человек не понимает, что если в языке нет, например, null, то и разыменновывания нулевого указателя тоже не будет. Парадокс блаба крепко держит опеннетовских анонимов.
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

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

то это не значит, что его в этой процессорной архитектуре нету. Это просто значит, что язык замёл мусор под ковер, спрятав null от программиста. А в ассемблере он есть.

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

177. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (177), 18-Ноя-24, 03:00 
Не бывает в рантайме zero-cost. Физически невозможно.

Либо деплоить пользователям бинарь, собранный в дебаг режиме и огребать по полной с просадками производительности, либо собираеть без рантайм-проверок и молиться, что а) «он абсолютно точно работает так же, как и дебажный» и б) «на дебажном всё–всё протестил, багов нет, мамой клянусь».

Пользователь находится в такой же дилемме Эскобара: либо у него просела производительность, но в случае неотловленного бага всё «безопасно» покрашится, либо использовать такой же «небезопасный» бинарь, как и на других языках, но только выплюнутный «самым безопасным на свете компилятором, верьте нам».

Наглядная иллюстрация: бинарник библиотеки librsvg старых версий, ещё на сишечке, весит порядка 250Кб. Тот же самый код, будучи строчка–в–строчку переписанным на Rust (о чём мэйнтэйнер с гордостью заявлял: вот мол, так легко взял и переписал) — даёт бинарник порядка 4.5 Мб. Нестрипаемых. Такой–то zero–cost.

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

217. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Прохожий (??), 18-Ноя-24, 09:53 
Надеюсь, вы слышали про разные способы линковки бинарников?

Zero-cost - это не про итоговый  размер бинаря. Раст при статический линковке добавляет в код свои стандартные библиотеки. Поэтому размер бинаря может быть большим. Но это не значит, что ваш конкретный код будет медленнее в итоге. Примеры здесь уже приводились.

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

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

Но зачем?

> либо собираеть без рантайм-проверок и молиться, что а) «он абсолютно точно работает так же, как и дебажный» и б) «на дебажном всё–всё протестил, багов нет, мамой клянусь».

Все типы, null-проверки, разбор инвариантов, и прочее compile-time будет работать как и в дебаге.
Если уже сравнивать с овнокодом на дыряшке - то там весь код "мамой клянуть тут не будет double free".

> Пользователь находится в такой же дилемме Эскобара: либо у него просела производительность,

С чего вдруг и/или 'на сколько'?
Вон авторам Fil-C норм просадки до 5 раз.

> но в случае неотловленного бага всё «безопасно» покрашится,

Именно так. Оно просто крашнется, а не ʼподарит рутʼ, ʼвыполнит чужой кодʼ или ʼубьет соседскую собакуʼ.
Краш это абсолютно предсказуемый сценарий, в отличии от.

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

Восхитительная чушь! Сам придумал?

> Наглядная иллюстрация: бинарник библиотеки librsvg старых версий, ещё на сишечке, весит порядка 250Кб. Тот же самый код, будучи строчка–в–строчку переписанным на Rust (о чём мэйнтэйнер с гордостью заявлял: вот мол, так легко взял и переписал) — даёт бинарник порядка 4.5 Мб. Нестрипаемых.

А можно пруфцов? Просто я уже насмотрелся на местных раст-кекспертов, которые даже не могли выключить debug при сборке.

И? Деревянная телега весит думаю 250—300 кг.
Лада гранта весит почти тонну. Следовательно телега это идеальный инструмент, не то что ваши бензиновые жужжалки.

> Такой–то zero–cost.

Если бы ты просто прочитал его определение, а именно
"Zero Cost Abstractions - the ability to move certain behaviors to compile time execution or analysis."
то вопросов у тебя было бы меньше.

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

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

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

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

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

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

Емнип рантайм проверки в расте только для размеров массивов. В си нет никакого способа убедится, что указатель не null во время компиляции, в rust - есть, часть сишных проверок уже не нужна. В си нет никакой возможности убедится, что нет double free, в rust для большого количества ситуаций - есть, опять же минус проверки. Вы бы в теме начали разбираться, прежде чем троллить.

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

322. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от laindono (ok), 18-Ноя-24, 19:41 
Там сейчас порядка 40 тысяч строк кода и почти 250 зависимостей в древе, при чём некоторые из них жирные прям на кодеген вроде serde или nalgebra. Я ради интереса посмотрел, сколько по итогу получается. Где-то 300-400 кб вышло до strip (285 после полной оптимизации на размер).

Ну тоесть да, туда запихнули дебажную инфу в полном объёме. На производительность это не влияет. Страдают только те, кто не может купить себе хотяб какое-то минимальное количество памяти (если меньше 8 гигов, то это у тебя какое-то железо для embedded или раритет). Зато мейнтейнер теперь будет читать читабельные issue при поломках.

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

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

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

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

Ну, ехал ты на гироскутере, и фирмварь державшая тебя на неустойчивой хрени - в рантайме поймала ловушку... а круто, да?! :). И это всего лишь потребиловка обычная, без особых требований.

А теперь представь что баг отловлен компилтайм. Некая разница, не так ли? Хотя конечно вы можете признать себя существом второго сорта и никогда не уметь вон такое, будет прикалывать тех кто так может, хорошо же когда всякие овощи - не конкуренты :)

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

283. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от _kp (ok), 18-Ноя-24, 15:49 
> Ну, ехал ты на гироскутере, и фирмварь державшая тебя на неустойчивой хрени
> - в рантайме поймала ловушку... а круто, да?!

Вы на Питоне не пишете? А то там, что не перехват ошибок, то только для того чтобы точно так же грохнуться, но с красивым длинным некрологом.
А перехват ошибок делают что бы обработать ситуацию и продолжить работу. ;)  


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

330. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 18-Ноя-24, 20:50 
> Вы на Питоне не пишете?

Нет конечно, за кого вы меня считаете?!

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

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

> А перехват ошибок делают что бы обработать ситуацию и продолжить работу. ;)

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


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

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

У вас произошло разыменновывание нулевого указателя/повторное освобождение памяти. Что вы тут обрабатывать собрались?

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

299. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от _kp (ok), 18-Ноя-24, 16:23 
> Что вы тут обрабатывать собрались?

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

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


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

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

О по гироскутера речь в соседней ветке
>а единичные надо обрабатывать

Где проходит разница между постоянными и единичными?
>а не резко прекращать работу

Образовался у вас висячий/нулевой указатель. Как вы собираетесь обрабатывать эту ситуацию? Только не заговаривайте зубы, а по шагам распишите, что тут нужно делать. Для полноты картины, представьте, что этот висячий/нулевой указатель лежит в самом начале пользовательских данных, и попытка сохранить результаты работы приведёт к его разыменовыванию.

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

317. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от _kp (ok), 18-Ноя-24, 17:48 
> Только не заговаривайте зубы,

Возникло, как минимум, событие "недоверия к работающему экземпляру ПО".
Тут его путь только в топку, или весь процесс или отдельные объекты.
Только не сброс или останов, а контролируемый перезапуск, или о откат состояния, с последующим восстановлеиием состояния близком к тому, что было до сбоя.


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

318. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 18-Ноя-24, 18:06 
>Возникло, как минимум, событие "недоверия к работающему экземпляру ПО".

В чём событие возникло? Опять же, давайте конкретики
>а контролируемый перезапуск

Это как?
>или о откат состояния

Откат состояния крайне плохо уживается с изменяемостью, которая в c/c++ буквально везде. Кроме того, это состояние нужно где-то хранить, а с учётом количества операций, нужных для банальных вещей, у вас на одно действие будут миллионы промежуточных переходов - у вас просто памяти не хватит

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

332. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 18-Ноя-24, 21:00 
> Если речь о ПО гироскутера, то немедленно запустить аварийный вариант контроля устойчивости,

Это как? И чем от основного отличается? И что значит - немедленно? Любая операция требует времени. И тут нельзя попросить подождать. И любая потеря состояния - грабель пачка.

> перезапустить ПО, или часть ПО, и попытаться установить предыдущий режим движения,

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

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

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

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

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

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

361. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от _kp (ok), 19-Ноя-24, 09:45 
>> ..ПО гироскутера
>> что значит - немедленно?
> Любая операция требует времени.

Ну, ладно пол-микросекунды на поддержание равновесия, и 10-40 mS на пользовательский интерфейс ;)


> Там контроллер обмотки мотора >>переключает.

Конечно! На гололом Расиберри только демонстрационный макет выйлет.
А в ПО для сопроцессора мотора и гироскопов проблемы с памятью маловероятны, в силу "дубовости" ПО, и отсутсвия выдрления или освобождения паияти.

>>А если это пытаться перезапустить

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

> уход в failsafe вполне себе опция.

Временно,на время перезапуска, или устранения сбоя без перезапуска.

Вот пример: Windows7+ при сбое видеодрайвера могнет экраном, перезапустит драйвер, и работа продолжается, а Windows Xp писал некролог белым по синему.

Что странного в нескольких активных экземплярах ПО, все серьёзные системы резервируют.

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

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

366. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (-), 19-Ноя-24, 12:32 
> Ну, ладно пол-микросекунды на поддержание равновесия, и 10-40 mS на пользовательский
> интерфейс ;)

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

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

> Конечно! На гололом Расиберри только демонстрационный макет выйлет.

Ну на именно распи такое, конечно, странно делать.

> А в ПО для сопроцессора мотора и гироскопов проблемы с памятью маловероятны,
> в силу "дубовости" ПО, и отсутсвия выдрления или освобождения паияти.

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

А Linux - импользуется где надо более сложные и продвинутые вещи чем в МК рулящий мотором можно затолкать. Вы же не будете обсчет где какой поезд на МК делать? И бортовой компьютер космического корабля - тоже. Особенно часть с UI. Тем не менее некоторые характерные для реалтайма constraints там будут очень кстати.

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

Это все усложняет и всегда будет риск что это работает не так как програмер себе представлял. Как по мне намного лучше работает - если оно простое и безбажное. А в более требовательных системах ставят N систем считающих параллельно - и вырубают/ребутают сглючившего, это и чисто хардварно можно - по расхождению управляющих сигналов.

> Хотя, тут уже логичнее ПО править, а не грамотно прикрывать гарниром баги.

Я про то и говорил - в вон том багов вообще быть не должно. А если возможны какие-то странные вещи типа сбоя проца или что там еще и это суперважно - есть иные подходы, типа выбора 2 из 3.

>> уход в failsafe вполне себе опция.
> Временно,на время перезапуска, или устранения сбоя без перезапуска.

Это от характера системы и сбоя зависит. Сбои так то тоже бывают как transient так и permanent. Если скажем девайс заметил отказ критичного датчика - окей, в этом случае он вообще не может корректно и безопасно работать.

> Вот пример: Windows7+ при сбое видеодрайвера могнет экраном, перезапустит драйвер, и работа
> продолжается, а Windows Xp писал некролог белым по синему.

Это тоже все - как повезет. Т.е. ребут GPU это довольно навороченое действо где много чего может пойти не так. При этом ни разу не нулевой риск десинка с софтом, и в целом - оно часто работает, но вообще результат этого может быть и undefined, никто не гарантирует успех всего этого. А я лично видел как восьмера локапнулась при потуге накатить апдейт видеодрайвера, графика умерла, что хотите то и делайте.

> Что странного в нескольких активных экземплярах ПО, все серьёзные системы резервируют.

В этом конечно ничего странного. Но это все сильно усложняет и удорожает.

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

В принципе - да. Но с именно panic как реакцией - для всяких околоуправляюших систем это может быть а может и не быть хорошей идеей.

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

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

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

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

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

33. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +8 +/
Сообщение от Аноним (-), 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. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Анонимусс (-), 17-Ноя-24, 15:09 
> Всё, что во время компиляции не вычислить, не бесплатно.

Таки да. Простот сишники заб(и|ы)вают на проверки.
А если проверять всё как нужно, то внезапно в си добавляется дофига рантайм проверок, т.к. компайлтам проверки практически отсутствуют. В отличие от раста.

Плюс на расте нужно уметь писать.
Вот прикольный тред users.rust-lang.org/t/rust-vs-c-vs-go-runtime-speed-comparison/104107/38
У чела раст оказался в 10+ раз медленнее. Но он не сказал "раст фигня!", а пошел разбираться что не так. И оказалось, что при идиоматическом написании кода можно получить код, который выполняет даже бытрее чем си. Хотя си, наверняка там тоже еще можно было поковырять.

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

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

Знаешь, что есть проблемное место. Собираешь - тестируешь. Ловишь - исправляешь.

Возвращаешь назад обычную Си. Просто еще один способ отловить ошибку.

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

154. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от diakin (ok), 17-Ноя-24, 20:23 
Кстати - да )
Ответить | Правка | Наверх | Cообщить модератору

223. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Прохожий (??), 18-Ноя-24, 10:13 
>Это хороший инструмент отлавливать ошибки.

Вообще, не очень хороший для сколь-либо крупного проекта.

>Знаешь, что есть проблемное место.

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

>Просто еще один способ отловить ошибку.

Ошибки гораздо эффективней ловить на этапе компиляции.

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

450. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от wyry (ok), 20-Ноя-24, 22:43 
>Вообще, не очень хороший для сколь-либо крупного проекта.

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

>Программа на Си - это часто везде одни сплошные проблемы, что и показывает многолетняя практика.

Необоснованный наброс, учитывая что пол мира написано и работает на C.

>Ошибки гораздо эффективней ловить на этапе компиляции.

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

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

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

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

> Необоснованный наброс, учитывая что пол мира написано и работает на C.

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

> Итог: Rust только защищает доступ. Не защищает от утечек памяти, не защищает  от "паники".

Паника это не ошибка. Это последствия критической ошибки, которую невозможно обработать.

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

Да и нет.
В С/C++ ты запросто приравняешь ENUM_1 к ENUM_2 так это все инты.
В других языках - у тебя это не выйдет, по типам не сойдется.

> В случае отсутствия таких ошибок код можно перекомпилировать любым мейнстримным компилятором.

Который может работать по другому.
Удачного дебага, бгг))


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

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

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

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

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

49. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (-), 17-Ноя-24, 14:47 
Это поделие надо сравнивать с Go или Java, но никак не с Rust.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

25. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +3 +/
Сообщение от Анонимусс (-), 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ообщить модератору

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

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

Не переписывать а перекоммилировать. Но в силу развития айти и интеллекта некоторые не понимают разницу между API, ABI и прочими глупостями. Наплодили, понимаешь, умных слов!

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

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

Удачи тебе перекомпилять древних хлам без переписывания)
Особенно если оно приклолочено гвоздями к хакам конкретного компилятора.

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

334. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 18-Ноя-24, 21:19 
> Удачи тебе перекомпилять древних хлам без переписывания)

А в чем проблема, собссно? Я скажу -std=чего там (C89 какой?). Компилеры его как умели так и умеют. Лемпелзив 1990, или какого там года - взял и просто скомпилился. Более древние сорцы чем это? K&R C чтоли? Если что на нем написано - может, бобик, таки, сдох и с него надо слезать? Но такой сорц найти реально разве что в музее, в реальном софте окружающем меня я вообще этот синтаксис ни разу не встречал.

> Особенно если оно приклолочено гвоздями к хакам конкретного компилятора.

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

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

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

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

267. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 18-Ноя-24, 13:31 
Зачем нужен зиг, если он не вбирает в себя развитие типизации, аналогичное ocaml/haskell/rust/ats?
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

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

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

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

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

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

10. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +2 +/
Сообщение от Аноним (-), 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ообщить модератору

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

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

> Искать лениво, но там оно не помогло.

А на моей памяти - ряд проектов таки под sanitizer'ами и выловили ряд багов и вулнов. Просто не все готовы платить такую цену чтобы постоянно в режиме условной "явы" работать, с инструментацией кода и кучей проверок.

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

279. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (278), 18-Ноя-24, 15:06 
> А на моей памяти - ряд проектов таки под sanitizer'ами и выловили ряд багов и вулнов.

Например тот же CLANG, судя по их аудиту
opennet.ru/opennews/art.shtml?num=60707

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

А ядро, на котором крутится и финасовая инфраструктура, и миллионы серваков, и даже пользоватльские девайсы, это достаточно критично чтобы уплати цену или еще нет?

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

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

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

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

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

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

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

-В большинстве ситуаций для успешного осуществления атаки злоумышленник должен контролировать используемый список отозванных сертификатов (CRL)
-Для успешного проведения атаки требуется отправка очень большого объёма пробных сообщений для расшифровки.
-Атака может привести к аварийному завершению приложения или утечке содержимого памяти процесса, выполняемого на стороне клиента
-уязвимость ограничена возможностью инициирования аварийного завершения процесса.
- ...
и так далее. Если кратко то все заканчиватся тем что при попытке выхода за границы - программа крашится ибо собрана с защитой.

Тут скорей хакер и солонка...

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

224. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Соль земли (?), 18-Ноя-24, 10:15 
Люди умудряются написать недетектируемые дыры.
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

264. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (264), 18-Ноя-24, 12:48 
Если в проекте используются анализаторы и прочие детекторы, очевидно, что в релиз попадут только те дыры, которые этими детекторами не находятся.
Ответить | Правка | Наверх | Cообщить модератору

277. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 18-Ноя-24, 14:52 
> Не поможет.
> Вот хрестоматийный пример из такой "ненужной" SSL либы:
> Целая куча дыреней в OpenSSL/LibreSSL - https://www.opennet.dev/opennews/art.shtml?num=58622

Так ты ее с asan/ubsan собери - и при попытке выйти за буфер процесс будет просто прибит нафиг, на манер паники в хрусте. А то что скорость просела и RAM больше жрет - так, блин, даже хруст например integer математику только в дебагбилдах санитизирует, по тем же причинам! А в рантайме таки упс :)

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

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

20. Скрыто модератором  +/
Сообщение от Гильгамеш (?), 17-Ноя-24, 13:54 
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

150. Скрыто модератором  +/
Сообщение от Советский инженер (ok), 17-Ноя-24, 19:39 
Ответить | Правка | Наверх | 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ообщить модератору

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

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

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

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

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

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

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

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

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

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

234. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +2 +/
Сообщение от Pathfinder (?), 18-Ноя-24, 10:32 
Да кто борется с Растом? Пускай себе развивается. Никто ему это не запрещает. Просто растаманы думают, что все должны обратиться в их веру. А на самом деле, никто никому ничего не должен.
Ответить | Правка | К родителю #34 | Наверх | Cообщить модератору

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

57. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 17-Ноя-24, 14:55 
Да, ты полностью прав.
СИ - это переносимый ассемблер *
И его делали, чтобы даже самые тупые прогаммеры (не осилившие фортран) могли наовнячить по быстрому какой-то код. Типа ПХП из 70х.

Про корректность или безопасность вообще никто не думал.
Как и про "архитектуру языка". Об этом начали думать примерно когда сочиняли АДУ.

* но придется обмазаться ifdef'ами. и подобрать нужную версию компилятора.
И надеяться, что создатели компилятора обработали UB и твой код не сделает тебе больно.
И молиться, что при переходе на след версию языка поведение не поменяется.
А так, в общем вполне переносимый))

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

70. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (1), 17-Ноя-24, 15:28 
Какая безопасность когда у тебя в 70-х сотня ЭВМ на всё США. Если в него залезет хакер и выйдет за пределы буфера, он ничего там не найдет. Кроме безысходности. Больше того сейчас критическая инфраструктура не использует раст, а просто использует закрытый контур. Точно так же как в 70-е. И в 1 году после р.х. Кому нужны твои котики на пхп сайтике? Даже от майнера там толку нуль.
Ответить | Правка | Наверх | Cообщить модератору

72. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Аноним (-), 17-Ноя-24, 15:39 
> Какая безопасность когда у тебя в 70-х сотня ЭВМ на всё США.

Именно! Но сейчас уже не 70е. А сейчас у тебя в компе/смартфоне куча важной инфы, от банковских/бизнес данных до твоего хоумвидео. И использовать закрытый контур для этого - так себе решение.
А сишники продолжают омнокодить как 70х.

> Больше того сейчас критическая инфраструктура не использует раст

И слава богу. Не дорос он еще до нее. Хотя первые примеры уже появляются - Вольво, Рено.

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

И кстати, что подозрительно - Ada Spark стали серебрянным спонсором Rust Foundation.

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

233. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от onanim (?), 18-Ноя-24, 10:30 
> аппаратные решения

то есть контроллеры с прошивкой на этом вашем богомерзком Си?

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

337. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Ароним (?), 18-Ноя-24, 21:50 
Нет. Спец микросхемы.
Ответить | Правка | Наверх | Cообщить модератору

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

Угу, щас! Разработать чип стоит несколько мегабаксов. Жаба зачастую побеждает - да и логику потом нехило апдейтить уметь, что с ASIC несколько не того.

Ну вот и не отливает никто ECU как именно ASIC, и фирмвара там и на си, и обновляемая. А хрусту пока вон там доверили "ECU". Ага, если детали посмотреть - питанием некритичной вспомогаловки из процика рулить ажно. Капец какая важная и реалтаймная задача, зато трезвона - как будто в космос слетали и вернулись 1 куском. А если копнуть, окажется что практик для "safety" хруста в смысле "отказов" и "потери управления процессом" - по сути еще и нет, и все только начинается. Автомотившики пытаются понять - можно ли это прикрутить к их нуждам. Конкретными спеками и гайдлайнами в потребном для индустриалов виде они, ессно, еще не разродились. А активный хаос в тулчейне активно этому мешает.

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

235. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Прохожий (??), 18-Ноя-24, 10:37 
>И слава богу. Не дорос он еще до нее.

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

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

237. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 18-Ноя-24, 10:39 
> Вроде, только организационно. Технически уже вполне годный язык, в том числе для критической инфраструктуры.

Да, организационно.
Но зная как всякие организации любят бюрократию, это тоже важный момент.
Вон сишники как гордятся своим ISO стандартом, просто неистово)
Хотя стандарт на половину состоит из "а ХЗ как тут сделать - пусть компилятор разбирается. Даже если это 2 числа сложить".


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

425. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 20-Ноя-24, 17:13 
> Вон сишники как гордятся своим ISO стандартом, просто неистово)
> Хотя стандарт на половину состоит из "а ХЗ как тут сделать -
> пусть компилятор разбирается. Даже если это 2 числа сложить".

Хреновый стандарт все же лучше чем никакого стандарта вообще - когда какая-то горстка хипстеров в ночнушке очередной раз корежит синтаксис яп по желанию левой пятки, у брутальных индустриалов возникает понимание что да, это в safety critical пока рано. Слишком дерганое пока.

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

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

Это просто хреновый стандарт.

> какая-то  горстка хипстеров в ночнушке

ууу... дед разбушевался))
просто посмотри кто в rust foundation

> очередной раз корежит синтаксис яп по желанию левой пятки,

вижу что корежит не синтаксис, а таких луддитов как ты

> у брутальных индустриалов возникает понимание что да, это в safety critical пока рано. Слишком дерганое пока.

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

ps наверное вольво и рено недостаточно индустриальные, ну подумаешь автомобили делают


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

446. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (446), 20-Ноя-24, 21:16 
>> Хреновый стандарт
> Это просто хреновый стандарт.

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

> просто посмотри кто в rust foundation

Какая разница? Если нечто выглядит как горстка хипстеров и выкатывает релиз как горстка хипстеров я называю это горсткой хипстеров.

И успех всяких серв-консерв и прочих фуксий - поражает всяческое воображение. Вместе с редсдох осями и чем там еще. Максимум что эти безблагодатные могут - даунплеить других и примазываться к чужим заслугам.

> вижу что корежит не синтаксис, а таких луддитов как ты

Т.е. если я не хочу вертухаться за очередной кривой крокозяброй в синтаксисе вываленой с лопаты - сразу луддит? :)

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

У них safety во многих случаях означает - сильно другое. Если у тебя что-то взорвалось, сошло с рельс, сгорело, угробило юзера и проч - с тебя спрсят сильно жестче чем за CVE, и вон тот хаос у хруста ему очков форы в этой отрасли совсем не добавляет.

> ps наверное вольво и рено недостаточно индустриальные, ну подумаешь автомобили делают

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

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

В именно safety critical - под тулчейном хруста как он девелопается сейчас - подпишется только суицидник, которому очень захотелось поиграть в оранжевой робе в баскетбол. С таким девелопом это единственное что ему светит если он подпишется под такой штукой.

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

467. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Аноним (-), 21-Ноя-24, 10:26 
>>> Хреновый стандарт
>> Это просто хреновый стандарт.
> Но когда нет никакого стандарта - жто еще хреновее.

Неа. Хреновый стандарт это просто обман и завышенные ожидания.
"У нас тут мега язык с офигенным стандартом!!"

А потом ты их спрашиваешь, в ты читал раздел 4 того самого стандарта?
Ну там где про всякие ненужные Conformance?
А именно, самый интересный пункт 5, который говорит


A strictly conforming program shall use only those features of the language and library
specified in this International Standard.2) It shall not produce output dependent on any
unspecified, undefined, or implementation-defined behavior, and shall not exceed any
minimum implementation limit.

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

> Сравнивать просто не с чем.

Так и тебе сравнить не с чем. В самом стандарте написано "как сложить 2 числа? а буй его знает, смотрите в доке компилятора".

> Видно же что архитектом там даже не пахнет, валится хаотичный крап и костыли.
> Отличный способ сделать большую помойку. Описание синтаксиса хруста в 2 словах.

Лол, ладно слышать такое от адепта АДЫ или фортрана.
Нот от любителей дыряшки))

> Какая разница? Если нечто выглядит как горстка хипстеров и выкатывает релиз как горстка хипстеров я называю это горсткой хипстеров.

Твое мнение очень важно для нас (с)

> И успех всяких серв-консерв и прочих фуксий - поражает всяческое воображение. Вместе с редсдох осями и чем там еще. Максимум что эти безблагодатные могут - даунплеить других и примазываться к чужим заслугам.

Амазон, андроид, клоудфаря. Нири, космик и арти. Драйверы asahi и nova/.
Да, не у всех получается, вон недавно обсуждали миниутилиту, которую чел не осилил, но нашлись люди которые его исправили.

> Т.е. если я не хочу вертухаться за очередной кривой крокозяброй в синтаксисе вываленой с лопаты - сразу луддит? :)

Нет, ты просто неосилятор.
Просто твой мозг не может осилить еще пару черточе или вопросиков.
В С++ тебе тоже не стоит идти, тк там тоже любят всякие &*.

> У них safety во многих случаях означает - сильно другое. Если у тебя что-то взорвалось, сошло с рельс, сгорело, угробило юзера и проч - с тебя спрсят сильно жестче чем за CVE,

А если у тебя пропало со счета 100500 денег?
Или тебе вырубили эл-во по всей стране?
Или взломали систему здравоохранения и больницы не работают?

> и вон тот хаос у хруста ему очков форы в этой отрасли совсем не добавляет.

Хаос он где? У тебя в головушке?
Это не мешает вольво и рено использовать раст в автомотив.

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

Да, почитай.
Я не уверен что ты поймешь, но попытаться стоит.

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

Ну пока кучу народу угробила Тойопта с кодом на СИшке.

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

Звучит не убедительно)
Особенно с учетом твоих пососных знаний по теме.

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

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

Операция сравнения подразумевает два операнда. Можно быть хорошим и хреновым только по сравнению с чем-то. Если второго операнда совсем нет - ну, упс. Нельзя сранвить что-то и "ничего". И тут хрустики пока - вообще null pointer dereference.

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

Пафоса много, толку - чуть. На хруст нет стандартов. Есть - голимые ночнушки с лопаты. И это уже довольно много кого достало. В Linux представители корпов уже прямым текстом объяснили что думают о таких практиках релизов.

Хотите услышать то же самое от автомотивщиков каких? И прочих фондов? Если это не придет в более адекватную форму - ну, они просто грохнут финансирование. Ибо как вы себе представляете safety critical применения когда какой-то трэш с лопаты в ночнушках хаотично вываливают?

> Так и тебе сравнить не с чем.

Объективная реальность в том что операция сравнения требует 2 операнда. Это не завсит от того кто проводит сравнение. Если у хруста нет стандарта, операция невалидна что так что сяк.

> Лол, ладно слышать такое от адепта АДЫ или фортрана.
> Нот от любителей дыряшки))

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

> Твое мнение очень важно для нас (с)

Это симметрично.

> Амазон, андроид, клоудфаря.

Знатная спайварь и галеры. Я должен сказать "вау"? Не, спасибо, моя жизнь без них лучше :)

> Нири, космик и арти.

Кто все эти люди?

> Драйверы asahi и nova/.

Которые пока в состоянии pie in the sky? На правах выкидышей и в ядре, и в видении мира эплом?

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

Я и заметил - серву пилили цать лет. Мозилле надоело, уволили тиму нафиг. Оно так и телепается где-то там. Недопиленое. Более 10 лет спустя. И это было круто и успешно, типа?

> Нет, ты просто неосилятор.
> Просто твой мозг не может осилить еще пару черточе или вопросиков.

Я считаю что хочу видеть улучшение а не ухучшение. И какой-нибудь C++ уже сделал синтакс тем еще брейнфаком. Да, я считаю что Rust зря следовал этому антипаттерну и еще более зря - не нанял себе архитектов для систематизации своего барахла, вместо этого вываливая хаотичные костыли в очередной ночнушке.

> В С++ тебе тоже не стоит идти, тк там тоже любят всякие &*.

Я C++ слегка умею ибо это superset C как таковой. Но сказать что мне нравится его синтаксис когда там местами брейнфакоподобные конструкции попадаются - это покривить душой.

В общем то вопрос в воздухе - когда кто-то сделает нормальный C-like яп без GC годный для системщины, без тех наслоений брейнфаков. На это есть некий спрос. Потому и сабж.

> А если у тебя пропало со счета 100500 денег?

Технически невозможно. А, да, кстати биткоин если что на C++ :)

> Или тебе вырубили эл-во по всей стране?

Никто не юзает хруст в safety critical системах такого плана. Потому что с его релизами ночнушек свет сам будет вырубаться нахрен. И сертифицировать этот хаос на safety critical это сильно отдельные мучения.

> Или взломали систему здравоохранения и больницы не работают?

Судя по списку CVE - хруст вовсе не гарантирует отсутствия таких приколов.

> Хаос он где? У тебя в головушке?

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

> Это не мешает вольво и рено использовать раст в автомотив.

Я в отличие от вас вхож в область и могу почитать новость, где сказано что это как раз НЕ критичная к безопасности подсистема. Какая-то aux вспомогаловка незначительная.

> Да, почитай. Я не уверен что ты поймешь, но попытаться стоит.

Я почитал. Это - мелкий вспомогательный МК не критичный к безопасности. Потому что сертицифировать что-то на хрусте под требования безопасности с вон теми релизными практиками - да удачи. Вы явно не подозреваете сколько времени и ресурсов может потребовать даже просто валидация тулчейна на тему что оно хотя-бы не генерит явно кривой код на уже существующей фирмвари.

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

> Ну пока кучу народу угробила Тойопта с кодом на СИшке.

Так для основного ECU на хрусте вообще ни у кого кода нет пока, внезапно. Опять сравниваем с отсутствующим операндом. И кстати хруст на том железе профачился бы точно так же. Ибо читайте гарантии и как это с MMU дружит. Это МК - у МК нет MMU. Как максимум есть упрощенный MPU но судя по тому что там было - те "системщики" явно не в курсе что так можно было и тем более как это сетапить.

Когда вы проинформируете себя о таких аспектах - мы сможем поговорить как равные. А покуда у вас хайп в голове и минмум знаний.

> Звучит не убедительно)

Так вон там новость была что автомотивщики только еще создали рабочую группу и пиляют "safe" диалект хруста под automotive.

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

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

476. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Аноним (-), 21-Ноя-24, 12:52 
> Пафоса много, толку - чуть. На хруст нет стандартов. Есть - голимые ночнушки с лопаты.

У тебя я вижу какая-та фиксация на лопатах и ночянушках.
Может тебе лучше к доктору?
Никто не заставляет тебя пользоваться найтли версией.

> И это уже довольно много кого достало. В Linux представители корпов уже прямым текстом объяснили что думают о таких практиках релизов.

Да, видел. Линукс жаловался на дидов, которые не хотят учить раст.

> Хотите услышать то же самое от автомотивщиков каких? И прочих фондов??
> Ибо как вы себе представляете safety critical применения когда какой-то трэш с лопаты в ночнушках хаотично вываливают?

О, так ты еще и инсайдер в автомотив. Какие только люди не встречаются на пеньке!
Ну и опять бред про ночнушки и лопаты...

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

Какие раздолбаи? Инжинегры тойопты? Писаки в ядре?
Разработчики крипто либ?

>> Амазон, андроид, клоудфаря.
> Знатная спайварь и галеры. Я должен сказать "вау"? Не, спасибо, моя жизнь без них лучше :)

Телефон у тебя айфоня или аврора?
Клоудфарю ты уже заблочил или кривишься, но на сайты с проверками ходишь?
Я уже насмотрелся на таких нонконформистов, которые на словах "лев толстой".

>> Нири, космик и арти.
> Кто все эти люди?

Погугли, почитай. Может за умного сойдешь.
ТОР я так понимаю тебе тоже не нужен?

>> Драйверы asahi и nova/.
> Которые пока в состоянии pie in the sky? На правах выкидышей и в ядре, и в видении мира эплом?

Который прошел сертификацию (мы же тут любим стандартизацию?) и заслужили благодарочку от Торвальдска лично.

> Я и заметил - серву пилили цать лет. Мозилле надоело, уволили тиму нафиг.

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

> Я C++ слегка умею ибо это superset C как таковой.

Был много лет назад. Сейчас это уже отдельный язык.

> Но сказать что мне нравится его синтаксис когда там местами брейнфакоподобные конструкции попадаются - это покривить душой.

Тем не менее на нем написано очень много софта. Возможно по пользователям даже больше чем на СИ.
Например винда/офис, фотошопы, хром, лиса.. Это реально миллиарды юзеров.
Я уже молчу про то что LLVM и даже GCC написаны на плюсах.

О чем это говорит? Что синтаксис это вторично - вопрос привычки и синдрома утенка.

> В общем то вопрос в воздухе - когда кто-то сделает нормальный C-like яп без GC годный для системщины, без тех наслоений брейнфаков. На это есть некий спрос. Потому и сабж.

Вот когда представят - тогда и поговорим.
Последняя попытка в виде Zig пока очень сырая и допускает например такие вещи как user after free.

> Технически невозможно. А, да, кстати биткоин если что на C++ :)

Т.е не на СИ? Не удивлен.

> Никто не юзает хруст в safety critical системах такого плана. Потому что с его релизами ночнушек свет сам будет вырубаться нахрен. И сертифицировать этот хаос на safety critical это сильно отдельные мучения.

И опят пукпук про ночнушки. У тебя там все ок?

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

Типичное "вы находитесь здесь")
Помню как аноны просто с пеной у рта доказывали "да не возьмут раст в ядро"

> А я немного догадываюсь как оно.

Да, куда же мне до вас)

>> Ну пока кучу народу угробила Тойопта с кодом на СИшке.
> Так для основного ECU на хрусте вообще ни у кого кода нет пока, внезапно. Опять сравниваем с отсутствующим операндом.

Я не с растом сравниваю. Я сравниваю if (СИ == 💩)
Пусть хоть на АДА пишут.

>> Звучит не убедительно)
> Так вон там новость была что автомотивщики только еще создали рабочую группу и пиляют "safe" диалект хруста под automotive.

Когда допилят - от тогда и посмотрим.

> А что прикольнее, с LLVM это еще и запросто окажется - проприетарщиной махровой.

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


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

479. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 21-Ноя-24, 13:23 
> Я считаю что хочу видеть улучшение а не ухудшение. И какой-нибудь C++ уже сделал синтаксис тем еще брейнфаком. Да, я считаю что Rust зря следовал этому антипаттерну и еще более зря - не нанял себе архитектов для систематизации своего барахла, вместо этого вываливая хаотичные костыли в очередной ночнушке. Я C++ слегка умею ибо это superset C как таковой. Но сказать что мне нравится его синтаксис когда там местами брейнфакоподобные конструкции попадаются - это покривить душой. В общем то вопрос в воздухе - когда кто-то сделает нормальный C-like яп без GC годный для системщины, без тех наслоений брейнфаков. На это есть некий спрос. Потому и сабж.

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

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

478. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Совершенно другой аноним (?), 21-Ноя-24, 13:18 
>> какая-то  горстка хипстеров в ночнушке
> ууу... дед разбушевался))
> просто посмотри кто в rust foundation

В комитете по стандартизации C (https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3373.pdf) участвуют представители таких фирм, как Intel, ARM, Apple, Red Hat, IBM, Meta/Facebook и Hewlett Packard. Присутствует представитель от одного из 5 платиновых спонсора Rust Foundation.

В комитете по стандартизации С++ (https://isocpp.org/wiki/faq/wg21), участвуют представители таких фирм, как NVIDIA, Google, Intel, Oracle, Microsoft. Есть как минимум 2 платиновых спонсора Rust Foundation.

Ответить | Правка | К родителю #429 | Наверх | 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ообщить модератору

122. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (335), 17-Ноя-24, 17:40 
https://en.cppreference.com/w/cpp/filesystem
Ответить | Правка | Наверх | Cообщить модератору

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

164. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (335), 17-Ноя-24, 22:05 
> А, т.е у тебя эти все ifdef просто завернуты в другую либу?
> Ну тогда програмы на электроне это круто, а JS - тоже полностью переносимый язык)

Попробуй сказать что JS непереносим. Посмеёмся. Он для этого и создавался. Вот только он интерпретируемый.

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

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

238. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Прохожий (??), 18-Ноя-24, 10:41 
>У rust с этим проблемы.

Нет никаких проблем, на самом деле, потому что за переносимость LLVM по большей части отвечает.

>Потому что надо много кода дублировать.

Где и зачем?

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

130. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (77), 17-Ноя-24, 18:02 
Это приложение научного назначения, а абсолютная кроссплатформенность - это, скорее, доказательство возможности этого. Проект не слишком прост алгоритмически. В частности, один из последних разработанных методов - многослойная нейронная сеть, обучаемая методом обратного распространения ошибки. А перед ним была линейная алгебра, включая матричные разложения.
По поводу различных ОС потребовались некоторые исследования на всех платформах. При этом macOS и Haiku установлены в VirtualBox под Linux, остальные три - на реальном оборудовании (даже специально нашел три б/у корпуса типа FlexATX, чтобы место сэкономить, и купил KVM). Вся разработка - под Linux, для остальных ОС - только сборка. Конечно, отличаются пути, пользовательские профили, папки конфигурации и т.д. Также есть отличия в синтаксисе пакетных файлов, которые применяются для инсталляции приложений и запуске бэкэндов. Надо сказать, что для Linux, UNIX и Windows данные файлы - те же самые.
Большим плюсом оказался следующий факт. Сейчас бэкэнды сделаны на C++. Но в принципе, Хотя такая задача не ставилась, отдельные модули могут быть составлены на любом языке программирования.
Ответить | Правка | К родителю #80 | Наверх | Cообщить модератору

142. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Аноним (-), 17-Ноя-24, 18:22 
> Большим плюсом оказался следующий факт. Сейчас бэкэнды сделаны на C++. Но в принципе, Хотя такая задача не ставилась, отдельные модули могут быть составлены на любом языке программирования.

Ну погоди. Тогда это не уникальная особенность СИ или плюсов.
Сделать некое ядро, к которому будет обращаться другой код это довольно распространенная практика.
И это может быть хоть С/С++, хоть swift (на нем вон кроссплатформенный браузер пишут), хоть какой-то V.

Но все равно на каком-то уровне будет те самые ifdefʼы.
Если тебе провезет - то тебе их писать не придется, тк их написал кто-то другой, например в СТД.

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

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

193. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от фф (?), 18-Ноя-24, 07:30 
вот прям интересно стало - можете привести пример кода, соответсвующего какому-либо стандарту С, без UB, и чтоб от компилятора зависел результат функции?
Ответить | Правка | Наверх | Cообщить модератору

239. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 18-Ноя-24, 10:49 
> вот прям интересно стало - можете привести пример кода, соответсвующего какому-либо стандарту  С, без UB, и чтоб от компилятора зависел результат функции?

Э... очень сомневаюсь.
Давай ты сначала приведешь пример "кода на СИ без UB".
Потому что даже сложение двух чисел может быть UB))

ps напоминает бородатый анекдот:
пришел Программер к Учителю и спросил "Учитель, а вы видели когда-то программу без бага?"
Тот ударил его палкой и сказал "Глупец, лучше представь себе баг без программы!"

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

270. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от фф (?), 18-Ноя-24, 14:06 
дык, если в программе есть ub, то компилятор вправе выдавать любой результат. Тут зависимость от компилятора очевидна.

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

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

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

197. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Stanislavvv (?), 18-Ноя-24, 08:18 

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

Вообще-то иногда и версию менять не надо — достаточно просто собрать с другими опциями оптимизации...

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

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

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

175. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от uis (ok), 18-Ноя-24, 02:01 
Создатели io_uring: "Там хотя-бы 10 тысяч активных соединений наберётся? У нас кор 2 дуо и гигабитка 10 миллионов обрабатывают."
Ответить | Правка | К родителю #92 | Наверх | Cообщить модератору

140. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +2 +/
Сообщение от Аноним (139), 17-Ноя-24, 18:20 
Напомнить, как Windows 3.11 зависала и крашилась?
Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

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

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

1) Любой процесс Win16 забывший толкнуть очередь сообщений окон гарантировал незабываемый экспериенс. Да, и конечно по первости я понятия не имел что так надо было. Это даже Win95 довольно неиллюзорно клинило так то - такая вот "многозадачность", когда попробуй вообще теперь этот процесс без ребута всей ОС прибить вообще?!

2) Программы могли довольно легко повредить память ОС или сделать что-то фатальное с железом, так что потуги пуска досовых (да и не только) программ часто заканчивались ребутом всего этого целиком. И Win95 страдал тем же самым по тем же причинам.

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

190. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Karl Richter (ok), 18-Ноя-24, 07:15 
Си не удовлетворяет потребности в безопасности. А об оптимизации, к сожалению, уже мало заботятся и полагаются на производительность аппаратуры.
Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

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

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

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

Неа, как раз с учетом того, что нынешняя поделка "медленнее примерно в 1.5-5 раз" да еще и GC сверху - раст очень нужен)

> но спрашивается, а зачем на него вообще тратят время и средства?

Твои что ли?
В опенсорсе парад велосипедов это норма.
100500 ДЕ, десятки дистрибутивов, сотни однообразных утилит разной степени кривости...

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

127. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от ffsdmad (ok), 17-Ноя-24, 17:58 
>> Получается, что Руст не нужен,
> Неа, как раз с учетом того, что нынешняя поделка "медленнее примерно в
> 1.5-5 раз" да еще и GC сверху - раст очень нужен)
>> но спрашивается, а зачем на него вообще тратят время и средства?
> Твои что ли?
> В опенсорсе парад велосипедов это норма.
> 100500 ДЕ, десятки дистрибутивов, сотни однообразных утилит разной степени кривости...

я думаю, что не стоит очаровываться на долгий период Рустом, поигрались и ладно

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

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

Он свою задачу выполняет? Выполняет.
Безопаснее чем сишка? Безопаснее.
Что тебе еще нужно?

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

> поигрались и

используем в проде. И не только мы.

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

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

Нужно:

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

Или

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

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

171. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (-), 18-Ноя-24, 00:19 
> 1. хотел гарантию невозможности получить доступ к памяти соседнего процесса

Интересное желание. Такое где-то реализовано?

> 2. Возможность нормальной условной компиляции

А можно пример языка, где, по вашему мнению, сделано так как нужно?
Или оно просто везде плохо, но от этого не легче?

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

243. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Прохожий (??), 18-Ноя-24, 11:02 
>1. В системах с общей памятью для всех процессов я бы хотел гарантию невозможности получить доступ к памяти соседнего процесса при использования только безопасного режима.

Это, вообще, как? Вот есть общая память, вот есть процессы, которые её сообща используют (из условия задачи). Но вам нужно, чтобы один процесс не залез в память другого процесса. Так память общая или уже не совсем?

У Раст, если что, есть такие типы, как RC, RefCell.

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

296. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (296), 18-Ноя-24, 16:16 
Очень просто. На уровне ядра сделать функцию для доступа к памяти с аргументом is_safe_call_from_rust_i_swear_to_god и все запросы к памяти из данного языка проводить через неё.
Если true, то позволять доступ к памяти, если нет, то kernel panic.
Ответить | Правка | Наверх | Cообщить модератору

187. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (185), 18-Ноя-24, 05:33 
Это без оптимизаций. Они лишь реализовали необходимый функционал..
Ответить | Правка | К родителю #95 | Наверх | Cообщить модератору

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

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

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

Верим, верим.
Но лучше уж на JS.

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

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

286. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 18-Ноя-24, 15:56 
> вот его в Си не хватает

Conan

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

134. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от 12yoexpert (ok), 17-Ноя-24, 18:07 
его лоббируют майки
Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

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

Его лоббирует гугл.
Не просто так они весь дыряшечный код заменяют на раст или на крайняк на с++.
Хотя если посмотреть на поддерживающих Rust Foundation, то там и AWS, и Meta, и Huawei... и это только платиновые)))

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

179. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от keydon (ok), 18-Ноя-24, 03:20 
https://foundation.rust-lang.org/about/
Гугл, майкрософт, амазон, мета.
Раньше еще нагляднее было из каких организаций, но достаточно погуглить резюме этих членов.
Самое эпичное из того что видел "я не кодю на расте и вообще не кодер, но работала с парламентами и правительствами и такими организациями как гугл и мета" (немного вырвал из контекста, но общий смысл думаю понятен).
Ответить | Правка | Наверх | Cообщить модератору

230. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Аноним (-), 18-Ноя-24, 10:25 
> https://foundation.rust-lang.org/about/
> Гугл, майкрософт, амазон, мета.
> Раньше еще нагляднее было из каких организаций, но достаточно погуглить резюме этих членов.

Т.е это компании которые делают программы и сервисы которыми пользуются миллионы людей (или даже миллиарды)? Например - винда и хром.

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

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

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

161. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +2 +/
Сообщение от px (??), 17-Ноя-24, 21:49 
Нет, всё ещё нужен. Ты просто не разбираешься. Эта штука для того, чтобы проверять косяки прямо во время выполнения, разменивая производительность на, своего рода, безопасность. А Rust, чтобы исключить сам класс ошибок работы с памятью во время выполнения и ничего не проверять.
Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

180. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от keydon (ok), 18-Ноя-24, 03:22 
Огласите пожалуйста весь список ошибок которые раст гарантированно исключает.
Ответить | Правка | Наверх | Cообщить модератору

231. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Соль земли (?), 18-Ноя-24, 10:25 
Нет указателей на удаленные данные, поскольку область видимости значения и ссылки на него сверяются.
Нет состояния гонки, поскольку значение по ссылке с записью можно передать только один раз (чтобы снова передать, нужно вернуть).
Нет сборщика мусора, поскольку значения удаляются сразу при выходе из области видимости.
Ответить | Правка | Наверх | Cообщить модератору

242. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Прохожий (??), 18-Ноя-24, 10:55 
Я добавлю к тому, что выше написано.

Строгая типизация означает невозможность кривого приведения типов.

Паттерн-матчинг проверяет все возможные варианты.

Индексы в масивах всегда неотрицательные числа.

Выход за пределы массива проверяется.

Нет UB.

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

195. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от ffsdmad (ok), 18-Ноя-24, 08:10 
но эти исключения поделились на unsafe, вы о чём
Ответить | Правка | К родителю #161 | Наверх | Cообщить модератору

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

Что ты там программируешь? Хеллоувролд из rust book написал?

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

229. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Соль земли (?), 18-Ноя-24, 10:20 
Получается, что ты написал, не подумав. А зачем тогда на тебя родители тратили время и средства?
Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

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

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

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

А содержимое браузера было "слегка форматированный ХТМЛ".
Многие поделки из той эпохи, типа линкса или дилло, даже не поддерживают CSS в полном объеме.

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

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

112. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от тоже Анонимemail (ok), 17-Ноя-24, 17:29 
Напомню, что современный браузер - это фактически виртуальная машина и среда для исполнения ПО.
Разумеется, к прикладному софту, не требующему оптимизации, браузеры не относятся.
Но относятся к постоянно и динамически изменяющемуся софту, обеспечивающему обратную совместимость. Что неизбежно сопровождается неуклонным ухудшением оптимизации.
Ответить | Правка | К родителю #99 | Наверх | Cообщить модератору

117. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (92), 17-Ноя-24, 17:35 
Вспоминаю вэб конца 2000х и начала 2010х, тогда был расцвет нетбуков на немощных атомах, и тот вэб был идеален и в плане дизайна вэб страниц и в плане информационного наполнения. И всё летало, не лагало, сейчас же браузер наверное даже более требователен к ресурсам, чем игры AAA.
Ответить | Правка | Наверх | Cообщить модератору

121. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от тоже Анонимemail (ok), 17-Ноя-24, 17:40 
> Вспоминаю вэб конца 2000х и начала 2010х, тогда был расцвет нетбуков

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

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

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

136. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от 12yoexpert (ok), 17-Ноя-24, 18:08 
> С точки зрения ПО, которому не критична производительность (а это 90% всего софта) - это заведомо более дешевое и перспективное решение, чем "выкинуть и написать правильно".

пока бинарник на расте будет грузиться в раму, сишная прога уже отработает

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

249. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Прохожий (??), 18-Ноя-24, 11:31 
Вы хотели, сказать "вывалится с сегфолотом"? 😂
Ответить | Правка | Наверх | Cообщить модератору

172. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (168), 18-Ноя-24, 00:20 
> Раст утверждает: "весь сишный код нужно выкинуть и переписать".

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

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

173. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +2 +/
Сообщение от Аноним (-), 18-Ноя-24, 00:25 
> Раст утверждает: "весь сишный код нужно выкинуть и переписать".

Эээ, если с тобой уже начинают ЯП разговаривать, то наверное стоит отдохнуть.
Ну или к доктору сходить.

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

Ценой от 1.5 до 5 раз по производительности.
Отличное решение! Просто генитальное!
Ты случайное не в Интеле/Амд работаешь?

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

Подумаешь ворд будет тормозить в 3 раза.

Я уже молчу про такую особенность

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

которая не только не позволит использовать системные либы, но и сделает вендорлок на одном компиляторе


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

181. Скрыто модератором  –1 +/
Сообщение от keydon (ok), 18-Ноя-24, 03:24 
Ответить | Правка | К родителю #96 | Наверх | Cообщить модератору

191. Скрыто модератором  +/
Сообщение от Karl Richter (ok), 18-Ноя-24, 07:21 
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

125. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +4 +/
Сообщение от Филипп Филиппович (ok), 17-Ноя-24, 17:55 
Оно мило, может иметь некоторое ограниченное применение, но всё-таки это прикрученный контроль в рантайме, отсюда и оверхед, в том числе и по памяти. А современный подход -- максимум контроля в compile-time, а в рантайме -- только то, что никак при компиляции не сделать. В чистом C сделать контроль многих вещей при компиляции в общем случае почти нереально. В C++ -- тоже только при соблюдении определённого стиля программирования (ибо C++ без ограничений допускает всё, что допускает C, и имеет потому все грабли C).
Ответить | Правка | Наверх | Cообщить модератору

201. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 18-Ноя-24, 09:07 
> В чистом C сделать контроль многих вещей при компиляции в общем случае почти нереально.

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

Программисты, всё же, в большинстве ситуаций, могут доказывать, что их код работает. Они делают это неформально, и как правило они не 100% уверены в своих доказательствах, но даже в этом случае они близки к полноценному доказательству, им совсем чутка не хватает мозгов или времени. Проблема в том, что программист в большинстве случаев усложняет программу ровно до того момента, когда он теряет способность строго доказывать утверждения про неё. После этого он начинает испытывать огромное нежелание делать ситуацию сложнее, но и упрощать ему не очень хочется, потому что придётся переписывать полпрограммы. Всё что надо -- это железный доказыватель, который будет чуть сильнее в доказательствах, чем программист. И это можно, современные математические тулзы это демонстрируют. И такие доказательства, потенциально, могут давать больше гарантий чем Rust, причём с меньшими ограничениями накладываемыми на программиста. Из возможных проблем тут, разве что выход сложности кода за пределы того, что программист может понять даже приблизительно. Железный доказыватель сможет доказать про код, что тот правильный, или указать на неправильность, но не понимая доказательства программист не сможет ничего исправить.

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

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

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

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

174. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от uis (ok), 18-Ноя-24, 01:57 
> Защита от проблем с памятью обеспечивается благодаря применению 128-разрядных указателей MonoCaps с метаданными для проверки типов и отслеживания границ буферов

Ща придёт МЦСТ и скажет "а у нас так в железе давно работает".

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

182. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 18-Ноя-24, 04:07 
Диалект языка Си - Cyclone, некто не слышал а? велосипеды умеем городить? А наработки дедов взять нельзя?
Ответить | Правка | Наверх | Cообщить модератору

188. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (188), 18-Ноя-24, 06:39 
FUGC (Fil's Unbelievable Garbage Collector)
c ЧСВ у чувака всё в порядке, как в общем то и у линуса
Ответить | Правка | Наверх | Cообщить модератору

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

192. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Пупсик (?), 18-Ноя-24, 07:26 
Я нубик. Объясните в чем была проблема добавить в Си/++ "безопасные функции"работы с памятью, а не создавать новый язык?
Ответить | Правка | Наверх | Cообщить модератору

194. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +3 +/
Сообщение от фф (?), 18-Ноя-24, 07:39 
дык безопасных функций в С и так полно.
во-первых, надо как-то заставить программистов ими пользоваться.
во-вторых, в них можно передать неправильные данные, и тогда все равно всё сломается.
в С принято верить программисту - если он написал что надо сломать стек, значит надо - вдруг это такая хитрая оптимизация?
Ответить | Правка | Наверх | Cообщить модератору

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

208. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –2 +/
Сообщение от awoland (ok), 18-Ноя-24, 09:24 
Пресловутая "небезопасность" C и C++ в большей степени заключается в криворукости программистов. Просто С и С++ позволяет больше свободы для кода, которой очень любят пользоваться, не пользуясь при этом мозгами... "Безопасные" языки в этом плане более ограничены. При этом они сами, их ядро, рантайм или бутстрап написаны на том же C/C++ ...
Ответить | Правка | К родителю #192 | Наверх | Cообщить модератору

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

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

>При этом они сами, их ядро, рантайм или бутстрап написаны на том же C/C++ ...

Компилятор Rust написан на Rust. А до того, как это стало возможным, использовался OCaml.

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

225. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +3 +/
Сообщение от Аноним (225), 18-Ноя-24, 10:15 
В новый стандарт с++ безопасных функций добавили целую кучу.

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

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

236. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (-), 18-Ноя-24, 10:38 
> Я нубик. Объясните в чем была проблема добавить в Си/++ "безопасные функции"работы с памятью, а не создавать новый язык?

1. Диды
Представь что ты 20 лет назад выучил С99, а теперь придется напрячь мозг и выучить что-то новое!
Это просто какое-то хамство заставлять уважаемого деда напрягаться!

2. Совместимость
Вот сабж из статьи - не совместим с ABI.
Т.е тебе придется менять компилятор. А у тебя зарыто 100500 хаков для старого компилятора.
И те кто их писали уже давно померли или в деменции.

В такой ситуации "взять новый безопасный С/C++" может быть равносильно "посмотреть на старый код и написать заново".
А тут уже можно и более современный язык выбрать.


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

246. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –2 +/
Сообщение от Аноним (225), 18-Ноя-24, 11:10 
Так ты сам раст не можешь выучить. Почему это за тебя должно делать кто-то другой?
Ответить | Правка | Наверх | Cообщить модератору

257. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +2 +/
Сообщение от Прохожий (??), 18-Ноя-24, 11:50 
Rust - пока гораздо более простой язык, чем C++. Его в первом приближении можно освоить за примерно 30-50 часов.
Ответить | Правка | Наверх | Cообщить модератору

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

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

386. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (386), 19-Ноя-24, 18:47 
Может и выучишь, но писать на нём от этого легче не будет. Для нормального пользования языками навроде раста и си нужно знать устройство машины под которую пишешь, иначе без разницы на чём писать - на пистоне или крестах, всё равно производительность будет никакая. Да и это просто больно, без этого всё правила вводимые растом будут казаться просто бессмысленными догматами, которые ничем не обоснованы.
Ответить | Правка | К родителю #257 | Наверх | Cообщить модератору

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

490. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (373), 26-Ноя-24, 15:47 
>Представь что ты 20 лет назад выучил С99, а теперь придется напрячь мозг и выучить что-то новое!

Ну очевидно же, С23!

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

285. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от BorichL (ok), 18-Ноя-24, 15:53 
Ответ очень прост: Тем, кто осилил Си, это не нужно, ну а неосиляторы пилят языки для неосиляторов.
Ответить | Правка | К родителю #192 | Наверх | Cообщить модератору

289. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 18-Ноя-24, 16:08 
> Ответ очень прост: Тем, кто осилил Си, это не нужно,

А можно пожалуйста хотя бы пару имен?
Потому что даже в ядре диды допускают ошибки.

> ну а неосиляторы пилят языки для неосиляторов.

Отличная логика, прям как у типичного сишника)


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

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

Я больше скажу, даже в процессорах совершают ошибки!  И в безопасных компиляторах тоже. Смешно читать про "безопасные" компиляторы для компов на неймановской архитектуре.


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

297. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 18-Ноя-24, 16:21 
> Я больше скажу, даже в процессорах совершают ошибки!  И в безопасных
> компиляторах тоже. Смешно читать про "безопасные" компиляторы для компов на неймановской  архитектуре.

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

Отличный подход!


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

300. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от BorichL (ok), 18-Ноя-24, 16:26 
> Типа если у нас в процессоре может быть ошибка, то будем дружно
> выходить за пределы буфера и портить чужую память?
> Пока рак не вылечим, то переломы пусть сами как-то зарастут?
> Отличный подход!

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

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

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

Слава богу.

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

А чего они их постоянно делают, то в ядре, то в криптолибах?
Покажи мне хотя бы одно осилятора?

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

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

> всё тоже самое можно реализовать и без разработки очередного языка.

Да, мы как раз читаем чего стоит реализовать это в дырявых-dy-design языках.
Замедление в 1,5-5 раз, сборщик мусора...
Предыдущие попытки типа MiraclePtr тоже не взлетели.

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

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

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

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

290. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от BorichL (ok), 18-Ноя-24, 16:10 
> Ответ очень прост: Тем, кто осилил Си, это не нужно, ну а
> неосиляторы пилят языки для неосиляторов.
Ответить | Правка | К родителю #285 | Наверх | Cообщить модератору

301. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Аноним (371), 18-Ноя-24, 16:27 
В том, что у этих двух языков нет выразительной возможности описывать требуемые вещи. Это всё равно, что дать вам простой карандаш и попросить нарисовать цветную картину. А если к этим языкам добавть "цвета", то это уже будет новый язык - cyclone/ats/rust. По научному это называется типобезопасность - выражение дополнительной информации через типы.
Ответить | Правка | К родителю #192 | Наверх | Cообщить модератору

198. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 18-Ноя-24, 08:51 
> не позволяет связывать собираемый в Fil-C код с бинарными библиотеками и объектными файлами, собранными другими компиляторами
> объясняется тем, что при связывании с незащищённым кодом теряется суть предлагаемой в Fil-C защиты и возникает иллюзия защищённого приложения - при наличии совместимости ABI, у разработчиков возникал бы соблазн собрать в Fil-C лишь отдельные файлы, не утруждая себя портированием всего проекта.

Это подложное объяснение. Проблема не в том, что программисты такие, проблема в динамическом отслеживании памяти. Если вызванный memcpy не скомпилирован при помощи Fil-C, то Fil-C не может вообще ничего. Если бы memcpy был бы снабжён аннотацией, декларирующей какие адреса memcpy может трогать, то можно было бы memcpy написать на ассемблере и ABI ему приделать C'шный. Да, memcpy при этом имел бы возможность косячить, но если бы он не косячил, то Fil-C мог бы проверить аргументы и убедиться что вызывающий код не косячит. Без аннотаций же Fil-C может разве что верить в то, что программист вызывает memcpy правильно. Ну или проверять работу memcpy в рантайме, для чего memcpy тоже надо компилировать при помощи Fil-C.

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

222. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Соль земли (?), 18-Ноя-24, 10:11 
То есть оно не заставляет грамотно писать программы, как Rust, и проверять код ДО сборки программы, а присобачивает доп инфу прямо в готовый код, влияя на производительность, размер и т.д.
Ответить | Правка | Наверх | Cообщить модератору

232. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от ijuij (?), 18-Ноя-24, 10:29 
Я так понимаю, что Rust привлекателен для тех, кто предпочитает не углубляться в управление памятью. Существует множество ресурсов, посвященных работе с памятью в C, включая темы переполнения буфера и неопределенного поведения. Тем не менее, некоторые программисты про это всё забывают, потому им легче перейти на Rust не напрягая свой мозг.


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

250. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (225), 18-Ноя-24, 11:32 
Если бы раст был привлекательным все бы на него перешли. Но такого и близко нет. То что в больших корпах фанатики пытаются что-то ковырять так это ничего не значит. В корпах что-то постоянно ковыряют, а потом выкидывают в мусорку и никогда больше не вспоминают. Менеджер отчитался и забыл и перешёл в следующую компанию.  
Ответить | Правка | Наверх | Cообщить модератору

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

Если бы автомобили были привлекательны, то на них бы все перешли, но такого и близко нет - на улицах сплошные лошади (Аноним из 185х годов).

> То что в больших корпах фанатики пытаются что-то ковырять так это ничего не значит.

Правильно! Надо ориентироваться только на васянов которые пилят свои поделки на том что знают и на легаси проектах которые сидят на стандартах 20 летней давности.
(С99 было заменено в ведре только в 2022 году.. на С11)

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

Было бы правда, если бы код выкинули.
Но нет - он уже работает у пользователей.

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

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

341. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (335), 18-Ноя-24, 22:13 
> Только раст это паровой автомобиль. Который не прижился и научил нормальных людей что так делать не надо.

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

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

354. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Прохожий (??), 19-Ноя-24, 02:14 
Очевидно здесь, скорее другое. Вы не приводите сколь-либо значимой аргументации для подкрепления вашего мнения. Это свидетельствует или о том, что вы просто не совладали (то есть, Питон или Джава Скрипт - это ваш предел), или даже не начинали осваивать язык.
Ответить | Правка | Наверх | Cообщить модератору

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

Ещё раз спрошу. А программисты из ведущих фирм планеты (Гугл, Амазон, Клаудфлэр, Дискорд, Дропбокс) об этом знают? Вот недавно новость, кажется, о Volvo мелькала.

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

251. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +4 +/
Сообщение от Аноним (-), 18-Ноя-24, 11:33 
> Я так понимаю, что Rust привлекателен для тех, кто предпочитает не углубляться в управление памятью.

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

> Существует множество ресурсов, посвященных работе с памятью в C, включая темы переполнения буфера и неопределенного поведения.

Но к сожалению даже программисты из ядра их не читают.
Поэтому ошибки по памяти в С/С++ коде одни и те же десятки лет.

> Тем не менее, некоторые программисты про это всё забывают, потому им легче перейти на Rust не напрягая свой мозг.

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


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

302. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 18-Ноя-24, 16:33 
>Существует множество ресурсов, посвященных работе с памятью в C, включая темы переполнения буфера и неопределенного поведения. Тем не менее, некоторые программисты про это всё забывают

И что там эти множество ресурсов делают? У сишников было несколько десятилетий, чтобы взять любую систему доказательств, хоть coq, хоть нечто проще, как систему типов ocaml или haskell и внедрить в си. Но тем не менее, даже сейчас, когда уже есть rust, сишники так и не собираются даже начать это делать.

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

305. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 18-Ноя-24, 16:40 
Зато вместо этого, сишники, с опозданием лет на 50 наконец-то изобрели basic.
Ответить | Правка | Наверх | Cообщить модератору

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

351. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Прохожий (??), 19-Ноя-24, 01:58 
Этой штукой невозможно будет полноценно тестировать сколь-либо сложный код. А для простого кода она не нужна.
Ответить | Правка | Наверх | Cообщить модератору

263. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от fuggy (ok), 18-Ноя-24, 12:31 
Проект полностью доведён до готовности. Только нужно использовать кастомную libc. И ещё чтобы сбилдить основные проекты нужно их доработать напильником. А так да полностью готов. Только нужно использовать 128-битные указатели и добавить GC. И ещё ограничивает каламбур типов, которое не то чтобы редко используется для оптимизации.
Ответить | Правка | Наверх | Cообщить модератору

284. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +4 +/
Сообщение от Аноним (284), 18-Ноя-24, 15:51 
Я вот одного не пойму. У многих "одобренных" языков типа Pascal, Swift, Rust (с unsafe) - те же самые проблемы. А наезжают почему-то только на C++. Умные указатели вполне позволяют работать с памятью безопасно. Просто думать надо головой, соблюдать дисциплину, кодировать качественно. А то сначала понабирают модных вкатунов, и потом визжат про "плохой" C++, и как надо всем побежать за "большевиками" срочно переписывать на расте.
Ответить | Правка | Наверх | Cообщить модератору

304. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –2 +/
Сообщение от Аноним (371), 18-Ноя-24, 16:39 
>У многих "одобренных" языков типа Pascal, Swift, Rust (с unsafe) - те же самые проблемы.

Первый язык из этого списка почти никому не нужен, второй - нужен только яблочникам, и то не всем, у третьего такой проблемы нет, как минимум без unsafe.
>Умные указатели вполне позволяют работать с памятью безопасно

Вы давно видели умные указатели в си?
>Просто думать надо головой, соблюдать дисциплину, кодировать качественно

И как вам умные указатели помогут против npe, а если точнее против ub, ибо разыменовывание nullptr - это ub? Много вам умные указатели помогут против утечек памяти в двусвязных списках? А в многопоточных программах?
>А то сначала понабирают модных вкатунов, и потом визжат про "плохой" C++

В первую очередь как раз таки эти вкатуны, а то и даже не вкатуны, видившие C++ только на картинках и рассказывают о том, как умные указатели всё решат.

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

308. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (284), 18-Ноя-24, 16:51 
Выберите безопасное подмножество C++ и строго придерживайтесь, не выходя за рамки. Проблема UB сильно преувеличена и раздута любителями поспекулировать на пустом месте. Если вам очень хочется экспериментировать, а не заниматься полезным делом, то можно точно также влезть в дебри и сгенерировать непредусмотренную ситуацию и на других языках. Только - зачем?
Ответить | Правка | Наверх | Cообщить модератору

310. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –2 +/
Сообщение от Аноним (-), 18-Ноя-24, 16:57 
> Выберите безопасное подмножество C++

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

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

И надейтесь что в след версии компилятора список UB не изменится)

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

Heartbleed это достаточное преувеличение?

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

312. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 18-Ноя-24, 17:14 
OpenSSL написан на C, Assembly, Perl. А я здесь писал про C++.

Чтобы безопасно программировать на Си - нужен как минимум актуальный работающий транспайлер (типа как CFront только с учётом накопившихся требований по безопасности за предыдущие десятилетия). Или же использовать исключительно хорошо отлаженные библиотеки. Лично мне в Си не хватает синтаксического сахара для продуктивной работы.

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

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

И где он? Первый же nullptr - и сразу же появляется UB.
>Проблема UB сильно преувеличена и раздута любителями поспекулировать на пустом месте.

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

Давайте, сгененрируйте прочу памяти через nullptr в ocaml, haskell, idris, и прочих языках.

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

350. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (479), 19-Ноя-24, 01:57 
Если источник данных неизвестен, то указатель должен быть проверен до разыменования.

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

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

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

352. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Прохожий (??), 19-Ноя-24, 02:09 
Да, на Плюсах можно выбрать стиль и ему следовать. Основная проблема в том, что это следование НЕ ОБЯЗАТЕЛЬНО. Легко представить себе ситуацию, когда вы отвлеклись, куда-то засмотрелись, вернулись к работе и пропустили что-то, даже не заметив этого. Компилятор эту вашу оплошность не заметит, потому что он ничего не знает, что вы придерживаетесь какого-то стиля. Хорошо, если ошибка вылезет где-то на тестах. Но часто не вылазит, что и демонстрирует многолетняя практика использования Плюсов разными людьми и последующее обнаружение багов спустя много лет.

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

Итого. Чтобы начать безопасно программировать на Плюсах, надо совершить кучу подготовительных усилий. А потом ещё и кучу последующих. Учитывая, что Плюсы - язык не тривиальный, в итоге тратится невообразимая куча времени сначала на его обучение в принципе, потом на выработку определённого стиля, а потом ещё на соблюдение этого стиля. И всё ради чего (если речь идёт о новом проекте)?

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

355. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 19-Ноя-24, 03:39 
Если вы строго придерживаетесь конкретного стиля кодинга в Плюсах, то сам этот стиль по определению не даст вам оступиться по неосторожности.

Тем не менее, если вам нужен дополнительный "чекер стиля" для контроля нерадивых коллег по цеху, то здесь действительно пригодился бы отдельный инструмент. Уже предлагали несколько экспериментальных вариантов решения: cppfront, carbon, safecpp. Честно признаюсь, все они мне не нравятся из-за своей избыточности (overengineering).

Моё мнение такое - чтобы снизить порог входа в C++, уже давно напрашивается необходимость создания альтернативной стандартной библиотеки. Как это сделать? Смотрим в сторону Qt, идеи для функционала берём из PHP, Python, Tcl. Удобную для понимания и использования для типовых бизнес задач, а не для хакерствующих любителей чёрной магии из тёмных закоулков стандарта. Удобная альтернативная библиотека C++ для бизнеса. Без синтактических извращений, без чёрной магии шаблонов, без паттернов усложнения ради понтов, которые ухудшают возможность понимание кода из-за многословности и неуместного нагромождения символов. Задача - снизить когнитивную нагрузку, чтобы по итогу было значительно меньше логических ошибок.

> И всё ради чего (если речь идёт о новом проекте)?

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

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

377. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 19-Ноя-24, 14:20 
>Если вы строго придерживаетесь конкретного стиля кодинга в Плюсах, то сам этот стиль по определению не даст вам оступиться по неосторожности.

Не знал, что стиль расстановки скобочек влияет на безопасность. Так какой стиль лучше - K&R или Allman?
>Уже предлагали несколько экспериментальных вариантов решения: cppfront, carbon, safecpp

Тут нужно что-то вроде системы типов ocaml/haskell, а то и более продвинутую, и внедрять это нужно прямо в компилятор, и не завтра, а лет сорок назад.
>Моё мнение такое - чтобы снизить порог входа в C++, уже давно напрашивается необходимость создания альтернативной стандартной библиотеки.

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

Разве что по сравнению с js-ом или аналогом
>доступ к огромному количеству готовых библиотек, готовых решений

Готовых библиотек с дырками. Недавно была новость, как в хромом парсер json на раст переписали, ибо плюсовики даже парсер json написать не могут. Это ли не позор? Причём можно понять, когда парсер меняют с условного питона на си, ради скорости, но им было проще взять чужой парсер, чем привести свой к спецификации и отсутствию порчи памяти
>простой деплоймент

Ститически собранный go или ocaml уже давным давно изобретены.

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

378. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 19-Ноя-24, 16:15 
>Тут нужно что-то вроде системы типов ocaml/haskell, а то и более продвинутую, и внедрять это нужно прямо в компилятор, и не завтра, а лет сорок назад.

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

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

Обращение внимания исключительно на типизацию не учтёт всех особенностей, которым соответствует C++ в его текущем виде. C++ развивается, и его возможности продолжают расширяться, в том числе и за счёт улучшений в типизации.

>Готовых библиотек с дырками. Недавно была новость, как в хромом парсер json на раст переписали, ибо плюсовики даже парсер json написать не могут. Это ли не позор? Причём можно понять, когда парсер меняют с условного питона на си, ради скорости, но им было проще взять чужой парсер, чем привести свой к спецификации и отсутствию порчи памяти

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

>Ститически собранный go или ocaml уже давным давно изобретены.

C++ предоставляет гибкость в деплое, что позволяет избежать необходимости использования контейнеров, таких как Docker. Хотя другие языки также предлагают статическую сборку, это не отменяет преимуществ, которые предоставляет C++ в плане управления зависимостями и эффективности деплоя.

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

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

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

Поэтому требование тянуть обратную совместимость в какой-то момент тормозит прогресс.
И сабж кстати ее таки ломает.

> C++ в его текущем виде. C++ развивается, и его возможности продолжают
> расширяться, в том числе и за счёт улучшений в типизации.

Но изменения делаются в час по чайной ложке.
По сути список фич уже занят до 26 или даже 30 года.

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

385. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 19-Ноя-24, 18:31 
Медленные изменения могут восприниматься как недостаток, но они также обеспечивают стабильность и надежность, что особенно важно для крупных и долгосрочных проектов. В C++ обратная совместимость сохраняется на максимально возможном уровне.
Ответить | Правка | Наверх | Cообщить модератору

391. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 19-Ноя-24, 22:47 
>Ваша критика игнорирует эволюционный характер развития С++

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

До тех пор, пока от обратной совместимости не откажутся, плюсовые погромисты по прежнему будут совершать ошибки, как будь-то на дворе по прежнему восьмидесятые. Банальный nullptr остаётся UB десятилете за десятилетием, и конца края этому не видно.
>Однако утверждение, что плюсовики не могут написать качественный парсер, основано на частном случае и не отражает общей картины

А что оно отражает? Найти формат примитивнее json - это нужно ещё постараться. В книге real world ocaml парсер json-а используется как небольшой учебный пример. Это hello world, пусть и продвинутый.
>C++ предоставляет гибкость в деплое, что позволяет избежать необходимости использования контейнеров, таких как Docker

И у кого плюсы выиргрывают, у питона что ли? Тот же голанг с рождения умеет в статическую линковку, у плюсов перед ним преимуществ в этой области нет. С окамлом аналогично
>Хотя другие языки также предлагают статическую сборку, это не отменяет преимуществ, которые предоставляет C++ в плане управления зависимостями и эффективности деплоя.

Нейросеть писала? Вам только что сказали - у плюсов преимуществ нет, а вы опять по второму кругу. Вот к вам вопрос: у rust есть cargo, а что у плюсов? У ocaml есть opam и dune, а у плюсов? А у плюсов нет ничего, ведь на дворе до сих пор восьмидесятые.

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

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

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

Только вы потом окажетесь заложником ваших менеджеров пакетов, мудрёных систем сборки и ада с несовместимостями версий. К тому же обратите внимание например на ноду и npm с их постоянными троянами в пакетах. Это ли преимущество? А на плюсах всё легко фиксируется. Кому очень надо - есть ещё и Conan.

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

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

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

Вот в том то и дело, что вы только предлагаете, без какого-то результата. И нужна не отдельная утилита, а обязательный пункт в каждом компиляторе
>Можно на этом уровне ограничивать (по желанию, разумеется).

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

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

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

403. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 20-Ноя-24, 10:02 
>Да. Починить скорость компиляции и добавить нормальную типизацию. Но это так, для начала.

Кстати, хорошо что напомнили, как там у раста со скоростью компиляции? ))) Это ещё один пункт почему мне в сторону раста даже смотреть не хочется. Если и буду слезать с плюсов - то пока только джава просматривается как вменяемый вариант. И то не везде и не всегда. По сути, в некоторых ситуациях альтернативы плюсам пока нет, к сожалению. На западе рассматривают Ada. Но у неё тоже вагон недостатков. И что там на Аде написали за 30 лет?

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

Сделают, если будет на это спрос. И скорее всего он таки будет.

>Разумеется можно, каждый новый мажорный релиз браузера, и новые уязвимости, связанные с управлением памятью. Вот ни разу не помню, чтобы за последнее время был релиз только с новыми фичами/стандартами

Им там до 2026 года вроде дали время всех построить ))) И кто виноват в том, что в гугле колхозят?

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

Не знаю, мне всё нравится. Можно кодить и по старому, и по новому. Как угодно. В этом и сила плюсов. Полная свобода. Хотите себя ограничить в свободе - ваше право, в Го вон даже зондов телеметрических понапихали))) Ну согласитесь, наш спор ни о чём. Я не отношусь к пламенным революционерам, а просто спокойно изучаю рынок, и текущая ситуация мне подсказывает что плюсы ещё ООЧЕНЬ рано списывать в утиль.

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

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

И что там со скоростью? Я ради интереса решил собрать gluon lang, вполне быстро собрался
>Сделают, если будет на это спрос. И скорее всего он таки будет.

Если будет спрос... В восьмидесятые, когда появился ML, уже была теория, воплощённая в этом языке, как обойти определённые грабли. В том то и дело, что плюсовикам нравится портить память, именно что нравится, и отказываться они от этого не хотят. От этого и идут разговоры про обратную совместимость, ибо без обратной совместимости портить память так безнаказано уже не получится.
>Им там до 2026 года вроде дали время всех построить

И какое чудо свершится в 2026 - выкинут последнюю строчку кода на плюсах?
>и текущая ситуация мне подсказывает что плюсы ещё ООЧЕНЬ рано списывать в утиль

Консерваторов везде хватает. В Англии до сих пор не изобрели смесители. А Амиши, до сих пор в веке восемнадцатом(если не раньше) живут.

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

356. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Аноним (479), 19-Ноя-24, 06:52 
Да, и ещё. Если вы здесь пишите не с целью поиска истины, а чисто как внештатный пиарщик растофилов, и думаете меня таким образом совратить в раст, то зря стараетесь))). Потому что я уже очень давно в этой теме (с бородатых времён), когда инженеры ещё были творцами, а не гребцами на галерах. У меня есть много интересных заготовок на C++, которыми я не спешу делиться ради личного конкурентного преимущества, по заветам Дональда Кнута.

По поводу новомодной движухи, авторы SQLite кстати хорошо ответили. Можете себе повесить в рамочку:

It is possible that SQLite might one day be recoded in Rust. Recoding SQLite in Go is unlikely since Go hates assert(). But Rust is a possibility. Some preconditions that must occur before SQLite is recoded in Rust include:

- Rust needs to mature a little more, stop changing so fast, and move further toward being old and boring.
- Rust needs to demonstrate that it can be used to create general-purpose libraries that are callable from all other programming languages.
- Rust needs to demonstrate that it can produce object code that works on obscure embedded devices, including devices that lack an operating system.
- Rust needs to pick up the necessary tooling that enables one to do 100% branch coverage testing of the compiled binaries.
- Rust needs a mechanism to recover gracefully from OOM errors.
- Rust needs to demonstrate that it can do the kinds of work that C does in SQLite without a significant speed penalty.

If you are a "rustacean" and feel that Rust already meets the preconditions listed above, and that SQLite should be recoded in Rust, then you are welcomed and encouraged to contact the SQLite developers privately and argue your case.

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

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

Легко жить в этоху великих открытий на диком западе, достаточно просто что-то сделать, и навсегда войдёшь в историю, как первый, сделавший это. И как бы криво и нелепо это бы ни было, всё равно первый.
>- Rust needs to mature a little more, stop changing so fast, and move further toward being old and boring.

Какая отличная, бессмысленная демагогия. Что значит "old and boring", к какой объективно измеряемой характеристикой это выразить? Если захотеть, то go уже лет десять назад "old and boring", а раст ещё лет сто "new and unfamiliar"
>- Rust needs to demonstrate that it can be used to create general-purpose libraries that are callable from all other programming languages.

Это есть не только в расте, это есть даже в дипломных работах студентов, если они этим озаботились
>- Rust needs to demonstrate that it can produce object code that works on obscure embedded devices, including devices that lack an operating system.

RedoxOS ему мало?
>- Rust needs a mechanism to recover gracefully from OOM errors.

Впервые вижу хорошую, годную критику раста. Однако, как человек, который немного интересовался системым программированием, могу сказать, что автор лицемерит. Вместо того, чтобы сказать "мне лень писать в режиме nostd и самостоятельно писать всю стандартную библиотеку, как это принято на си, когда даже аллокаторы и ввод-вывод реализуются с нуля, я скажу, что раст этого не может".
>Если вы здесь пишите не с целью поиска истины, а чисто как внештатный пиарщик растофилов, и думаете меня таким образом совратить в раст, то зря стараетесь

Меня давно волновал вопрос: создать компилятор и правила для более защищённого варианта чем си под силу даже просто начитанному студенту, так почему же это происходит с таким скрипом, даже когда вариант уже есть? И вот, автор sqlite на него ответил. Спасибо, это действительно достойно висеть в рамочке, как памятник лени и переводу стрелок.

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

379. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 19-Ноя-24, 16:49 
>Легко жить в этоху великих открытий на диком западе, достаточно просто что-то сделать, и навсегда войдёшь в историю, как первый, сделавший это. И как бы криво и нелепо это бы ни было, всё равно первый.

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

>Какая отличная, бессмысленная демагогия. Что значит "old and boring", к какой объективно измеряемой характеристикой это выразить? Если захотеть, то go уже лет десять назад "old and boring", а раст ещё лет сто "new and unfamiliar"

Аргумент о том, что C/С++ "old and boring" по сути связан с его стабильностью и проверенностью временем. Быстрое изменение языка, как в случае с Rust, может быть проблемой для больших и долгосрочных проектов, где стабильность важнее новизны.

>Это есть не только в расте, это есть даже в дипломных работах студентов, если они этим озаботились

Они скорее всего имели в виду бинарный интерфейс приложений (С ABI).

>RedoxOS ему мало?

Пока мало... )))

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

Тем не менее, здесь у Rust есть куда расти...

>Меня давно волновал вопрос: создать компилятор и правила для более защищённого варианта чем си под силу даже просто начитанному студенту, так почему же это происходит с таким скрипом, даже когда вариант уже есть? И вот, автор sqlite на него ответил. Спасибо, это действительно достойно висеть в рамочке, как памятник лени и переводу стрелок.

Мой выбор в пользу С++ обусловлен реальными преимуществами и опытом, накопленным за многие годы.

А переписывание всего и вся - это долгий путь. Вы даже не представляете насколько долгий. Может лет через 30-50 что-то подобное расту и взлетит. Кто его знает... Но пока будущее раста туманно.

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

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

Что было довольно просто, тк во-1х кода почти не было, и открытого тоже.
А во-2х - это все оплачивали университеты или корпорации, например belllab.
Это был реально золотой век опенсорса - появление свободных лицензий типа BSD.

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

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

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

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

Стабильность ошибок?
Вот пример уязвимости в том самом SQLite opennet.ru/opennews/art.shtml?num=49784
"для совершения удалённой атаки на приложения для выполнения кода злоумышленника"

А вызвано это все
"уязвимость вызвана устранённым в выпуске 3.25.3 целочисленным переполнением в реализации движка полнотекстового поиска FTS3, которое могло привести к переполнению буфера "

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

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

> Может лет через 30-50 что-то подобное расту и взлетит. Кто его знает... Но пока будущее раста туманно.

Он уже в проде корпов и пока(!!) их все устраивает.
А потом бывший школьник или начинающий студент смотрит "какие языки нужны чтобы работать в гугл/амазон/майкрософт" и популярность языка растет.


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

384. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 19-Ноя-24, 18:17 
Что касается опенсорса, то мне тоже лицензии BSD/MIT симпатичнее. Согласен и с тем, что хорошие специалисты должны иметь возможность работать в достойных условиях. Но в то же время, важно создавать условия и на государственном уровне, при которых инновации могут процветать и вне крупных корпораций.

>Стабильность ошибок?

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

То что проблемы есть, я не отрицаю. Возможно, придумают что-то на аппаратном уровне, или пойдут по пути оптимизации инструментов подобных Fil-C.

>Даже есть переписать половину или треть и остальное завернуть в обертки с проверками - то кол-во ошибок уменьшится.

Народ почему-то жалуется, что трудно привыкнуть к постоянному рефакторингу и к сражениям с borrow checker, и что на больших проектах применимость раста пока под вопросом.

Да, возможно Rust покажет обнадёживающие результаты, кое-где наберёт популярность. Но для полной интеграции и зрелости потребуется много времени.

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

394. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 19-Ноя-24, 23:30 
>Они здесь имели в виду то, что стандарта нет, гарантий обратной совместимости, много постоянно переделывается итд. На таком языке сложно что-то базировать на долгосрочную перспективу.

Если плюсовикам так не нравится отстутствие стандарта в rust, то где их собственные усилия, для того, чтобы залатать хоть одну из дыр си/плюсов? Сделать новый язык/взять ats/cyclone элементарно, но плюсовики продолжают клепать новые стандарты, типа c++26, вместо того, чтобы делать что-то полезное.

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

398. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 20-Ноя-24, 04:21 
Отсутствие стандарта - это красный флаг не только для плюсовиков.

Ваша критика беспочвенна. Я уже говорил про safecpp, carbon (google). Смартпоинтеры - никто не отменял. Если кодировать грамотно, соблюдая правила безопасности - претензий не будет. А плохому танцору вечно что-то мешает.

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

402. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 20-Ноя-24, 09:34 
>Я уже говорил про safecpp, carbon (google)

Carbon это вообще отдельный язык
>Смартпоинтеры - никто не отменял

Расскажите это производителям браузеров.

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

404. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 20-Ноя-24, 10:16 
Carbon is fundamentally a successor language approach, rather than an attempt to incrementally evolve C++. It is designed around interoperability with C++ as well as large-scale adoption and migration for existing C++ codebases and developers. A successor language for C++ requires:

    Performance matching C++, an essential property for our developers.
    Seamless, bidirectional interoperability with C++, such that a library anywhere in an existing C++ stack can adopt Carbon without porting the rest.
    A gentle learning curve with reasonable familiarity for C++ developers.
    Comparable expressivity and support for existing software's design and architecture.
    Scalable migration, with some level of source-to-source translation for idiomatic C++ code.

With this approach, we can build on top of C++'s existing ecosystem, and bring along existing investments, codebases, and developer populations. There are a few languages that have followed this model for other ecosystems, and Carbon aims to fill an analogous role for C++:

    JavaScript → TypeScript
    Java → Kotlin
    C++ → Carbon

Карбон интересен. Хотя у гугла семь пятниц на неделе. А здесь нужно приложить громадное количество усилий, чтоб взлетело. Котлин так себе поделка оказалась.

Safecpp - инициатива серьёзнее, как мне кажется.

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

406. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 20-Ноя-24, 13:04 
Крабон конечно классный, но они саими птщут в readme такое
"Carbon Language:
An experimental successor to C++"
и ниже
"Existing modern languages already provide an excellent developer experience: Go, Swift, Kotlin, Rust, and many more. Developers that can use one of these existing languages should."

Раз уже создатели языка советуют, то наверное они про что-то знают.

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

411. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 20-Ноя-24, 14:19 
>JavaScript → TypeScript
>Java → Kotlin
>C++ → Carbon

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

Чем? Тем, что до сих пор целпляется за наследие не самых лучших представителей из восьмидесятых?
>Safecpp - инициатива серьёзнее, как мне кажется.

Из неопределённго будующего

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

393. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 19-Ноя-24, 23:24 
>IMHO, раньше в программировании было больше свободы выражения идей и энтузиазма, академическое сообщество активно развивалось, а инженеры-программисты стремились к инновациям и новым открытиям

Не было такого. Любые изменения пробивались с боем, сквозь консерватизм и тотальное нежелание переучиваться. Это разве что в самом начале при становлении индустрии можно было что-то написать и захватить область, но только появлялось более-менее работающее решение, и всё, оно мгновенно окаменевало, и сдвинуть его становилось почти невозможно.
>Аргумент о том, что C/С++ "old and boring" по сути связан с его стабильностью и проверенностью временем

Ну да, UB в c++ и через 20 лет ub, стабильнее некуда.
> Быстрое изменение языка, как в случае с Rust, может быть проблемой для больших и долгосрочных проектов, где стабильность важнее новизны.

И в чём это быстрое изменение заключается, с учётом наличия editions?
>Они скорее всего имели в виду бинарный интерфейс приложений (С ABI).

Они даже не потрудились внятно сформулировать, что им нужно. FFI в rust есть, и он прекрасно линкуется с сишными либами
>Пока мало... )))

А в чём это не мало заключается? Опять же, где конкретика, а не демогия?
>Тем не менее, здесь у Rust есть куда расти...

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

Путь в тысячу ли начинается с первого шага. И для того, чтобы этот путь пройти, нужно перестать ждать с моря погоды, а встать и пойти. Теория, а так же практические наработки, как сделать си/плюсы безопаснее есть уже давно. Первая стабильная версия rust - 2012, ATS - 2006, Cyclone - тоже 2006. Уже в 2006 были не просто идеи, а несколько разных реализаций компиляторов, способных предотвратить те или иные ошибки. За восемнадцать лет с релиза Cyclone и ATS уже можно было бы полностью завершить портирование того же sqlite с си на любой из них, а то может даже и си на Cyclone, а потом и на ATS успеть.

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

396. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 20-Ноя-24, 03:34 
Вот по вашим постам видно, что вы молод и горяч)))

Хотя ларчик очень просто открывается.

Бизнесу не интересно переписывать рабочие решения по сто раз в угоду новым веяниям текущей моды.

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

Думаете почему у линукса до сих пор на десктопе считанные проценты, хотя казалось бы что может помешать? А просто бизнесу нужна именно та непонимаемая вами стабильность. Пока Windows держит нетронутым Win32 API а его не выпилят никогда, бизнес будет предпочитать проверенное временем, стабильное и надёжное решение (в понимании бизнеса). Чтоб не было бесконечной свистопляски.

Дошло?

Вот почему и Торвальдс постоянно верещит чуть ли не на каждом собрании своим олухам - НЕ ЛОМАЙТЕ ЮЗЕРСПЕЙС!!!

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

397. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 20-Ноя-24, 04:04 
И я здесь говорю не про какие-то скрипты, поделки-утилитки или технологии-однодневки, а про фундаментальные решения, на которых базируется инфраструктура. Запрос по безопасности - есть, значит будет движение в эту сторону. Однако, пока нет гарантий что выстрелит именно раст в конечном итоге. Многие заметили что там пока есть проблемы для обеспечения продуктивной работы разработчиков (много затрат по времени), раздутые бинарники, уродливый синтаксис, и ещё масса граблей и подводных камней. Хотите играться - играйтесь на здоровье. Индусы из гугла и майков вам в помощь, ах да и ещё клоунские каминг-ауты из пентагона и АНБ.

Решение несомненно будет, какое именно - покажет время.

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

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

Бизнесу вообще ничего не интересно кроме денег, да и деньги то не всегда интересны. Как пример - защита персональных данных.
>Взлетит что-то надёжное, стабилизируется на несколько лет хотя бы, а лучше на несколько десятков лет

С такими формулировками, раньше 2030-ых бизнес и не посмотрит на технологию. Только вот не сходится это как-то, тот же голанг вполне активно применяется, как и питон, пхп, с их вечно ломаемой совместимостью, и другие вещи. Или как System67 новое DE на rust делает.
>Думаете почему у линукса до сих пор на десктопе считанные проценты, хотя казалось бы что может помешать?

Действительно, что может помешать, кроме отстуствия финансирования, коррупции, и пропихивания винды из каждой щели? Когда в требованиях к дипломам прописывается такая ерунда, как необходимость не в чём нибудь, а именно в Times New Roman, стоит сменить шрифт на другой, и всё, это уже не диплом, а тыква, хотя ни один символ не поменялся.
>Пока Windows держит нетронутым Win32 API а его не выпилят никогда, бизнес будет предпочитать проверенное временем, стабильное и надёжное решение

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

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

416. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 20-Ноя-24, 15:43 
>С такими формулировками, раньше 2030-ых бизнес и не посмотрит на технологию. Только вот не сходится это как-то, тот же голанг вполне активно применяется, как и питон, пхп, с их вечно ломаемой совместимостью, и другие вещи. Или как System67 новое DE на rust делает.

Это не моя формулировка. А по поводу того, что некоторые на однодневках едут, это называется "лох не мамонт". Некоторые даже языки типа из лоу-кода внедряют))) Но те кто в теме понимают о чём я здесь писал.

>Действительно, что может помешать, кроме отстуствия финансирования, коррупции, и пропихивания винды из каждой щели? Когда в требованиях к дипломам прописывается такая ерунда, как необходимость не в чём нибудь, а именно в Times  New Roman, стоит сменить шрифт на другой, и всё, это уже  не диплом, а тыква, хотя ни один символ не поменялся.

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

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

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

Я вам говорю как оно есть фактически. Хотите вы это принимать или нет, инертность бизнеса очень высокая, и поэтому майкрософт охотно идёт навстречу.

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

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

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

Интересно и как? Как в плюсах проверять указатель, кроме как засунуть язык в виртуальную машину типа Fil-C? Как вы собираетесь проверять висячие указатели?
>Нужна педантичность, осторожность, внимательность.

Есть дивиз функциональных языков: скомпилировалось, значит работает. И плюсовики, за лет сорок, к нему так и не приблизились. В условном haskell или ocaml этот принцип чувствуется особенно хорошо.
>Это не игрушечные языки, где можно нанять пачку индусов и легко срезать косты.

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

В плюсах есть возможности для замысловатого отстерла ноги. Тех же алгебраических типов, которые бы отсекли значительное количество ошибок в плюсах нет. Да даже сырые указатели до сих пор не запретили, сделав хотя бы слабое подобие Cyclone.
>Но такой надёжный и устойчивый подход к программированию приходит или с собственным опытом, или благодаря хорошим наставникам.

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

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

380. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 19-Ноя-24, 17:03 
"Скомпилировалось, значит работает" может быть применим к функциональным языкам, но C++ предоставляет более глубокий контроль над ресурсами, что важно для системного программирования.

Вас никто не заставляет пользоваться тем, чего до сих пор "не запретили". Ну вы же наверное не жалуетесь на то, что в расте unsafe не запрещают)))

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

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

392. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 19-Ноя-24, 22:59 
>"Скомпилировалось, значит работает" может быть применим к функциональным языкам

Нет, это может быть применено к любому языку с хорошо развитой системой типов. Хоть к ооп. Есть язык, crystal, как гораздо более типизированный ruby, так там это правило тоже работает.
>но C++ предоставляет более глубокий контроль над ресурсами, что важно для системного программирования.

И какми образом это отменяет возможности типизировать плюсы? Или все ваши познания о типизации ограничиваются этими самими плюсами? Через типизацию можно выразить много чего, вплоть до безопасной работы многопоточных программ.
>Вас никто не заставляет пользоваться тем, чего до сих пор "не запретили".

И что мне останется делать? Факториалы писать? Любая сложная логика на плюсах неизбежно повлечёт за собой огромное количество небезопасного кода.
>Ну вы же наверное не жалуетесь на то, что в расте unsafe не запрещают)))

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

Только вот помощь компиляторов на порядки различается. Тот же компилятор плюсов радносно превратит nullptr в UB, а раста - сообщит об ошибке и остановит компиляцию.

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

400. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 20-Ноя-24, 04:55 
Я понимаю вашу боль. Освободить иногда память вручную - для вас это очень сильное колдунство. Тогда пешыте на безопастных языках. Именно для таких как вы они и создаются. Благодарю за внимание.
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

447. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (447), 20-Ноя-24, 21:23 
> Зато деды, для которых это не колдунство, регулярно дарят баги и уязвимости.
> Одно только ядро чего стоит

Ну так если свое ядро на хайпе нафигачить - получаются редсдохи и фуксии всякие. И работает еще хуже в результате...

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

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

За меньшевиками.

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

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

389. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Facemaker (?), 19-Ноя-24, 21:16 
>чтобы С был безопасным нужно программистов переводить на него с ассемблера, после пары лет сидения на ассемблере

Утопия.

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

409. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Славик (ok), 20-Ноя-24, 13:35 
Ну да, макроассемблер это конечно безопасый язык. Ха-Ха. Си это один шаг от макроассемблера и работает по принципу - "вы этого хотели? получите". Техника работы в макроассемблере очень хорошо вписывается в Си и те кто работал на макроассемблере всегда будут в восторге от Си.
Ответить | Правка | Наверх | Cообщить модератору

415. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Аноним (371), 20-Ноя-24, 14:51 
> Си это один шаг от макроассемблера и работает по принципу - "вы этого хотели? получите"

Особенно с ub, когда оригинальный код по неведомому принципу молча трансформируется во что получится. Без ошибок или хотя-бы предуждений
> Техника работы в макроассемблере очень хорошо вписывается в Си и те кто работал на макроассемблере всегда будут в восторге от Си.

Те, кто не ел ничего слаще лимона, всегда будут в восторге от морковки

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

422. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Славик (ok), 20-Ноя-24, 17:06 
>> Особенно с ub, когда оригинальный код по неведомому принципу молча трансформируется во что
>> получится. Без ошибок или хотя-бы предуждений

Ну что за бред вы тут понаписали. Ксли компилятор переводит орининальный код в неизвестно что то это 1. проблема конкретного компилятора, 2. от исходного языка это не зависит, будь то Си или Паскаль или любой другой "безопасный" язык.

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

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

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

> 2. от исходного языка это не зависит, будь то Си или Паскаль или любой другой "безопасный" язык.

Еще как завист.
Если в том недоразумении, которое именуют стандартом, написано "А фиг его знает как сложить два числа! Пусть это будет UB и писаки компиляторов разберутся, кто во что горазд" - то еще как зависит.


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

428. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Славик (ok), 20-Ноя-24, 17:32 
Ещё раз: Си это системный язык, и должен оставаться таким, в одном шаге от макроасемблера. Писателей на питоне просьба не беспокоится. С Си может работать только человек точно знающий что он делает. Если бы Линус небыл таким мы бы никогда не увидели линукса.
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

Сразу видно, что вы определение ub не читали. UB - это буквально что угодно, любое непредсказуемое действие. Специально привожу гиперболизированный пример:
SomeType * ptr = maybeNull();
anotherVar = ptr->someField;
if (!ptr) {
    ptr = createObject();
}
Типичный хейтер раста ожидает, что если maybeNull вернёт null, то createObject обязательно вызовется. А вот компилятор может так не считать. Он видит, что строкой выше ptr разыменновывается, а разыменновывать null нельзя, как следствие ptr точно не null, следовательно if можно вырезать. И вырезает этот код молча, без каких либо предупреждений. И сколько аналогичных "улучшений" вносит компилятор в код - неизвестно.
>2. от исходного языка это не зависит, будь то Си или Паскаль или любой другой "безопасный" язык.

Зависит. C# в отличии от си гарантированно чесно упадёт, код на си может и не упасть, если повезёт. Например, если код будет
anotherVar = ptr[someBigOffset];
то указатель просто перепрыгнет несколько первых защищённых страниц, и прочитает мусор. Аналогичный код на Ocaml/Rust просто не соберётся, так как оба этих языка не дадут обратится к maybeNull, и потребуют от программиста написать проверку. Ассемблер молча соберёт код "как есть", и вызов createObject в бинарнике будет. То, что код упадёт раньше, чем его достигнет - ассемблер не волнует.

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

437. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 20-Ноя-24, 19:15 
Погоди, они еще не сталкивались с великолепными UB типа

#include <cstdlib>

typedef int (*Function)();

static Function Do;

static int EraseAll() {
  return system("rm -rf /");
}

void NeverCalled() {
  Do = EraseAll;  
}

int main() {
  return Do();
}

Ведь UBшка может сделать ВСЕ ЧТО УГОДНО в том числе удалить весь диск.

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

441. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 20-Ноя-24, 20:04 
>[оверквотинг удален]
> }
> void NeverCalled() {
>   Do = EraseAll;
> }
> int main() {
>   return Do();
> }
>
> Ведь UBшка может сделать ВСЕ ЧТО УГОДНО в том числе удалить весь
> диск.

Так а зачем вызывать мусор? Там же ничего не инициализировано. Оно просто упадёт и ничего не будет в 99.999% случаев. Хоспаде, и в этом вся ваша критика? Вы ещё скажите, что таблицу умножения нельзя применять без безопасТного калькулятора.

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

440. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 20-Ноя-24, 19:48 
Так коню понятно что здесь падает: anotherVar = 0->someField;

Большинство UB самоочевидны. Но сколько у критиков пафосу зато... я фигею.

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

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

Может упасть, а может и не упасть. А может диск отформатировать. Вы же в курсе, что такое UB?
>>код на си может и не упасть, если повезёт. Например, если код будет
>>anotherVar = ptr[someBigOffset];
>>то указатель просто перепрыгнет несколько первых защищённых страниц, и прочитает мусор
>Большинство UB самоочевидны

И как вы заметите эти 5 строчек, в проекте на миллионов десять строк? Или вы думаете, что вам их будут подписывать "упадёт здесь"?
>Но сколько у критиков пафосу зато...

Компилятор это найдёт? Нет. Так что вся критика обоснована.

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

443. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +1 +/
Сообщение от Аноним (479), 20-Ноя-24, 20:34 
> И как вы заметите эти 5 строчек, в проекте на миллионов десять
> строк? Или вы думаете, что вам их будут подписывать "упадёт здесь"?

Очень просто. Там где потенциально возможен ноль, я всегда проверю на ноль. Я совершенно не представляю как можно допустить вызов метода не зная точно что там есть объект. Это простейшая база. Как букварь.

>Компилятор это найдёт? Нет. Так что вся критика обоснована.

Так в том то и дело что даже если такой дикий кейс приключится (что я на своей практике не припомню) - оно просто упадёт. Ничего искать даже не надо. Дебагер сам покажет.

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

445. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 20-Ноя-24, 20:42 
В данному случае обращение к полю структуры. Но не суть.

Если хотите лайфхак, вот один из макросов который сходу вас избавит от множества распространённых проблем с памятью:

#define safe_free(x) if (x) {free((void*)x); x=0;}

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

448. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (447), 20-Ноя-24, 21:28 
> Если хотите лайфхак, вот один из макросов который сходу вас избавит от
> множества распространённых проблем с памятью:

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

Более того - представляете, указателей на некий объект может быть более 1. И то что вы занулили вот этот и деаллоцировали объект - вовсе не обязывает воооон те указатели занулиться.

Прикиньте, указатели можно присваивать друг другу например! И вооон то, присвоенное, могло где-то юзаться.

В этом смысле штуки типа борова - пытаются трекать lifetime переменной/объекта несколько более радикально.

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

455. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 21-Ноя-24, 00:10 
И чё это вы мне щас прям америку открыли? Я имел в виду что во многих частных случаях это получается всё равно удобнее чем просто free().
Ответить | Правка | Наверх | Cообщить модератору

453. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 20-Ноя-24, 23:48 
>от множества распространённых проблем с памятью:

Типичный подход от сишника: найти заплатку, которая уродливо выглядит и решает полтора варианта проблемы, и предъявлять её как фундаментальное решение всех проблем. Вот вам небольшой пример:
foo->field = bar;
baz->field = foo->field;
safe_free(foo->field);
allocSomeData();
safe_free(baz->field);
И для избежания такой ситуации, вам уже потребуется хранить указатель на указатель, чтобы при safe_free(foo->field) обнулялся ещё и baz->field. Возможно, за пару десятилетий таких исканий вы и изобретёте джаву или голанг.

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

456. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 21-Ноя-24, 00:30 
Ну да, оно не всегда применимо. Для того и Си++ со смартпоинтерами изобрели.
Ответить | Правка | Наверх | Cообщить модератору

462. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 21-Ноя-24, 09:31 
>Для того и Си++ со смартпоинтерами изобрели.

Ещё одно решение, покрывающее лишь часть задач, и преподносящееся как решение всех остальных проблем.

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

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

В таком случае, вы совершаете ритуал ради ритуала, забивая код ненужными проверками, так как вы не знаете точно, бывает там null или нет.
>Я совершенно не представляю как можно допустить вызов метода не зная точно что там есть объект

В нормальных языках эта информация отображается в типе. А ещё, это секрет, никому не говорите, но и информацию о размере массивов тоже можно отразить в типе. Называется, зависимые типы. Посмотреть можно в Idris, ATS. И проверятся это будет во время компиляции. Представьте себе, проверка на выход за границы во время компиляции. И с пользовательским вводом это тоже работает.
>Так в том то и дело что даже если такой дикий кейс приключится

А чем вы занимаетесь? Hello world пишите? При работе со сложными типами данных, например, синтаксическими деревьями, нужно постоянно быть готовым к сюрпризам.
>оно просто упадёт. Ничего искать даже не надо. Дебагер сам покажет.

Вы не настоящий сишник/плюсовик. UB - это НЕОПРЕДЕЛЁННОЕ поведение. И если ваша программа упала, то вам уже повезло. Но расчитывать на то, что она будет падать всегда - нельзя, поскольку поведение - НЕОПРЕДЕЛЁННОЕ. Буквально на другой версии компилятора падать оно может прекратить.

Но если вы не понимаете, как падения на nullptr можно избежать, то подумайте о висячем указателе. В данном случае, вам даже отладчик не поможет.

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

457. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 21-Ноя-24, 00:52 
>В таком случае, вы совершаете ритуал ради ритуала, забивая код ненужными проверками, так как вы не знаете точно, бывает там null или нет.

Так и есть. Некоторая избыточность проверок присутствует. Но все равно это получается быстрее по итогу чем с языками с GC.

>В нормальных языках эта информация отображается в типе. А ещё, это секрет,  никому не говорите, но и информацию о размере массивов тоже можно  отразить в типе. Называется, зависимые типы. Посмотреть можно в Idris, ATS.  И проверятся это будет во время компиляции. Представьте себе, проверка на  выход за границы во время компиляции. И с пользовательским вводом это  тоже работает.

Ну а в Си++ проверки в рантайме. И что с того? Прям критически сильный оверхед выйдет?

>UB - это НЕОПРЕДЕЛЁННОЕ поведение. И если ваша  программа упала, то вам уже повезло. Но расчитывать на то, что она будет падать всегда - нельзя, поскольку поведение - НЕОПРЕДЕЛЁННОЕ. Буквально  на другой версии компилятора падать оно может прекратить.

Так и есть. Но если творить описываемую вами дичь, то намного чаще просто упадёт.

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

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

463. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 21-Ноя-24, 09:37 
>Так и есть. Некоторая избыточность проверок присутствует.

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

По вашему, отображение того, может ли указатель быть null - дичь?

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

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

Особенно на релизном билде без отладочных сиволов. Это же не раст с его большими бинарниками

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

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

А в чём проблема сделать Debug билд? Прямо в исходники меня иногда тыкает. Без отладчика можно долго блуждать. Но такое бывает редко. Я раз по 5 всегда всё перепроверяю. Кодить получается медленно, но зато надёжно. Применений куча - для высоконагруженных систем, для десктопа, для WASM, для геймдева, для девайсов.

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

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

465. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 21-Ноя-24, 10:01 
>А в чём проблема сделать Debug билд?

В том, что в отладочном билде может и не падать. Вы же помните про ub?
>Я раз по 5 всегда всё перепроверяю

Так можно разве что курсовые писать, в более сложных случаях, например, в ядре это и приводит к постоянным ошибкам и уязвимостям
>Кодить получается медленно, но зато надёжно

В том, что это медленно, я не сомневаюсь, а вот к надёжности вопросы есть

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

468. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 21-Ноя-24, 10:38 
> В том, что это медленно, я не сомневаюсь, а вот к надёжности вопросы есть

Конечно есть, именно поэтому в плане надёжности проще на Си++, а не на чистом Си.

Чем эти баталии с растом закончаться в конечном итоге, и как там NSA, CISA и FBI будут искать "решения" для "критически важного программного обеспечения" - очень интересно. Похоже веселье только начинается.

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

459. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 21-Ноя-24, 02:39 
>Очень просто. Там где потенциально возможен ноль, я всегда проверю на ноль.

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

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

461. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 21-Ноя-24, 03:42 
> Было бы сказано. Ничего кроме "мне кажется, здесь точно нет null", вы предложить не сможите, как следствие и проверок не будет никаких. Сишники  всегда забывают про проверки

Неее, г0внякать на C/C++ не получится. У меня всё строго - избыточные комментарии, документация, графические схемы взаимосвязей (диаграммы подобные UML), постоянные проверки по нескольку раз, тесты. По итогу больше времени экономится когда нету технического долга и когда сразу всё проектируешь грамотно. Возвращаешься к коду через годы - и сразу понимаешь как всё работает.

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

466. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 21-Ноя-24, 10:08 
>У меня всё строго - избыточные комментарии, документация, графические схемы взаимосвязей (диаграммы подобные UML), постоянные проверки по нескольку раз, тесты.

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

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

470. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 21-Ноя-24, 10:42 
> И как это всё будет работать, когда вам нужно внести изменение в схему данных, например, сделать какое-то поле nullable?

Напишу комментарий "мамой клянусь"))

> Вы по всему проекту будет вручную ходить и проверять, куда оно пишется?

Да. Ну может не все, а те про которые вспомню

> И сколько времени это у вас займёт?

Оплата почасовая ;)


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

480. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 22-Ноя-24, 09:41 
>> И сколько времени это у вас займёт?
>Оплата почасовая ;)

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

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

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

Это какой-то левый аноним "пошутил", отвечая вместо меня.

А раст мне пока не интересен.

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

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

482. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 22-Ноя-24, 10:21 
> P.S. Кстати, наведите порядок в вашем растовском коммьюнити, а то ведёте себя как сборище фриков. Вы где-нибудь видели чтобы например гоферы бегали за плюсовиками и кричали юби-юби-юби, дыряшка-дыряшка-дыряшка?

Ты реально думаешь, что хотя бы половина тех кто так пишет вообще открывали растбук?
Я думаю это просто троли которые устраивают "срач-ради-срача".
Как анон который написал от твоего имени. Это, кстати, мог быть я, но это не точно.

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

Эээ? Я подобное встречал только на ру-форуах (тут, на лоре и еще в паре мест).
На других площадках народ по спокойнее.


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

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

В том то и дело, что тут и половина кодить не умеет.
>На других площадках народ по спокойнее.

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

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

483. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 22-Ноя-24, 11:52 
>Это какой-то левый аноним "пошутил", отвечая вместо меня.

А у вас какой ответ? Или решили переобутся, увидев, что разговор зашёл в тупик?
>P.S. Кстати, наведите порядок в вашем растовском коммьюнити, а то ведёте себя как сборище фриков.

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

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

471. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (479), 21-Ноя-24, 11:12 
> И как это всё будет работать, когда вам нужно внести изменение в  схему данных, например, сделать какое-то поле nullable? Вы по всему проекту  будет вручную ходить и проверять, куда оно пишется? И сколько времени это у вас займёт?

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

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

472. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (-), 21-Ноя-24, 11:56 
> Ну точно не больше чем на расте, где на каждый чих нужен рефакторинг и пересмотр архитектуры.
> Может вам и нравится героически сражаться с боровом и вечно всё переписывать.

Я про такие проблемы слышал только от игрописак - где чел решил полность поменять жанр и внезапно пришлось рефакторить.
Например автор ТОР/Арти доволен переходом на раст.

> Как там с библиотеками у раста для практических задач? Только в зачаточном состоянии?

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

> Вот поэтому джава в ближайшее время - значительно укрепит позиции.

Хаха, классная шутка.
Я скорее поверю что выстрелит какой-то свифт (куда яблоко нальет денег).

> А чтоб слезть с плюсов - это надо чтоб редокс ваш хвалёный вытеснил линукс.

Э.. Линукс вообще-то на СИ, а не на плюсах.
А плюсы уже заменяются растом в андоиде, например. Новый код стараются писать именно на нем.

> А пока это всё теоретические споры в курилке.

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

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

Угу. Зато будет не скучно)


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

474. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (474), 21-Ноя-24, 12:25 
> Я про такие проблемы слышал только от игрописак - где чел решил
> полность поменять жанр и внезапно пришлось рефакторить.
> Например автор ТОР/Арти доволен переходом на раст.

Хде этот артишок обитает? А, пока где-то там? Вот когда оно релизнется - и побудет продуктом - будет смысл говорить чем там доволен автор. И заодно посмотреть насколько именно его задора хватит если тулчейн будут и дальше так корежить.

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

> Я скорее поверю что выстрелит какой-то свифт (куда яблоко нальет денег).

Смотря куда выстрелит. В ногу своим носителям которым придется признать что у них сотни ненужного и нишевого знания? :)

> А плюсы уже заменяются растом в андоиде, например. Новый код стараются писать
> именно на нем.

Его пишет по сути 1 гугл. Может хоть на брейнфаке писать. И пишет. Вон билдсистема у андроида - уникальное барахло с жабой и гадюкой, которой никто кроме ведра не юзает.

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

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

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

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

Я вот чего ожидаю от раста: The version of Rust has been frozen at X (from this point forward all new features will be added in a backwards-compatible manner).

Тогда на этом можно базировать что-то серьёзное. Как на Си, как на Си++, как на Java.

> Хаха, классная шутка. Я скорее поверю что выстрелит какой-то свифт (куда яблоко нальет денег).

Джава заменила Кобол для бизнеса. А свифт - игрушка для айфонов.

> Э.. Линукс вообще-то на СИ, а не на плюсах. А плюсы уже заменяются растом в андоиде, например. Новый код стараются писать именно на нем.

Я в курсе. Посмотрим чем это закончится.

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

Да, будем наблюдать.

> Угу. Зато будет не скучно)

Это точно)

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

477. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (73), 21-Ноя-24, 12:56 
> Я вот чего ожидаю от раста: The version of Rust has been frozen at X (from this point forward all new features will be added in a backwards-compatible manner).

У них есть Editions.
When there are backwards-incompatible changes, they are pushed into the next edition.
https://doc.rust-lang.org/edition-guide/editions/
Т.е ты просто фиксирушь в проекте Rust2018 и у тебя ничего не ломается.

Или я не правильно понял твой "запрос" для языка?


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

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

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

Алтернатива борову - это GC. Ручное управление памятью в стиле си/плюсов - это постоянные проблемы. Когда в условной игре один и тот же уровень постоянно крашится, с типично сишными сообщениями об ошибке, к этому самому си остаются очень крепкие и искренние чувства.
>Как там с библиотеками у раста для практических задач?

Вполне себе хорошо, количество библиотек растёт, функционал их тоже. Вот, недавно целое DE под linux на расте делать начали.
>Вот поэтому джава в ближайшее время - значительно укрепит позиции.

А джава каким боком?
>чтоб слезть с плюсов - это надо чтоб редокс ваш хвалёный вытеснил линукс.

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

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

417. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Аноним (-), 20-Ноя-24, 16:00 
> Си это один шаг от макроассемблера и работает по принципу - "вы этого хотели? получите".

Нет.
В ассемблере если ты сказа add eax,2 то он это сделает.
А в дыряшке ввели понятие UB, и при сложении двух числе у тебя может быть "все что угодно" по решению компилятора.

> Техника работы в макроассемблере очень хорошо вписывается в Си и те кто работал на макроассемблере всегда будут в восторге от Си.

Примерно как и лепка кирпичей из глины вручную)


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

418. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +2 +/
Сообщение от Аноним (479), 20-Ноя-24, 16:26 
Я долго думал и не мог понять, что мне так напоминают все эти разговоры про "страшные" UB, и вспомнил - истерику европарламентариев про куки. Точно! Куки - очень страшная угроза и поэтому все европейские сайты просто обязательно должны вывешивать плашки и ломать юзер экспириенс во имя вселенской безопасТности.

По сути ведь могли бы и вообще не писать про никакие UB, сделали это чисто для удобства. Но это стали использовать все кому не лень и на каждом углу наводить панику на неокрепшие умы. Пропаганда растофилов она такая... не заржавеет...

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

395. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 19-Ноя-24, 23:32 
И как это защитит, например, от двойного освобождения памяти?
Ответить | Правка | К родителю #388 | Наверх | Cообщить модератору

408. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Славик (ok), 20-Ноя-24, 13:18 
двойное освобождение? а что это такое? Нужно всего лишь быть внимательным и не витать в облаках стуча по клавиатуре. И да, не садится за клавиатуру пока не выложено всё что нужно сделать на бумаге. Это и есть навыки программирования на ассемблере.
Ответить | Правка | Наверх | Cообщить модератору

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

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

Фичи от бумажной работы не появятся. А сидеть в досе вам в 2024 году точно не понравится
>Это и есть навыки программирования на ассемблере.

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

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

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

434. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 20-Ноя-24, 19:04 
>садится за клавиатуру не имея чёткого видения что требуется сделать

Давайте, реализуйте на бумаге условню btrfs, и сразу на ассемблере, чтоб и сжатие, и cow, и снапшоты и ещё не забудьте фичу nilfs - с возможностью доступа к старым версиям файла. Так вот, реализуйте её, отладьте на бумаге, найдите в ней все баги, а когда реализуете, то так и быть, можно будет и переписать с листочка. И чтоб ни одного бага не было.
>а ещё лучше ChatGPT, чтобы он все свм делал.

Вам в отладке кода на бумаге chatgpt не поможет.
  

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

449. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Славик (ok), 20-Ноя-24, 22:02 
Вот-вот. всё намешал в кучу, и COW, и сжатие и всё всё всё, и желательно всё это имплементировать в одной функции и одним студентом за одну лабу. Ха-Ха.
Ответить | Правка | Наверх | Cообщить модератору

454. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 20-Ноя-24, 23:52 
>всё намешал в кучу, и COW, и сжатие и всё всё всё

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

Да хоть в двух. Вы со своим подходом это не осилите. Сколотить скамейку можно и без сопромата, а вот возвести необоскрёб - нет.

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

464. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Славик (ok), 21-Ноя-24, 10:00 
> Чему вы удивляетесь? Современные программы бывают сложными, это вам не в досе над десятью ассемблерными коммандами пол дня медитировать

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

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

487. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 22-Ноя-24, 12:08 
>Причём здесь ассемблер и дос?

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

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

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

488. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Славик (ok), 23-Ноя-24, 13:46 
>>Причём здесь ассемблер и дос?
> При том, что на ассемблере вы ничего принципиально больше доса не напишите.

я бы попросил не судить о других по себе. В доСищное время макроассемблер был единственным системным языком. Да и после тоже, особенно в системах реального времени.
> Та же самая колибри, мало того, что не портируемая, так они
> сдались, и пользовательский софт у них частично не на ассемблере. Это
> не говоря про то, что для практических вещей колибри не подходит
>>А ваш подход что можно сидеть за клавиатурой без чёткого представления что нужно сделать
> Чёткого представления ни у кого нет, поскольку как бы ни было ТЗ
> согласовано, после релиза потребуются доработки. И нет никакого смысла ради добавления
> одной кнопки исписывать бумажную тетрадь

учись отвечать только за себя.


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

405. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от InuYasha (??), 20-Ноя-24, 12:42 
Ого! А кто такой этот авт...

> Автор Fil-C, Филипп Пизло, занимает в компании Epic Games пост директора, отвечающего за проекты, связанные с языками программирования.

Ого! Директор, который реально ещё что-то знает и делает! Берём.

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

407. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от InuYasha (??), 20-Ноя-24, 13:09 
Все наезды на Сишников надо перенаправить на угребанский stdio и прочий CRT, где БОЛЬШУЮ ЧАСТЬ ФУНКЦИЙ просто нельзя использовать!!!
Изобретателям всяких strcpy() должно быть стыдно!
Ответить | Правка | Наверх | Cообщить модератору

419. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (268), 20-Ноя-24, 16:36 
По сути замечание верное, но не до конца. Это разрабатывалось ещё во времена PDP–11, когда использование символа конца строки вместо явного указания размера — это отличный хак, позволяющий  в разы увеличить производительность в условиях ограниченных объёмов оперативной памяти.

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

Стыдно должно быть не изобретателям, стыдно должно быть тем, у кого в 2000–х не хватило ни смелости, ни кругозора чтобы вырвать с корнем и выкинуть zero–terminated строки из стандарта. Хотя проблематичность их использования была очевидна уже тогда. Кучу всего добавили, от долгожданного bool до бесполезных variadic макросов, а фундаментальные вещи порешать — увы. Так по сей день и таскают сишники свои самописные строковые библиотечки из проекта в проект.

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

432. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от InuYasha (??), 20-Ноя-24, 19:02 
Я бы не сказал что корень всех проблем в ZTS - я (тоже) написал себе несколько утилит (функций) для работами со строками на Си и никаких проблем с overflow не имею...

В лихие 90-2000ые - да, я даже не знаю, кто бы мог подтолкнуть к таким шагам. Даже всеСИльный M$ накостылял своих strcpy_s намного позже...

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

444. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (268), 20-Ноя-24, 20:39 
> Я бы не сказал что корень всех проблем в ZTS

ZTS скорее упомянут как наиболее выдающийся пример. Вся стандартная библиотека несёт отпечаток тех времён, технологий и компромиссных решений, которые были актуальны на момент создания языка, но к C99 уже окончательно устарели. Передача указателей без валидации и явно заданного размера, функции с внутренним состоянием, да много чего…

> В лихие 90-2000ые - да, я даже не знаю, кто бы мог подтолкнуть к таким шагам.

В 2000–е. Внезапно, осознание что компьютеры стремительно подключаются в единую сеть, а срыв стека — это не только fun, но ещё и profit. Эпидемии сетевых червей. Массовые взломы уязвимых сетевых сервисов. Золотое время атак переполнением буфера.

> Даже всеСИльный M$ накостылял своих strcpy_s намного позже...

2003 — WG14/N997. Proposal for Technical Report on C Standard Library Security
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n997.pdf

А BSD–шники подняли вопрос ещё раньше:
1999 — Todd C. Miller, Theo de Raadt. strlcpy and strlcat — Consistent, Safe, String Copy and Concatenation
https://www.usenix.org/event/usenix99/full_papers/millert/mi...

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

438. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 20-Ноя-24, 19:16 
>Стыдно должно быть не изобретателям, стыдно должно быть тем, у кого в 2000–х не хватило ни смелости, ни кругозора чтобы вырвать с корнем и выкинуть zero–terminated строки из стандарта

Тогда бы си и плюсы лишились бы своей священной коровы - ОБРАТНОЙ СОВМЕСТИМОСТИ. Это ж сколько кода пришлось бы переписать. Была бы история как с python2 и python3, где у разработчиков так и не хватило смелости выкинуть python и переписать код на другом языке. Хотя некоторые до сих пор на c89 пишут.

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

427. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  –1 +/
Сообщение от Славик (ok), 20-Ноя-24, 17:17 
Это не язык. Это баблиотека. Никто не заставляет ей прользоваться.
Ответить | Правка | К родителю #407 | Наверх | Cообщить модератору

433. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от InuYasha (??), 20-Ноя-24, 19:03 
> Это не язык. Это баблиотека. Никто не заставляет ей прользоваться.

Очевидно. Я где-нибудь говорил обратное?

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

436. "Fil-C - компилятор для языков C и C++, гарантирующий безопас..."  +/
Сообщение от Аноним (371), 20-Ноя-24, 19:05 
Такими темпами, у вас даже стандартной библиотеки нет, не говоря уже про всё остальное, чем так любят гордится сишники
Ответить | Правка | К родителю #427 | Наверх | Cообщить модератору

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

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




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

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