1.1, Аноним (1), 13:14, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +39 +/– |
А визгу то стояло на опеннете что сишка небезопасная, а всего то надо было сделать безопасную сишку и никакой раст больше никогда никому не необходим.
| |
|
2.2, Alladin (?), 13:24, 17/11/2024 [^] [^^] [^^^] [ответить]
| +12 +/– |
да, всего-то.. на расте это гарантируется типами и маркерами, а на этом..
| |
|
3.4, Аноним (1), 13:33, 17/11/2024 [^] [^^] [^^^] [ответить]
| +4 +/– |
Да гарантируется что боров запрещает объектам мутировать и делает так что программирование превращается в борьбу с этим самым боровом, а не в получение работающего продукта.
| |
|
4.7, Alladin (?), 13:37, 17/11/2024 [^] [^^] [^^^] [ответить]
| –3 +/– |
борров это про мувинг семантику и заимствование структур
если вы называете рабочий продукт в котором двойное освобождение и утечки памяти то пожалуйста
другие вещи борров не решает
| |
|
5.14, Аноним (1), 13:46, 17/11/2024 [^] [^^] [^^^] [ответить]
| +17 +/– |
Это тоже самое что построить такой город в котором на входе и выходе каждого здания и в общественном транспорте поставить рамки, рентген и проверять каждого жителя не мутировал ли он после выхода из дома. А если по ходу надел шапку или сходил в туалет считать что он мутировал и собирать его гарбедж коллектором вместе во всеми связанными объектами. А вдруг он мутировал получив бомбу. Причём если он сразу вышел из дома с бомбой к нему вопросов нет. Сколько раз уже пытались построить такой город с названием то Серво, то Редокс получается ерунда, не выходить каменный цветок.
| |
|
6.37, Аноним (-), 14:36, 17/11/2024 [^] [^^] [^^^] [ответить] | +1 +/– | Хм ты ж только, что описал Город-СИ Где вышедший из дома гражданин, может че... большой текст свёрнут, показать | |
|
7.63, Аноним (1), 15:15, 17/11/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Дум даже на калькуляторе без ОС играется. А все остальное это называется свобода передвижения в конституции даже такое записано. Если мне нужно соседу в голову я просто иду к соседу в голову. И его на это согласие это очень опционально штука. И в такой город ты найдешь очень много программистов и строителей, которые тебе отстроят и запрограммируют.
| |
|
8.73, Аноним (73), 15:40, 17/11/2024 [^] [^^] [^^^] [ответить] | –3 +/– | Хахаха, ты про ту смешную бумажку А ну давай-ка свободно передвинься в Ново-Ога... текст свёрнут, показать | |
|
|
|
|
12.320, Аноним (-), 18:38, 18/11/2024 [^] [^^] [^^^] [ответить] | +/– | Статья староватая, то был просто пробный шар Вот последние их заметки security ... большой текст свёрнут, показать | |
|
|
|
15.343, Аноним (335), 22:28, 18/11/2024 [^] [^^] [^^^] [ответить] | +/– | Смирись - по другому не бывает Именно Поэтому любое переписанное должно дать т... большой текст свёрнут, показать | |
|
16.344, Аноним (-), 22:38, 18/11/2024 [^] [^^] [^^^] [ответить] | +/– | Бывает Смиряться с бракоделием я не собираюсь Надеюсь законодатели в ЕС не под... большой текст свёрнут, показать | |
|
17.345, Аноним (335), 00:38, 19/11/2024 [^] [^^] [^^^] [ответить] | +/– | Надеюсь не подкачают Флаг им в руки Верной дорогой идут Опять Не переносите ... большой текст свёрнут, показать | |
|
18.346, Аноним (346), 00:54, 19/11/2024 [^] [^^] [^^^] [ответить] | +1 +/– | А эти другие вообще что-то решают Их спрашивать будут Тут есть классные пример... большой текст свёрнут, показать | |
|
19.357, Аноним (335), 07:49, 19/11/2024 [^] [^^] [^^^] [ответить] | +/– | Те кто не спрашивают - теряют добровольных разработчиков Вы не видитие косяков ... большой текст свёрнут, показать | |
|
21.387, Аноним (387), 19:13, 19/11/2024 [^] [^^] [^^^] [ответить] | +1 +/– | Вам, видимо, не нужны Но не все такие как вы История А вот это менеджеров сов... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6.228, Прохожий (??), 10:18, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Если это город, населённый неадекватами (а в программировании это часто именно так, глядя на прорву CVE, поток которых не прекращается даже спустя много лет после написания кода), то вполне нормальный подход проверять каждого на предмет наличия оружия и до, и после.
И нет, в Rust нет GC.
| |
|
5.185, Аноним (185), 05:28, 18/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Раз нельзя назвать рабочим продуктом, то каким образов все это работало? От операционных систем, до стандартных приложений. И вы же, до появления раста, всем этим пользовались. Что с вами не так?
| |
|
6.211, Прохожий (??), 09:39, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>каким образов все это работало
Через пень-колоду. На безрыбье и рак - рыба. Теперь выбор есть.
| |
|
7.245, An (??), 11:06, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну дак и доведите до ума redox со всем альтернативным софтом на rust, что бы можно было сравнить с текущими осями и выбрать.
| |
|
8.265, Аноним (265), 12:54, 18/11/2024 [^] [^^] [^^^] [ответить] | –1 +/– | Че там с хурдом, уже довели до ума или без пары миллиардов от IBM и десятка лет ... текст свёрнут, показать | |
|
9.266, An (??), 13:31, 18/11/2024 [^] [^^] [^^^] [ответить] | +/– | Хочешь сказать, что на Rust из ОС ничего готового нет и не будет А как тогда ср... текст свёрнут, показать | |
|
|
|
|
|
4.12, Аноним (-), 13:42, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Да гарантируется что боров запрещает объектам мутировать и делает так что
> программирование превращается в борьбу с этим самым боровом, а не в
> получение работающего продукта.
С другой стороны это гарантирует что не попробуют освободить еще используемое получив dangling pointer или не сделают освобождение дважды, и тому подобне факапы. Так то нормальная идея вполне. С основной ее прелестью - zero cost как таковое, в рантайме.
| |
|
5.18, Аноним (1), 13:51, 17/11/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
Давно рекомендую всем адептам безопасТности надеть акваланг, спасательный круг запас еды на 10 дней, бронежилет и пробежать марафон 42 км на время. Зато во время марафона ты не утонешь, выживешь если заблудишься, и если в тебя будут стрелять больше вероятность выжить. Сплошная безопасТность. В Саус парке был такой тип который все время в спас жилете ходил по итогу утонул в театре. (И не в театре безопасТности)
| |
|
6.200, Прохожий (??), 09:05, 18/11/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Это, конечно, кривая аналогия. Но кекспертам местным нравится, потому что с логикой у них сплошные проблемы. Почему кривая? Потому что все абстракции в Rust ничего не стоят во время выполнения.
| |
|
7.214, Аноним (212), 09:49, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ага только чтобы эти абстракции написать надо 10 программистов вместо 1 для одинакового результата. Зеро Коста не бывает, а тут и подавно.
| |
|
|
|
10.372, Аноним (371), 13:22, 19/11/2024 [^] [^^] [^^^] [ответить] | +/– | Все мои пет-проекты за последние пару лет на ocaml, немного haskell попробовал, ... большой текст свёрнут, показать | |
|
11.421, Аноним (-), 16:59, 20/11/2024 [^] [^^] [^^^] [ответить] | +/– | КМК, оно останется сугубо вашими пет-проектами и на том и на другом Потому что ... большой текст свёрнут, показать | |
|
|
|
|
|
6.205, Аноним (-), 09:18, 18/11/2024 [^] [^^] [^^^] [ответить] | +/– | Ну, вообще, если ты решил провести отпуск на море - это может быть не такая уж п... большой текст свёрнут, показать | |
|
7.216, Аноним (212), 09:52, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Причем тут отпуск когда тут марафон. Где много людей собралось и бежит по одному маршруту кто быстрее. То что подходит для отпуска на минном поле не подходит для марафона, пойми. То что подходит для хеллоуворлда не подходит для большого проекта такого как движок браузера.
| |
|
8.221, Прохожий (??), 10:02, 18/11/2024 [^] [^^] [^^^] [ответить] | +/– | А в Клаудфлэр, Гугл, Микрософт, Дропбокс, Дискорде, Мозилле, Амазоне об этом зна... текст свёрнут, показать | |
|
|
6.311, Аноним (371), 16:57, 18/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Давно рекомендую всем адептам безопасТности надеть акваланг, спасательный круг запас еды на 10 дней, бронежилет и пробежать марафон 42 км на время
Предлагаю адептам си следующие тезисы: тормоза придумали трусы. А давайте перила уберём, так как они паркуру мешают. И вообще, на их изготовления стройматериалы тратятся. И с балкона, на 24 этаже тоже перила уберём. И изоляцию с высоковольтных вещей тоже снимем.
| |
|
|
6.64, Аноним (1), 15:16, 17/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Zero только в случае если программируешь и запускаешь этот код не ты)
| |
6.206, Аноним (-), 09:21, 18/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> только cost совсем не zero
В случае именно борова, в именно рантайме - кост будет близким к zero, ибо это в целом про компил тайм проверки и анализ времени жизни переменных, грубо говоря.
Тут кто-то ссыль постил, с примерами - и даже образцами где сейчас хрустовский боров перестраховывается, заставляя явно маркировать некоторые вещи, хотя это могло бы быть и не обязательным в тех случаях.
| |
|
|
4.75, Страдивариус (?), 15:57, 17/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Перешел на rust с плюсов. Точнее пишу на обоих. Пока пытался писать на rust по плюсовому, то да, была борба с боровым. Как только достиг дзена, боров потрясающе помогает. Пишешь неделю код, потом запускаешь и с первого запуска почти без багов.
| |
|
5.106, Аноним (105), 17:08, 17/11/2024 [^] [^^] [^^^] [ответить]
| +4 +/– |
Яркое описание того почему на расте нет софта из первых рук. Это я тут даже про тесты не пишу.
| |
|
6.383, Страдивариус (?), 18:12, 19/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ничего не понял. Какие первые руки? Какие тесты ты не пишешь?
Отсутствие софта для юзера на расте? А firefox разве нет?
В целом я бы не стал писать юзерский софт на расте. По одной простой причине - у него нету стабильного ABI, а поэтому его не возможно поставлять с разделяемыми библиотеками - только с теми, которые написаны на других языках со стабильным ABI и к которым есть биндинги в раст. Растовские крейты нужно пересобирать вместе с софтиной. Это плохо в плане обновления после найденных уязвимостей и прочее. Кроме того сам бинарь получается весьма увесистый.
А вот для бэкэнда - отличнейший язык!
| |
|
|
6.199, Прохожий (??), 09:00, 18/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Медленнее и с большим количеством ошибок. И Гугл, и Микрософт уже проверили.
| |
|
7.207, Аноним (-), 09:24, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Медленнее и с большим количеством ошибок. И Гугл, и Микрософт уже проверили.
Эпические галеры^W места для работы рабов^W успешных специалистов...
Правда, сколько галерщика не переименовывай и не раздавай ему суть - менталитет у него останется характерный. Как это так, не дают бесплатный барак и надо самому себе еду добывать? Ну и гадость эта ваша свобода! Да и кнутователь у нас - добрый малый, не так уж сильно лупит, даже шкура не слезает.
| |
|
8.248, Аноним (-), 11:29, 18/11/2024 [^] [^^] [^^^] [ответить] | +/– | Даже интересно, а где ж работаешь ты Мы говорим про менталитет или про языки пр... большой текст свёрнут, показать | |
|
9.273, Аноним (-), 14:30, 18/11/2024 [^] [^^] [^^^] [ответить] | +/– | А я сам на себя работаю Е я ваши галеры и благодетелей - been there, done ... большой текст свёрнут, показать | |
|
|
|
6.247, Страдивариус (?), 11:18, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну это сильно зависит от задачи. Например, с БД сильно приятнее работать на Rust. Сериализация/десериализация тоже.
| |
|
|
|
|
2.3, laindono (ok), 13:28, 17/11/2024 [^] [^^] [^^^] [ответить]
| +6 +/– |
На Rust всё вышеперечисленное либо дешевле, либо zero-cost, либо compile time.
То есть да, сишечку можно превратить в жалкое подобие, но ценой производительности.
| |
|
3.5, Аноним (1), 13:34, 17/11/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Это что за магия такая или трава, про зеро кост? Ты надеюсь сам понимаешь что так не может быть и ты пересказываешь маркетинговые сказки.
| |
|
4.8, Alladin (?), 13:38, 17/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
зероконст, если вы считаете что весь мир обкурился травой то это ваши проблемы, а не мира
| |
4.19, laindono (ok), 13:51, 17/11/2024 [^] [^^] [^^^] [ответить] | +5 +/– | Например вместо 128-битных указателей и прочей подобной фигни есть сильная типиз... большой текст свёрнут, показать | |
|
5.26, Аноним (1), 14:13, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Предлагаю тебе зайти на сайт https://godbolt.org/ написать одинаковый код на расте и сишке и плюсплюске без llvm и пересчитать количество команд. Я конечно понимаю что для вас 10 км не круг и ты может быть найдешь пример где на расте будет меньше инструкция, но среднее количество команд сможешь оценить и ты.
| |
|
6.31, Фнон (-), 14:21, 17/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Я конечно понимаю что для вас 10 км не круг
Я конечно понимаю, что для вас "ну подумаешь сделали double free и подарили root" это не проблема, но другие не хотят писать такой код.
Если вопрос в кол-ве команд - то можно на ассемблере все фигачить (в надежде что пряморукость будет больше чему у оптимизирующего компилятора).
| |
|
7.178, keydon (ok), 03:05, 18/11/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ты же сам начал с производительности и "zero cost" и теперь сам же даешь заднюю. Типичный растоман.
| |
|
6.32, laindono (ok), 14:26, 17/11/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
https://godbolt.org/z/Pv9E74Wan
Окей, простой пример. Одинаковое количество инструкций. Придумай более сложный пример.
Предположу, что ты, когда сам тестил, забыл добавить -C opt-level=3 компилятору Rust. По умолчанию rustc собирает в дебаг режиме.
| |
|
7.36, Аноним (36), 14:35, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Я не хейтер раста или плюсов, но у тебя получился слишком примитивный пример, который не показывает различий в подходе у этих ЯП.
| |
|
8.55, Аноним (55), 14:53, 17/11/2024 [^] [^^] [^^^] [ответить] | +2 +/– | Я вообще другой аноним, но считаю для ответа доказательства моей правоты на... текст свёрнут, показать | |
|
9.66, Аноним (1), 15:21, 17/11/2024 [^] [^^] [^^^] [ответить] | +/– | Явно видно как деградирует уровень аргументации у адептов раста Раньше было бол... текст свёрнут, показать | |
|
10.69, Аноним (-), 15:27, 17/11/2024 [^] [^^] [^^^] [ответить] | +5 +/– | Приходится опускаться на донный уровень оппенентов, тк они по другому не понимаю... текст свёрнут, показать | |
|
|
|
7.65, Аноним (1), 15:18, 17/11/2024 [^] [^^] [^^^] [ответить]
| –3 +/– |
Вот и я говорю нашел едж кейс и пытаешься им что-то себе доказать. Но это лишь доказывает бессмысленность существования раста.
| |
|
|
5.30, Ан (??), 14:21, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Для типов, не меняющих свой размер, ничего держать в RAM не требуется, всё известно на этапе компиляции.
поэтому чтобы код был безопасным надо чтобы всё было написано на раст, один внедряла в ядро уже сдулсо..
| |
|
6.42, Аноним (-), 14:40, 17/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
> один внедряла в ядро уже сдулсо..
из-за дидов-"вы не заставите миня учить раст, ррряяя!!!1"-неосиляторов.
Перешел туда, где его умения ценятся. И правильно сделал.
Пусть лучше меньше дырений будет в андроиде, хроме, винде. А ядро... типа кому оно нужно.
| |
|
7.50, Ан (??), 14:48, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Пусть лучше меньше дырений будет в андроиде, хроме, винде. А ядро... типа кому оно нужно.
просто мир так устроен - что-то делается если есть заинтересованность, в космос запусти процессор и он весь будет в дыренях из-за радиации - все вычисления проверяются в рантайме
| |
7.111, Аноним (335), 17:29, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Вы про того, кто придя в проект как разработчик, захотел свою работу свалить на других а сам рулить?
Мало того, что эта работа, как и было сказано бессмысленная по своей сути. Так у него еще и наглости хватило пытаться ее на других взвалить.
Те смотрели на дитятко, ну из ..вна куличики лепет. Пусть, себе, лепет. Никому не мешает.
Но когда он закатил истерику, давайте все вместе помогайте мне из ..вна куличики лепить. Диды, конечно, не выдержали и послали.
| |
|
|
|
10.167, Аноним (167), 22:35, 17/11/2024 [^] [^^] [^^^] [ответить] | +/– | Раздолбаи обделываются уже почти 30 лет Он не просто так упомянул You d think t... большой текст свёрнут, показать | |
|
11.169, Аноним (335), 23:08, 17/11/2024 [^] [^^] [^^^] [ответить] | +/– | Поэтому ядро захватывает мир А у тех кто делал микроядро или на безопасных язык... большой текст свёрнут, показать | |
|
12.170, Аноним (-), 23:34, 17/11/2024 [^] [^^] [^^^] [ответить] | +/– | Лол, сколько там комплектов Minix в мире работает Сколько всяких девайсов Threa... большой текст свёрнут, показать | |
|
|
|
15.340, Аноним (335), 21:59, 18/11/2024 [^] [^^] [^^^] [ответить] | +/– | Не интересно общаться на эти тему с людьми с альтернативной логикой Вот даже та... большой текст свёрнут, показать | |
|
|
13.262, Ан (??), 12:25, 18/11/2024 [^] [^^] [^^^] [ответить] | +/– | Сколько всяких девайсов ThreadX ныне Azure RTOS было выпущено Больше 10 милли... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
4.288, Аноним (371), 16:08, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Очередной дремучий человек не понимает, что если в языке нет, например, null, то и разыменновывания нулевого указателя тоже не будет. Парадокс блаба крепко держит опеннетовских анонимов.
| |
|
5.439, Аноним (439), 19:29, 20/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> если в языке нет, например, null
то это не значит, что его в этой процессорной архитектуре нету. Это просто значит, что язык замёл мусор под ковер, спрятав null от программиста. А в ассемблере он есть.
| |
|
|
3.177, Аноним (177), 03:00, 18/11/2024 [^] [^^] [^^^] [ответить] | +1 +/– | Не бывает в рантайме zero-cost Физически невозможно Либо деплоить пользовател... большой текст свёрнут, показать | |
|
4.217, Прохожий (??), 09:53, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Надеюсь, вы слышали про разные способы линковки бинарников?
Zero-cost - это не про итоговый размер бинаря. Раст при статический линковке добавляет в код свои стандартные библиотеки. Поэтому размер бинаря может быть большим. Но это не значит, что ваш конкретный код будет медленнее в итоге. Примеры здесь уже приводились.
| |
4.226, Аноним (-), 10:15, 18/11/2024 [^] [^^] [^^^] [ответить] | +2 +/– | Но зачем Все типы, null-проверки, разбор инвариантов, и прочее compile-time буд... большой текст свёрнут, показать | |
4.293, Аноним (371), 16:13, 18/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Либо деплоить пользователям бинарь, собранный в дебаг режиме и огребать по полной с просадками производительности, либо собираеть без рантайм-проверок и молиться
Емнип рантайм проверки в расте только для размеров массивов. В си нет никакого способа убедится, что указатель не null во время компиляции, в rust - есть, часть сишных проверок уже не нужна. В си нет никакой возможности убедится, что нет double free, в rust для большого количества ситуаций - есть, опять же минус проверки. Вы бы в теме начали разбираться, прежде чем троллить.
| |
4.322, laindono (ok), 19:41, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Там сейчас порядка 40 тысяч строк кода и почти 250 зависимостей в древе, при чём некоторые из них жирные прям на кодеген вроде serde или nalgebra. Я ради интереса посмотрел, сколько по итогу получается. Где-то 300-400 кб вышло до strip (285 после полной оптимизации на размер).
Ну тоесть да, туда запихнули дебажную инфу в полном объёме. На производительность это не влияет. Страдают только те, кто не может купить себе хотяб какое-то минимальное количество памяти (если меньше 8 гигов, то это у тебя какое-то железо для embedded или раритет). Зато мейнтейнер теперь будет читать читабельные issue при поломках.
| |
|
|
2.11, Аноним (11), 13:41, 17/11/2024 [^] [^^] [^^^] [ответить]
| +7 +/– |
Справедливости ради, отлов ошибки во время компиляции гораздо лучше аварийного завершения во время выполнения.
| |
|
3.53, _kp (ok), 14:51, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну, так поставил ловушку, перехватывай и обрабатывай, кто ж запретит..
А если именно бросать неосвобожденные объекты на самотек, то вполне вариант.
| |
|
4.274, Аноним (-), 14:42, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Ну, так поставил ловушку, перехватывай и обрабатывай, кто ж запретит..
> А если именно бросать неосвобожденные объекты на самотек, то вполне вариант.
Ну, ехал ты на гироскутере, и фирмварь державшая тебя на неустойчивой хрени - в рантайме поймала ловушку... а круто, да?! :). И это всего лишь потребиловка обычная, без особых требований.
А теперь представь что баг отловлен компилтайм. Некая разница, не так ли? Хотя конечно вы можете признать себя существом второго сорта и никогда не уметь вон такое, будет прикалывать тех кто так может, хорошо же когда всякие овощи - не конкуренты :)
| |
|
5.283, _kp (ok), 15:49, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Ну, ехал ты на гироскутере, и фирмварь державшая тебя на неустойчивой хрени
> - в рантайме поймала ловушку... а круто, да?!
Вы на Питоне не пишете? А то там, что не перехват ошибок, то только для того чтобы точно так же грохнуться, но с красивым длинным некрологом.
А перехват ошибок делают что бы обработать ситуацию и продолжить работу. ;)
| |
|
6.330, Аноним (-), 20:50, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Вы на Питоне не пишете?
Нет конечно, за кого вы меня считаете?!
> А то там, что не перехват ошибок, то только для того чтобы точно так же грохнуться, но с
> красивым длинным некрологом.
Ну так за это все и любят питон и питонистов. Особенно если это выпилить и заменить удалось, тогда сразу хорошо - что все это не у меня!
> А перехват ошибок делают что бы обработать ситуацию и продолжить работу. ;)
Очень круто показало себя в апгрейдере убунты, завалившем мне больше апгрейдов чем доехав до финиша. Вот уж бенефит то, супертул просто!
| |
|
|
4.295, Аноним (371), 16:15, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Ну, так поставил ловушку, перехватывай и обрабатывай, кто ж запретит..
У вас произошло разыменновывание нулевого указателя/повторное освобождение памяти. Что вы тут обрабатывать собрались?
| |
|
5.299, _kp (ok), 16:23, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Что вы тут обрабатывать собрались?
Если речь о ПО гироскутера, то немедленно запустить аварийный вариант контроля устойчивости, перезапустить ПО, или часть ПО, и попытаться установить предыдущий режим движения, чтоб тушка на гироскутере вообще ничего не заметила.
Если речь о заводском ПО, то постоянные баги все же не уместны, а единичные надо обрабатывать, а не резко прекращать работу.
| |
|
6.309, Аноним (371), 16:54, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Если речь о ПО гироскутера
О по гироскутера речь в соседней ветке
>а единичные надо обрабатывать
Где проходит разница между постоянными и единичными?
>а не резко прекращать работу
Образовался у вас висячий/нулевой указатель. Как вы собираетесь обрабатывать эту ситуацию? Только не заговаривайте зубы, а по шагам распишите, что тут нужно делать. Для полноты картины, представьте, что этот висячий/нулевой указатель лежит в самом начале пользовательских данных, и попытка сохранить результаты работы приведёт к его разыменовыванию.
| |
|
7.317, _kp (ok), 17:48, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Только не заговаривайте зубы,
Возникло, как минимум, событие "недоверия к работающему экземпляру ПО".
Тут его путь только в топку, или весь процесс или отдельные объекты.
Только не сброс или останов, а контролируемый перезапуск, или о откат состояния, с последующим восстановлеиием состояния близком к тому, что было до сбоя.
| |
|
6.332, Аноним (-), 21:00, 18/11/2024 [^] [^^] [^^^] [ответить] | +/– | Это как И чем от основного отличается И что значит - немедленно Любая операци... большой текст свёрнут, показать | |
|
7.361, _kp (ok), 09:45, 19/11/2024 [^] [^^] [^^^] [ответить] | +/– | Ну, ладно пол-микросекунды на поддержание равновесия, и 10-40 mS на пользователь... большой текст свёрнут, показать | |
|
8.366, Аноним (-), 12:32, 19/11/2024 [^] [^^] [^^^] [ответить] | +1 +/– | Конечно не пол микросекунды, но если юзер бодренько чешет - частота коммутаци... большой текст свёрнут, показать | |
|
|
|
|
|
|
4.168, Аноним (168), 22:41, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Аварийное завершение наоборот лучше чем выход за пределы.
Вы еще и не понимаете написанного. Или ловко всё свели только к "выходу за пределы". Вам сказали, что до ошибки в рантайме и не дойдет, ошибочный код будет отловлен еще на этапе компиляции, исполняемого файла даже не получите, чтобы там получился (условный!) "выход за пределы" или аварийное завершение. А так-то да, аварийное завершение лучше, чем критическая ошибка в эксплуатации, согласен. Но некомпилирующаяся из-за кривого ошибочного кода программа еще лучше. О чем и написал аноним выше.
| |
|
|
2.33, Аноним (-), 14:29, 17/11/2024 [^] [^^] [^^^] [ответить]
| +8 +/– |
> а всего то надо было сделать безопасную сишку
Так это и не сишка, а какой-то кадавр с си-синтаксисом.
В соседних темах люди не хотят использовать раст из-за просадки производительности на 1-2% по сравнению с чистой сишкой.
А тут просадка в "1.5-5 раз" (ПЯТЬ!!!) и вы называете это заменой сишки??
Лучше уже на шарпе или свифте писать вместо этого недоразумения.
| |
|
3.41, Аноним (41), 14:39, 17/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Там не 1-2%. Всё, что во время компиляции не вычислить, не бесплатно.
| |
|
4.60, Анонимусс (-), 15:09, 17/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Всё, что во время компиляции не вычислить, не бесплатно.
Таки да. Простот сишники заб(и|ы)вают на проверки.
А если проверять всё как нужно, то внезапно в си добавляется дофига рантайм проверок, т.к. компайлтам проверки практически отсутствуют. В отличие от раста.
Плюс на расте нужно уметь писать.
Вот прикольный тред users.rust-lang.org/t/rust-vs-c-vs-go-runtime-speed-comparison/104107/38
У чела раст оказался в 10+ раз медленнее. Но он не сказал "раст фигня!", а пошел разбираться что не так. И оказалось, что при идиоматическом написании кода можно получить код, который выполняет даже бытрее чем си. Хотя си, наверняка там тоже еще можно было поковырять.
| |
|
3.115, Аноним (335), 17:31, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Это хороший инструмент отлавливать ошибки.
Знаешь, что есть проблемное место. Собираешь - тестируешь. Ловишь - исправляешь.
Возвращаешь назад обычную Си. Просто еще один способ отловить ошибку.
| |
|
4.223, Прохожий (??), 10:13, 18/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
>Это хороший инструмент отлавливать ошибки.
Вообще, не очень хороший для сколь-либо крупного проекта.
>Знаешь, что есть проблемное место.
Программа на Си - это часто везде одни сплошные проблемы, что и показывает многолетняя практика.
>Просто еще один способ отловить ошибку.
Ошибки гораздо эффективней ловить на этапе компиляции.
| |
|
5.450, wyry (ok), 22:43, 20/11/2024 [^] [^^] [^^^] [ответить] | +1 +/– | Что не так Фактически инструмент гарантирует безопасность по памяти и убивает л... большой текст свёрнут, показать | |
|
6.469, Аноним (-), 10:41, 21/11/2024 [^] [^^] [^^^] [ответить] | +/– | А как вы докажите эквивалентность результатов от двух b разных b компиляторов... большой текст свёрнут, показать | |
|
|
|
|
2.35, Аноним (55), 14:33, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> А визгу то стояло на опеннете что сишка небезопасная, а всего то
> надо было сделать безопасную сишку и никакой раст больше никогда никому
> не необходим.
О, опять перепись не умеющих читать опеннетных Экспердов^W Военов Супротив Раста ...
> Защита от проблем с памятью обеспечивается благодаря применению 128-разрядных указателей MonoCaps с метаданными для проверки типов и отслеживания границ буферов, а также задействованию сборщика мусора FUGC
> При каждом обращении к памяти по указателю осуществляется проверка границ и типа (например, в память с типом "ptr" не могут быть записаны данные с типом "int" и наоборот).
> собираемые в Fil-C программы медленнее примерно в 1.5-5 раз, по сравнению со сборкой обычными компиляторами
> | |
2.49, Аноним (-), 14:47, 17/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это поделие надо сравнивать с Go или Java, но никак не с Rust.
| |
2.54, Аноним (-), 14:53, 17/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ахаха, какое молниеносное переобувание. От "сишка быстрее раста на 5 процентов" до "замедление в 5 раз это норм" и "GC рулит".
| |
2.71, Аноним (371), 15:35, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
В то время, когда типизированный код, не важно, на rust, ocaml или haskell приниципиально защищён от некоторых ошибок, например null pointer, сишники изобретают какую-нибудь java, который будет падать с NPE. Словно мы живём в 1990-ых, а не 2020-ых.
А ATS сишникам даже и не снится.
| |
2.83, Аноним (83), 16:18, 17/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Типы стали как в бейсике (с аппаратно-зависимыми границами) плюс сборщик мусора. Вообщем как у многих ЯП. Остался только синтаксис.
| |
|
1.6, Аноним (1), 13:36, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Конечно не мешало бы более подробно расписать чем сабж лучше zig, но в первом приближении ничем.
| |
|
2.21, Аноним (-), 13:57, 17/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
zig если и иожно сравнивать - то с СИ.
До плюсов ему еще расти и расти.
(Если он вообще дорастет до чего-то внятного).
А сабж, как заявляется, поддерживает С++ - вот уже причем "чем лучше".
Как в анекдоте
"- Ну чем он лучше?
-- Чем Zig!"
| |
2.25, Анонимусс (-), 14:10, 17/11/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
А чем вообще зиг лучше чем си в плане безопасности?
Как сделать use-after-free на "безопасном" zig'e демонстрировали не раз и не два
opennet.ru/openforum/vsluhforumID3/132732.html#71
opennet.ru/openforum/vsluhforumID3/134833.html#48
У зига есть свой unsafe для рантайма @setRuntimeSafety(false), что те же зиганутые и сишники указывали недостатком раста.
В общем когда это васяноподелие дорастет хотя бы до версии 1.0 - тогда и поговорим.
| |
|
3.27, Аноним (1), 14:15, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Так если на сабжевом языке начать снимать штаны через голову тоже можно что-нибудь словить. Так что в этом плане паритет.
| |
|
4.29, Анонимусс (-), 14:20, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Так если на сабжевом языке начать снимать штаны через голову тоже можно что-нибудь словить.
Та ну. Это просто максимально упрощенный пример.
В сишке тоже такие примеры выглядят смешно "Да кто так вообще может писать??".
И при этом use-after-free попадает в тройку самых популярных причин дыреней.
> Так что в этом плане паритет.
Теорема Эскобара в действии))
Ну и зачем оно тогда нужен. Особенно с такими ограничениями как жырнючие указатели и ломание ABI.
| |
|
|
2.40, Аноним (36), 14:39, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Тем что не нужно переписывать код и сишки? И там что заявлена поддержка механизмов "безопасного" программирования?
Каким местом ты вообще сюда zig приплёл?
| |
|
3.47, Аноним (-), 14:46, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Тем что не нужно переписывать код и сишки?
Что значит не нужно?
Прямо в новости написано:
Другим ограничением Fil-C является принципиальный отказ от сохранения совместимости на уровне ABI для кода на C/C++, что не позволяет связывать собираемый в Fil-C код с библиотеками и объектными файлами, собранными другими компиляторами.
Это значит, что для взаимодействия с другими либами тебе придется переписывать все или почти все.
А учитывая просадки в производительности - то нафига оно вообще надо?
| |
|
4.275, Аноним (-), 14:47, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Это значит, что для взаимодействия с другими либами тебе придется переписывать все
> или почти все.
> А учитывая просадки в производительности - то нафига оно вообще надо?
Не переписывать а перекоммилировать. Но в силу развития айти и интеллекта некоторые не понимают разницу между API, ABI и прочими глупостями. Наплодили, понимаешь, умных слов!
| |
|
5.278, Аноним (278), 14:56, 18/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Не переписывать а перекоммилировать.
Удачи тебе перекомпилять древних хлам без переписывания)
Особенно если оно приклолочено гвоздями к хакам конкретного компилятора.
| |
|
6.334, Аноним (-), 21:19, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Удачи тебе перекомпилять древних хлам без переписывания)
А в чем проблема, собссно? Я скажу -std=чего там (C89 какой?). Компилеры его как умели так и умеют. Лемпелзив 1990, или какого там года - взял и просто скомпилился. Более древние сорцы чем это? K&R C чтоли? Если что на нем написано - может, бобик, таки, сдох и с него надо слезать? Но такой сорц найти реально разве что в музее, в реальном софте окружающем меня я вообще этот синтаксис ни разу не встречал.
> Особенно если оно приклолочено гвоздями к хакам конкретного компилятора.
Не сказать что какая-то массовая проблема в случае сишки. Это ж не питон где каждую версию новые приколы.
| |
|
|
|
|
2.156, Аноним (156), 21:26, 17/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Тем, что неадекваты не выпиливают с языка многострочные комменты
| |
2.267, Аноним (371), 13:31, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Зачем нужен зиг, если он не вбирает в себя развитие типизации, аналогичное ocaml/haskell/rust/ats?
| |
|
|
2.45, Аноним (36), 14:43, 17/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Нет, это не внешняя тулза для поиска "сишных дыреней" при выполнении.
А встроенная система для поиска "сишных дыреней" при выполнении.
То есть скорее на минималках, чтобы его можно было в рантайме с меньшими издержками применять. И нельзя было просто выключить извне.
| |
|
1.10, Аноним (-), 13:40, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
> - All allocations are *garbage collected* using
Ну, блин, да... яву можно и из сишки сделать. Я так то и -fsanituze=address,undefined могу вхреначить с тем же успехом.
| |
|
2.23, Аноним (-), 14:00, 17/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
А поможет?
Тут на форуме кидали ссылку на "очередную сишную дырень" в проекте обмазанному санитайзерами.
Искать лениво, но там оно не помогло.
| |
|
3.48, Аноним (36), 14:47, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Потому что не было покрыто тестами, очевидно.
И фаззинг не выполняется, или неправильно прикручен.
Если бы релиз распространялся бы с санитайзерами, то твоя "дырень" бы просто не выстрелила, так как программа бы скоропостижно скончалась. И работала бы в 10 раз медленнее.
| |
3.276, Аноним (-), 14:50, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> А поможет?
> Тут на форуме кидали ссылку на "очередную сишную дырень" в проекте обмазанному санитайзерами.
Ну если вы готовы скорость в N раз продолбать - то таки asan неплохо факапы работы с памятью просекает. Но это нифига не бесплатно, как и у того сэра.
> Искать лениво, но там оно не помогло.
А на моей памяти - ряд проектов таки под sanitizer'ами и выловили ряд багов и вулнов. Просто не все готовы платить такую цену чтобы постоянно в режиме условной "явы" работать, с инструментацией кода и кучей проверок.
| |
|
4.279, Аноним (278), 15:06, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> А на моей памяти - ряд проектов таки под sanitizer'ами и выловили ряд багов и вулнов.
Например тот же CLANG, судя по их аудиту
opennet.ru/opennews/art.shtml?num=60707
> Просто не все готовы платить такую цену чтобы постоянно в режиме условной "явы" работать, с инструментацией кода и кучей проверок.
А ядро, на котором крутится и финасовая инфраструктура, и миллионы серваков, и даже пользоватльские девайсы, это достаточно критично чтобы уплати цену или еще нет?
| |
|
|
2.28, Фнон (-), 14:17, 17/11/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Не поможет.
Вот хрестоматийный пример из такой "ненужной" SSL либы:
Целая куча дыреней в OpenSSL/LibreSSL - https://www.opennet.ru/opennews/art.shtml?num=58622
- чтение из области вне границ буфера
- Use-after-free
- двойное освобождение памяти
- некорректное разыменование указателя
- разыменование указателя NULL (x2)
ну и еще одна логическая проблема, которая решается нормальными типами
При этом ворнинги включены, оба проекта обмазаны санитайзерами по самое немогу - и memory, и thread, и еще куча других
https://github.com/openssl/openssl/actions/runs/4124496105
Там даже фаззинг какой-то есть.
Так что санитайзеры и анализаторы это как "мертвому припарки".
Да может что-то найдется из элементарного, но скорее для самоуспокоения "я сделал все что мог"))
| |
|
3.153, Аноним (153), 20:15, 17/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Уязвимость вызвана неправильной интерпретацией типов (Type Confusion) при обработке адреса
-В большинстве ситуаций для успешного осуществления атаки злоумышленник должен контролировать используемый список отозванных сертификатов (CRL)
-Для успешного проведения атаки требуется отправка очень большого объёма пробных сообщений для расшифровки.
-Атака может привести к аварийному завершению приложения или утечке содержимого памяти процесса, выполняемого на стороне клиента
-уязвимость ограничена возможностью инициирования аварийного завершения процесса.
- ...
и так далее. Если кратко то все заканчиватся тем что при попытке выхода за границы - программа крашится ибо собрана с защитой.
Тут скорей хакер и солонка...
| |
|
4.264, Аноним (264), 12:48, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Если в проекте используются анализаторы и прочие детекторы, очевидно, что в релиз попадут только те дыры, которые этими детекторами не находятся.
| |
|
3.277, Аноним (-), 14:52, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Не поможет.
> Вот хрестоматийный пример из такой "ненужной" SSL либы:
> Целая куча дыреней в OpenSSL/LibreSSL - https://www.opennet.ru/opennews/art.shtml?num=58622
Так ты ее с asan/ubsan собери - и при попытке выйти за буфер процесс будет просто прибит нафиг, на манер паники в хрусте. А то что скорость просела и RAM больше жрет - так, блин, даже хруст например integer математику только в дебагбилдах санитизирует, по тем же причинам! А в рантайме таки упс :)
| |
|
|
1.16, Stanislavvv (?), 13:51, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> С незначительными модификациями поддерживается сборка OpenSSH
Интересно, это как когда-то в дебиане, где вырезали нужное?
| |
|
2.38, Аноним (-), 14:37, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>> С незначительными модификациями поддерживается сборка OpenSSH
> Интересно, это как когда-то в дебиане, где вырезали нужное?
Жирный набросю. В дебиане ничего нужного не вырезали.
Это просто вы почему-то считаете ненужное нужным.
| |
|
1.22, Аноним (22), 14:00, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
А он то этот компелятор новый совместим полностью со старым кодом? Или это новое слово в науке, типа Раста.
| |
1.34, Аноним (-), 14:29, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Лол, история Раста это прямо как в цитате
"Сначала они тебя не замечают, потом смеются над тобой, затем борются с тобой, а потом" ... начинают лепить корявые велосипеды из костылей
Видно последние заявления АНБ и прочих про "дырявые языки" слишком много пятых точек подожгло.
| |
|
2.227, Соль земли (?), 10:17, 18/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не столько языки дырявые, сколько руки погромистов. Тот же Си просто даёт полную свободу. Найдите те дыры, которые именно компилятор создаёт.
| |
|
3.241, Аноним (241), 10:54, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
У тебя логика сломалась. Если программист всегда виноват, то компилятор в принципе дыр создать не может, это всегда будет вина программиста. Какой пример ты тогда ожидаешь?
А вот если все перевернуть, чтобы всегда был виноват компилятор, тогда все становится на свои места и сразу понятно какие дыры производят компиляторы.
| |
|
2.234, Pathfinder (?), 10:32, 18/11/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Да кто борется с Растом? Пускай себе развивается. Никто ему это не запрещает. Просто растаманы думают, что все должны обратиться в их веру. А на самом деле, никто никому ничего не должен.
| |
|
1.51, Аноним (51), 14:48, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Еще раз повторяю. Это просто противоречит причинам, по которым создавался Си. Посмотрите сурцы Win 3.1 SDK. Там все на голом асме. Вот чтобы не писать на нем, но иметь те же преимущества по размеру и производительности - изобрели Си. Если Си завернуть в виртуальную машину или что то типа того - от него не будет никакого толку. Просто нынешнее поколение проггеров это не понимает. Они уже привыкли писать ОС на питоне. После этого уже ничего не страшно.
| |
|
2.57, Аноним (-), 14:55, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Да, ты полностью прав.
СИ - это переносимый ассемблер *
И его делали, чтобы даже самые тупые прогаммеры (не осилившие фортран) могли наовнячить по быстрому какой-то код. Типа ПХП из 70х.
Про корректность или безопасность вообще никто не думал.
Как и про "архитектуру языка". Об этом начали думать примерно когда сочиняли АДУ.
* но придется обмазаться ifdef'ами. и подобрать нужную версию компилятора.
И надеяться, что создатели компилятора обработали UB и твой код не сделает тебе больно.
И молиться, что при переходе на след версию языка поведение не поменяется.
А так, в общем вполне переносимый))
| |
|
3.70, Аноним (1), 15:28, 17/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Какая безопасность когда у тебя в 70-х сотня ЭВМ на всё США. Если в него залезет хакер и выйдет за пределы буфера, он ничего там не найдет. Кроме безысходности. Больше того сейчас критическая инфраструктура не использует раст, а просто использует закрытый контур. Точно так же как в 70-е. И в 1 году после р.х. Кому нужны твои котики на пхп сайтике? Даже от майнера там толку нуль.
| |
|
4.72, Аноним (-), 15:39, 17/11/2024 [^] [^^] [^^^] [ответить] | –1 +/– | Именно Но сейчас уже не 70е А сейчас у тебя в компе смартфоне куча важной инфы... большой текст свёрнут, показать | |
|
5.233, onanim (?), 10:30, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> аппаратные решения
то есть контроллеры с прошивкой на этом вашем богомерзком Си?
| |
|
|
7.423, Аноним (-), 17:11, 20/11/2024 [^] [^^] [^^^] [ответить] | +1 +/– | Угу, щас Разработать чип стоит несколько мегабаксов Жаба зачастую побеждает - ... большой текст свёрнут, показать | |
|
|
5.235, Прохожий (??), 10:37, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>И слава богу. Не дорос он еще до нее.
Вроде, только организационно. Технически уже вполне годный язык, в том числе для критической инфраструктуры.
| |
|
6.237, Аноним (-), 10:39, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Вроде, только организационно. Технически уже вполне годный язык, в том числе для критической инфраструктуры.
Да, организационно.
Но зная как всякие организации любят бюрократию, это тоже важный момент.
Вон сишники как гордятся своим ISO стандартом, просто неистово)
Хотя стандарт на половину состоит из "а ХЗ как тут сделать - пусть компилятор разбирается. Даже если это 2 числа сложить".
| |
|
7.425, Аноним (-), 17:13, 20/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Вон сишники как гордятся своим ISO стандартом, просто неистово)
> Хотя стандарт на половину состоит из "а ХЗ как тут сделать -
> пусть компилятор разбирается. Даже если это 2 числа сложить".
Хреновый стандарт все же лучше чем никакого стандарта вообще - когда какая-то горстка хипстеров в ночнушке очередной раз корежит синтаксис яп по желанию левой пятки, у брутальных индустриалов возникает понимание что да, это в safety critical пока рано. Слишком дерганое пока.
| |
|
|
9.446, Аноним (446), 21:16, 20/11/2024 [^] [^^] [^^^] [ответить] | +/– | Но когда нет никакого стандарта - жто еще хреновее Сравнивать просто не с чем ... большой текст свёрнут, показать | |
|
10.467, Аноним (-), 10:26, 21/11/2024 [^] [^^] [^^^] [ответить] | –1 +/– | Неа Хреновый стандарт это просто обман и завышенные ожидания У нас тут мега я... большой текст свёрнут, показать | |
|
11.473, Аноним (-), 12:15, 21/11/2024 [^] [^^] [^^^] [ответить] | +/– | Операция сравнения подразумевает два операнда Можно быть хорошим и хреновым тол... большой текст свёрнут, показать | |
|
12.476, Аноним (-), 12:52, 21/11/2024 [^] [^^] [^^^] [ответить] | –1 +/– | У тебя я вижу какая-та фиксация на лопатах и ночянушках Может тебе лучше к докт... большой текст свёрнут, показать | |
12.479, Аноним (479), 13:23, 21/11/2024 [^] [^^] [^^^] [ответить] | +/– | Здесь я полностью согласен От очень многих вещей в C я тоже не в восторге и п... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
3.77, Аноним (77), 16:06, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> придется обмазаться ifdef'ами. и подобрать нужную версию компилятора.
Это не совсем так. У меня 100% исходников компилируются GCC под ОС Linux, Windows (MinGW), BSD, macOS и Haiku.
| |
|
4.80, Аноним (-), 16:09, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Это не совсем так. У меня 100% исходников компилируются GCC под ОС Linux, Windows (MinGW), BSD, macOS и Haiku.
Хм.. предположу что это не helloworld.
А как решаются системо-зависимые штуки?
Ну хотя бы пути к файлам, которые для Linux, Windows и macOS слегка разные?
| |
|
|
6.123, Аноним (-), 17:52, 17/11/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
А, т.е у тебя эти все ifdef просто завернуты в другую либу?
Ну тогда програмы на электроне это круто, а JS - тоже полностью переносимый язык)
| |
|
7.164, Аноним (335), 22:05, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> А, т.е у тебя эти все ifdef просто завернуты в другую либу?
> Ну тогда програмы на электроне это круто, а JS - тоже полностью переносимый язык)
Попробуй сказать что JS непереносим. Посмеёмся. Он для этого и создавался. Вот только он интерпретируемый.
У компилируемых языков есть один способ переносимости - в общем случае для каждой архитектуры своя реализация. У rust с этим проблемы. Потому что надо много кода дублировать. Меньше чем у любого другого языка проблем у C и C++, ибо они изначально заточены на переносимость - получение своей реализации программы для каждой целевой платформы из одного кода (на это работает система типов и условной компиляции).
| |
|
|
5.130, Аноним (77), 18:02, 17/11/2024 [^] [^^] [^^^] [ответить] | +/– | Это приложение научного назначения, а абсолютная кроссплатформенность - это, ско... большой текст свёрнут, показать | |
|
6.142, Аноним (-), 18:22, 17/11/2024 [^] [^^] [^^^] [ответить] | –1 +/– | Ну погоди Тогда это не уникальная особенность СИ или плюсов Сделать некое ядро... большой текст свёрнут, показать | |
|
7.193, фф (?), 07:30, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
вот прям интересно стало - можете привести пример кода, соответсвующего какому-либо стандарту С, без UB, и чтоб от компилятора зависел результат функции?
| |
|
|
9.270, фф (?), 14:06, 18/11/2024 [^] [^^] [^^^] [ответить] | +/– | дык, если в программе есть ub, то компилятор вправе выдавать любой результат Ту... текст свёрнут, показать | |
|
|
7.197, Stanislavvv (?), 08:18, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Но если говорить про си и плюсы - то у них приложение
> может выдавать разный результат, даже при смене версии компилятора.
> Т.е условно на одной машине будет 1, а на другой -1.
> Спасибо дидам из коммитета)
Вообще-то иногда и версию менять не надо — достаточно просто собрать с другими опциями оптимизации...
| |
|
|
|
|
|
2.76, Аноним (77), 16:04, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Phyton уступает C по скорости в 60 тысяч раз. Он никаким образом ему не конкурент.
| |
|
3.92, Аноним (92), 16:45, 17/11/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Производительность даже кор 2 дуо избыточна для тех задач (сеть, I/o) где используется пайтон
| |
|
4.175, uis (ok), 02:01, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Создатели io_uring: "Там хотя-бы 10 тысяч активных соединений наберётся? У нас кор 2 дуо и гигабитка 10 миллионов обрабатывают."
| |
|
|
|
|
4.367, Аноним (-), 12:43, 19/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Напомни, а то у меня вполне нормально работала.
1) Любой процесс Win16 забывший толкнуть очередь сообщений окон гарантировал незабываемый экспериенс. Да, и конечно по первости я понятия не имел что так надо было. Это даже Win95 довольно неиллюзорно клинило так то - такая вот "многозадачность", когда попробуй вообще теперь этот процесс без ребута всей ОС прибить вообще?!
2) Программы могли довольно легко повредить память ОС или сделать что-то фатальное с железом, так что потуги пуска досовых (да и не только) программ часто заканчивались ребутом всего этого целиком. И Win95 страдал тем же самым по тем же причинам.
| |
|
|
2.190, Karl Richter (ok), 07:15, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Си не удовлетворяет потребности в безопасности. А об оптимизации, к сожалению, уже мало заботятся и полагаются на производительность аппаратуры.
| |
|
1.90, ffsdmad (ok), 16:44, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Получается, что Руст не нужен, но спрашивается, а зачем на него вообще тратят время и средства?
| |
|
2.94, Аноним (92), 16:48, 17/11/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
Много чего ненужного существует. Я вот считаю продукцию эппла сферическим ненужно в вакууме,но ведь есть хомячьё, которое её скупает и стоит в очередях перед выходом нового ипхона.
| |
2.95, Аноним (-), 16:49, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Получается, что Руст не нужен,
Неа, как раз с учетом того, что нынешняя поделка "медленнее примерно в 1.5-5 раз" да еще и GC сверху - раст очень нужен)
> но спрашивается, а зачем на него вообще тратят время и средства?
Твои что ли?
В опенсорсе парад велосипедов это норма.
100500 ДЕ, десятки дистрибутивов, сотни однообразных утилит разной степени кривости...
| |
|
3.127, ffsdmad (ok), 17:58, 17/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> Получается, что Руст не нужен,
> Неа, как раз с учетом того, что нынешняя поделка "медленнее примерно в
> 1.5-5 раз" да еще и GC сверху - раст очень нужен)
>> но спрашивается, а зачем на него вообще тратят время и средства?
> Твои что ли?
> В опенсорсе парад велосипедов это норма.
> 100500 ДЕ, десятки дистрибутивов, сотни однообразных утилит разной степени кривости...
я думаю, что не стоит очаровываться на долгий период Рустом, поигрались и ладно
| |
|
4.149, Аноним (-), 19:35, 17/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
А зачем им очаровываться вообще?
Он свою задачу выполняет? Выполняет.
Безопаснее чем сишка? Безопаснее.
Что тебе еще нужно?
Очаровательный ли он? Совсем нет. Есть что улучшать.
Если через 10 лет выпустят убийцу раста, который будет давать еще больше гарантий - ну так это будет круто.
> поигрались и
используем в проде. И не только мы.
| |
|
5.166, Аноним (335), 22:11, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Что тебе еще нужно?
Нужно:
1. В системах с общей памятью для всех процессов я бы хотел гарантию невозможности получить доступ к памяти соседнего процесса при использования только безопасного режима. Гарантии. Ее, к сожалению нет.
Или
2. Возможность нормальной условной компиляции, что бы не надо было дублировать практически всю функциональность для разных реализаций. То, что просто необходимо для системного языка. Сейчас у rust слезы а не условная компиляция.
| |
|
6.171, Аноним (-), 00:19, 18/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> 1. хотел гарантию невозможности получить доступ к памяти соседнего процесса
Интересное желание. Такое где-то реализовано?
> 2. Возможность нормальной условной компиляции
А можно пример языка, где, по вашему мнению, сделано так как нужно?
Или оно просто везде плохо, но от этого не легче?
| |
6.243, Прохожий (??), 11:02, 18/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
>1. В системах с общей памятью для всех процессов я бы хотел гарантию невозможности получить доступ к памяти соседнего процесса при использования только безопасного режима.
Это, вообще, как? Вот есть общая память, вот есть процессы, которые её сообща используют (из условия задачи). Но вам нужно, чтобы один процесс не залез в память другого процесса. Так память общая или уже не совсем?
У Раст, если что, есть такие типы, как RC, RefCell.
| |
|
7.296, Аноним (296), 16:16, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Очень просто. На уровне ядра сделать функцию для доступа к памяти с аргументом is_safe_call_from_rust_i_swear_to_god и все запросы к памяти из данного языка проводить через неё.
Если true, то позволять доступ к памяти, если нет, то kernel panic.
| |
|
|
|
|
3.187, Аноним (185), 05:33, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Это без оптимизаций. Они лишь реализовали необходимый функционал..
| |
|
2.102, Аноним (-), 16:59, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Удивительно, что про ненужность раста пишет Илья - Веб-программист, который программирует на Python и JavaScript (рак современного интернета).
И который рассказывает про Flask/Angular1/Vue2.
| |
|
3.124, ffsdmad (ok), 17:53, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
А я и на Си программирую и на Руст, но от Руст начинает подташнивать. Карго у них хорош, вот его в Си не хватает
| |
|
4.126, Аноним (-), 17:58, 17/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А я и на Си программирую и на Руст
Верим, верим.
Но лучше уж на JS.
| |
|
|
|
3.141, Анонимусс (-), 18:21, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> его лоббируют майки
Его лоббирует гугл.
Не просто так они весь дыряшечный код заменяют на раст или на крайняк на с++.
Хотя если посмотреть на поддерживающих Rust Foundation, то там и AWS, и Meta, и Huawei... и это только платиновые)))
| |
|
4.179, keydon (ok), 03:20, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
https://foundation.rust-lang.org/about/
Гугл, майкрософт, амазон, мета.
Раньше еще нагляднее было из каких организаций, но достаточно погуглить резюме этих членов.
Самое эпичное из того что видел "я не кодю на расте и вообще не кодер, но работала с парламентами и правительствами и такими организациями как гугл и мета" (немного вырвал из контекста, но общий смысл думаю понятен).
| |
|
5.230, Аноним (-), 10:25, 18/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
> https://foundation.rust-lang.org/about/
> Гугл, майкрософт, амазон, мета.
> Раньше еще нагляднее было из каких организаций, но достаточно погуглить резюме этих членов.
Т.е это компании которые делают программы и сервисы которыми пользуются миллионы людей (или даже миллиарды)? Например - винда и хром.
> Самое эпичное из того что видел "я не кодю на расте и вообще не кодер, но работала с парламентами и правительствами и такими организациями как гугл и мета" (немного вырвал из контекста, но общий смысл думаю понятен).
И? Неужели мнение какого-то васяна из интернета так сильно влияет на твое мнение?
Ты смотри "по делам".
Вон клоудфаря пропускает через раст кучу трафика и ничего, не жалуются.
| |
|
|
|
2.161, px (??), 21:49, 17/11/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Нет, всё ещё нужен. Ты просто не разбираешься. Эта штука для того, чтобы проверять косяки прямо во время выполнения, разменивая производительность на, своего рода, безопасность. А Rust, чтобы исключить сам класс ошибок работы с памятью во время выполнения и ничего не проверять.
| |
|
3.180, keydon (ok), 03:22, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Огласите пожалуйста весь список ошибок которые раст гарантированно исключает.
| |
|
4.231, Соль земли (?), 10:25, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Нет указателей на удаленные данные, поскольку область видимости значения и ссылки на него сверяются.
Нет состояния гонки, поскольку значение по ссылке с записью можно передать только один раз (чтобы снова передать, нужно вернуть).
Нет сборщика мусора, поскольку значения удаляются сразу при выходе из области видимости.
| |
4.242, Прохожий (??), 10:55, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Я добавлю к тому, что выше написано.
Строгая типизация означает невозможность кривого приведения типов.
Паттерн-матчинг проверяет все возможные варианты.
Индексы в масивах всегда неотрицательные числа.
Выход за пределы массива проверяется.
Нет UB.
| |
|
|
4.215, Аноним (-), 09:50, 18/11/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Такие заявления, после того, как ты выше ты говоришь о том, что программируешь на расте?
Что ты там программируешь? Хеллоувролд из rust book написал?
| |
|
|
2.229, Соль земли (?), 10:20, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Получается, что ты написал, не подумав. А зачем тогда на тебя родители тратили время и средства?
| |
2.298, Аноним (371), 16:21, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Получается, что Руст не нужен
А вы готовы к тому, что для выполнения тех же задач потребуется в разы больше железа? И для запуска условной xp потребуется последний райзен?
| |
|
1.96, тоже Аноним (ok), 16:51, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Названия компилятора и сборщика мусора почему-то напомнили, что Линус Торвальдс собственную ОС назвал - Freax...
Тут яростно сравнивают проект с Растом, хотя разница вроде бы очевидна.
Раст утверждает: "весь сишный код нужно выкинуть и переписать".
Проект предлагает: "зачем переписывать? Решение компьютерных проблем вполне можно доверить самому компьютеру".
С точки зрения ПО, которому не критична производительность (а это 90% всего софта) - это заведомо более дешевое и перспективное решение, чем "выкинуть и написать правильно".
| |
|
2.99, Аноним (92), 16:54, 17/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> С точки зрения ПО, которому не критична производительность (а это 90% всего софта)
А потом удивляются почему хром тормозит на свежем i9 и RTX какой-то там.
(напомню, что исторически браузер мало чем отличался от блокнота по потреблению ресурсов, когда программисты были программистами и озадачивались оптимизацией)
| |
|
3.104, Аноним (-), 17:05, 17/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
> исторически браузер мало чем отличался от блокнота по потреблению ресурсов
А содержимое браузера было "слегка форматированный ХТМЛ".
Многие поделки из той эпохи, типа линкса или дилло, даже не поддерживают CSS в полном объеме.
Так что твое заявление на уровне "вот раньше телегу можно было починить используя коровью лепеху и палки, не то что сейчас".
| |
3.112, тоже Аноним (ok), 17:29, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Напомню, что современный браузер - это фактически виртуальная машина и среда для исполнения ПО.
Разумеется, к прикладному софту, не требующему оптимизации, браузеры не относятся.
Но относятся к постоянно и динамически изменяющемуся софту, обеспечивающему обратную совместимость. Что неизбежно сопровождается неуклонным ухудшением оптимизации.
| |
|
4.117, Аноним (92), 17:35, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Вспоминаю вэб конца 2000х и начала 2010х, тогда был расцвет нетбуков на немощных атомах, и тот вэб был идеален и в плане дизайна вэб страниц и в плане информационного наполнения. И всё летало, не лагало, сейчас же браузер наверное даже более требователен к ресурсам, чем игры AAA.
| |
|
5.121, тоже Аноним (ok), 17:40, 17/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Вспоминаю вэб конца 2000х и начала 2010х, тогда был расцвет нетбуков
Прошлое идеализируется, есть такой психологический стереотип.
Никакого "расцвета нетбуков" не было - был маркетинговый хайп "вам достаточно ноутбука, на котором мы жестко сэкономили", он лопнул, как и любая ложь.
И сайты тогдашние на них отнюдь не летали. У меня на айпаде с полугигом памяти, например, тормозил и падал... башорг. Да-да, нарочито примитивный сайт... с подключенной баннерной сетью, которая выжирала память, как не в себя.
| |
|
|
|
2.136, 12yoexpert (ok), 18:08, 17/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
> С точки зрения ПО, которому не критична производительность (а это 90% всего софта) - это заведомо более дешевое и перспективное решение, чем "выкинуть и написать правильно".
пока бинарник на расте будет грузиться в раму, сишная прога уже отработает
| |
2.172, Аноним (168), 00:20, 18/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Раст утверждает: "весь сишный код нужно выкинуть и переписать".
Это ты утверждаешь.Раст ничего не утверждает, он даже не ИИ. Ну может еще утверждают фанатики или мегаоптимисты, оторванные от реальности. А прагматики, "проводившие исследования в поле", утверждают, что переписывать весь _старый_ сишный код не надо, надо _новый_ код перестать на нем писать и вести разработку новья хотя бы и на расте (для нативной системщины или разного компилируемого).
| |
2.173, Аноним (-), 00:25, 18/11/2024 [^] [^^] [^^^] [ответить] | +2 +/– | Эээ, если с тобой уже начинают ЯП разговаривать, то наверное стоит отдохнуть Ну... большой текст свёрнут, показать | |
|
1.101, Аноним (101), 16:58, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Безопасные сишечки еще не готовы, а опасный gcc 14 уже жалуется на указатели.
| |
1.125, Филипп Филиппович (ok), 17:55, 17/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Оно мило, может иметь некоторое ограниченное применение, но всё-таки это прикрученный контроль в рантайме, отсюда и оверхед, в том числе и по памяти. А современный подход -- максимум контроля в compile-time, а в рантайме -- только то, что никак при компиляции не сделать. В чистом C сделать контроль многих вещей при компиляции в общем случае почти нереально. В C++ -- тоже только при соблюдении определённого стиля программирования (ибо C++ без ограничений допускает всё, что допускает C, и имеет потому все грабли C).
| |
|
2.201, Аноним (-), 09:07, 18/11/2024 [^] [^^] [^^^] [ответить] | +/– | Я думаю реально, просто никто ещё не занялся Всё что надо, перейти от локальног... большой текст свёрнут, показать | |
|
3.254, Прохожий (??), 11:38, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>но не понимая доказательства программист не сможет ничего исправить
Строго говоря, для того, чтобы пользоваться доказаннной кем-то теоремой, не обязательно понимать её доказательство.
| |
|
|
1.174, uis (ok), 01:57, 18/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Защита от проблем с памятью обеспечивается благодаря применению 128-разрядных указателей MonoCaps с метаданными для проверки типов и отслеживания границ буферов
Ща придёт МЦСТ и скажет "а у нас так в железе давно работает".
| |
1.182, Аноним (-), 04:07, 18/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Диалект языка Си - Cyclone, некто не слышал а? велосипеды умеем городить? А наработки дедов взять нельзя?
| |
1.188, Аноним (188), 06:39, 18/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
FUGC (Fil's Unbelievable Garbage Collector)
c ЧСВ у чувака всё в порядке, как в общем то и у линуса
| |
1.192, Пупсик (?), 07:26, 18/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Я нубик. Объясните в чем была проблема добавить в Си/++ "безопасные функции"работы с памятью, а не создавать новый язык?
| |
|
2.194, фф (?), 07:39, 18/11/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
дык безопасных функций в С и так полно.
во-первых, надо как-то заставить программистов ими пользоваться.
во-вторых, в них можно передать неправильные данные, и тогда все равно всё сломается.
в С принято верить программисту - если он написал что надо сломать стек, значит надо - вдруг это такая хитрая оптимизация?
| |
|
3.374, Аноним (373), 13:37, 19/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Тео же заставил своих программистов пользоваться безопасными функциями.
| |
|
2.208, awoland (ok), 09:24, 18/11/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Пресловутая "небезопасность" C и C++ в большей степени заключается в криворукости программистов. Просто С и С++ позволяет больше свободы для кода, которой очень любят пользоваться, не пользуясь при этом мозгами... "Безопасные" языки в этом плане более ограничены. При этом они сами, их ядро, рантайм или бутстрап написаны на том же C/C++ ...
| |
|
3.256, Прохожий (??), 11:48, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>заключается в криворукости программистов
В неизлечимой, заложеннной природой криворукости, я бы сказал.
>При этом они сами, их ядро, рантайм или бутстрап написаны на том же C/C++ ...
Компилятор Rust написан на Rust. А до того, как это стало возможным, использовался OCaml.
| |
|
2.225, Аноним (225), 10:15, 18/11/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
В новый стандарт с++ безопасных функций добавили целую кучу.
Проблемы:
- все сидят на старом стандарте с++ переход это боль
- даже если перейдут на новый стандарт нет ничего что принудило бы программиста пользовать только безопасные функции. В том же Раст тебя будет принудительно и безальтернативно чикать боров
| |
2.236, Аноним (-), 10:38, 18/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Я нубик. Объясните в чем была проблема добавить в Си/++ "безопасные функции"работы с памятью, а не создавать новый язык?
1. Диды
Представь что ты 20 лет назад выучил С99, а теперь придется напрячь мозг и выучить что-то новое!
Это просто какое-то хамство заставлять уважаемого деда напрягаться!
2. Совместимость
Вот сабж из статьи - не совместим с ABI.
Т.е тебе придется менять компилятор. А у тебя зарыто 100500 хаков для старого компилятора.
И те кто их писали уже давно померли или в деменции.
В такой ситуации "взять новый безопасный С/C++" может быть равносильно "посмотреть на старый код и написать заново".
А тут уже можно и более современный язык выбрать.
| |
|
3.246, Аноним (225), 11:10, 18/11/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Так ты сам раст не можешь выучить. Почему это за тебя должно делать кто-то другой?
| |
|
4.257, Прохожий (??), 11:50, 18/11/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Rust - пока гораздо более простой язык, чем C++. Его в первом приближении можно освоить за примерно 30-50 часов.
| |
|
5.386, Аноним (386), 18:47, 19/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Может и выучишь, но писать на нём от этого легче не будет. Для нормального пользования языками навроде раста и си нужно знать устройство машины под которую пишешь, иначе без разницы на чём писать - на пистоне или крестах, всё равно производительность будет никакая. Да и это просто больно, без этого всё правила вводимые растом будут казаться просто бессмысленными догматами, которые ничем не обоснованы.
| |
|
|
3.490, Аноним (373), 15:47, 26/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Представь что ты 20 лет назад выучил С99, а теперь придется напрячь мозг и выучить что-то новое!
Ну очевидно же, С23!
| |
|
2.285, BorichL (ok), 15:53, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ответ очень прост: Тем, кто осилил Си, это не нужно, ну а неосиляторы пилят языки для неосиляторов.
| |
|
3.289, Аноним (-), 16:08, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Ответ очень прост: Тем, кто осилил Си, это не нужно,
А можно пожалуйста хотя бы пару имен?
Потому что даже в ядре диды допускают ошибки.
> ну а неосиляторы пилят языки для неосиляторов.
Отличная логика, прям как у типичного сишника)
| |
|
4.294, BorichL (ok), 16:13, 18/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> Ответ очень прост: Тем, кто осилил Си, это не нужно,
> А можно пожалуйста хотя бы пару имен?
> Потому что даже в ядре диды допускают ошибки.
Я больше скажу, даже в процессорах совершают ошибки! И в безопасных компиляторах тоже. Смешно читать про "безопасные" компиляторы для компов на неймановской архитектуре.
| |
|
5.297, Аноним (-), 16:21, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Я больше скажу, даже в процессорах совершают ошибки! И в безопасных
> компиляторах тоже. Смешно читать про "безопасные" компиляторы для компов на неймановской архитектуре.
Горит сарай, гори и хата?
Типа если у нас в процессоре может быть ошибка, то будем дружно выходить за пределы буфера и портить чужую память?
Пока рак не вылечим, то переломы пусть сами как-то зарастут?
Отличный подход!
| |
|
6.300, BorichL (ok), 16:26, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Типа если у нас в процессоре может быть ошибка, то будем дружно
> выходить за пределы буфера и портить чужую память?
> Пока рак не вылечим, то переломы пусть сами как-то зарастут?
> Отличный подход!
А это нигде и не предлагается. Никто не заставляет делать ошибки неосиляторов. Имелось ввиду, что безопасность безопасных компиляторов достаточно иллюзорна в реальности, всё тоже самое можно реализовать и без разработки очередного языка.
| |
|
7.306, Аноним (-), 16:42, 18/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А это нигде и не предлагается.
Слава богу.
> Никто не заставляет делать ошибки неосиляторов.
А чего они их постоянно делают, то в ядре, то в криптолибах?
Покажи мне хотя бы одно осилятора?
> Имелось ввиду, что безопасность безопасных компиляторов достаточно иллюзорна в реальности,
Ваше мнение очень ценно для нас, особенно без единого пруфа.
А вот у гугла почему-то кол-во ошибок уменьшилось.
> всё тоже самое можно реализовать и без разработки очередного языка.
Да, мы как раз читаем чего стоит реализовать это в дырявых-dy-design языках.
Замедление в 1,5-5 раз, сборщик мусора...
Предыдущие попытки типа MiraclePtr тоже не взлетели.
| |
7.307, Аноним (371), 16:44, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>всё тоже самое можно реализовать и без разработки очередного языка.
Идите и реализуйте это в браузерах, потом когда справитесь в ядре почините. Потом, за оставшийся софт, типа libarchive приступайте, и только потом, может быть, если у вас останется свободное время, говорите об этом. А то надоело, каждый мажорный релиз, и сообщение "устранён X критических багов, всязаных с некоректной работой с памятью".
| |
|
|
|
|
3.290, BorichL (ok), 16:10, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Ответ очень прост: Тем, кто осилил Си, это не нужно, ну а
> неосиляторы пилят языки для неосиляторов. | |
|
2.301, Аноним (371), 16:27, 18/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
В том, что у этих двух языков нет выразительной возможности описывать требуемые вещи. Это всё равно, что дать вам простой карандаш и попросить нарисовать цветную картину. А если к этим языкам добавть "цвета", то это уже будет новый язык - cyclone/ats/rust. По научному это называется типобезопасность - выражение дополнительной информации через типы.
| |
|
1.222, Соль земли (?), 10:11, 18/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
То есть оно не заставляет грамотно писать программы, как Rust, и проверять код ДО сборки программы, а присобачивает доп инфу прямо в готовый код, влияя на производительность, размер и т.д.
| |
|
2.232, ijuij (?), 10:29, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Я так понимаю, что Rust привлекателен для тех, кто предпочитает не углубляться в управление памятью. Существует множество ресурсов, посвященных работе с памятью в C, включая темы переполнения буфера и неопределенного поведения. Тем не менее, некоторые программисты про это всё забывают, потому им легче перейти на Rust не напрягая свой мозг.
| |
|
3.250, Аноним (225), 11:32, 18/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Если бы раст был привлекательным все бы на него перешли. Но такого и близко нет. То что в больших корпах фанатики пытаются что-то ковырять так это ничего не значит. В корпах что-то постоянно ковыряют, а потом выкидывают в мусорку и никогда больше не вспоминают. Менеджер отчитался и забыл и перешёл в следующую компанию.
| |
|
4.253, Аноним (-), 11:37, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Если бы раст был привлекательным все бы на него перешли.
> Но такого и близко нет.
Если бы автомобили были привлекательны, то на них бы все перешли, но такого и близко нет - на улицах сплошные лошади (Аноним из 185х годов).
> То что в больших корпах фанатики пытаются что-то ковырять так это ничего не значит.
Правильно! Надо ориентироваться только на васянов которые пилят свои поделки на том что знают и на легаси проектах которые сидят на стандартах 20 летней давности.
(С99 было заменено в ведре только в 2022 году.. на С11)
> В корпах что-то постоянно ковыряют, а потом выкидывают в мусорку и никогда больше не вспоминают. Менеджер отчитался и забыл и перешёл в следующую компанию.
Было бы правда, если бы код выкинули.
Но нет - он уже работает у пользователей.
| |
|
5.326, Аноним (1), 20:11, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Только раст это паровой автомобиль. Который не прижился и научил нормальных людей что так делать не надо.
| |
|
6.341, Аноним (335), 22:13, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Только раст это паровой автомобиль. Который не прижился и научил нормальных людей что так делать не надо.
Вот тут полностью согласен. Задумка хорошая реализация на двойку с минусом. У меня были на него большие надежды, но, очевидно, сама система его разработки кривая.
| |
|
7.354, Прохожий (??), 02:14, 19/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Очевидно здесь, скорее другое. Вы не приводите сколь-либо значимой аргументации для подкрепления вашего мнения. Это свидетельствует или о том, что вы просто не совладали (то есть, Питон или Джава Скрипт - это ваш предел), или даже не начинали осваивать язык.
| |
|
6.353, Прохожий (??), 02:12, 19/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Который не прижился и научил нормальных людей что так делать не надо.
Ещё раз спрошу. А программисты из ведущих фирм планеты (Гугл, Амазон, Клаудфлэр, Дискорд, Дропбокс) об этом знают? Вот недавно новость, кажется, о Volvo мелькала.
| |
|
|
|
3.251, Аноним (-), 11:33, 18/11/2024 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Я так понимаю, что Rust привлекателен для тех, кто предпочитает не углубляться в управление памятью.
Возможно. А может они достаточно углубились и понимают, что лучше автоматизовать проверки.
> Существует множество ресурсов, посвященных работе с памятью в C, включая темы переполнения буфера и неопределенного поведения.
Но к сожалению даже программисты из ядра их не читают.
Поэтому ошибки по памяти в С/С++ коде одни и те же десятки лет.
> Тем не менее, некоторые программисты про это всё забывают, потому им легче перейти на Rust не напрягая свой мозг.
Странная мысль.
Ты наверное противник скриптов и любишь ручками делать одно и то же десятки раз?
Настоящие программисты всегда старались сбросить рутину на железку - пусть она думает.
| |
3.302, Аноним (371), 16:33, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Существует множество ресурсов, посвященных работе с памятью в C, включая темы переполнения буфера и неопределенного поведения. Тем не менее, некоторые программисты про это всё забывают
И что там эти множество ресурсов делают? У сишников было несколько десятилетий, чтобы взять любую систему доказательств, хоть coq, хоть нечто проще, как систему типов ocaml или haskell и внедрить в си. Но тем не менее, даже сейчас, когда уже есть rust, сишники так и не собираются даже начать это делать.
| |
|
4.305, Аноним (371), 16:40, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Зато вместо этого, сишники, с опозданием лет на 50 наконец-то изобрели basic.
| |
|
|
|
1.261, Аноним (261), 12:24, 18/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
вот это крутая штука и работает прямо сейчас. думаю ее нужно использовать для этапа тестирования и можно кучу всего найти с ней. релиз конечно собирать без нее.
| |
|
2.351, Прохожий (??), 01:58, 19/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Этой штукой невозможно будет полноценно тестировать сколь-либо сложный код. А для простого кода она не нужна.
| |
|
1.263, fuggy (ok), 12:31, 18/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Проект полностью доведён до готовности. Только нужно использовать кастомную libc. И ещё чтобы сбилдить основные проекты нужно их доработать напильником. А так да полностью готов. Только нужно использовать 128-битные указатели и добавить GC. И ещё ограничивает каламбур типов, которое не то чтобы редко используется для оптимизации.
| |
1.284, Аноним (284), 15:51, 18/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Я вот одного не пойму. У многих "одобренных" языков типа Pascal, Swift, Rust (с unsafe) - те же самые проблемы. А наезжают почему-то только на C++. Умные указатели вполне позволяют работать с памятью безопасно. Просто думать надо головой, соблюдать дисциплину, кодировать качественно. А то сначала понабирают модных вкатунов, и потом визжат про "плохой" C++, и как надо всем побежать за "большевиками" срочно переписывать на расте.
| |
|
2.304, Аноним (371), 16:39, 18/11/2024 [^] [^^] [^^^] [ответить] | –2 +/– | Первый язык из этого списка почти никому не нужен, второй - нужен только яблочни... большой текст свёрнут, показать | |
|
3.308, Аноним (284), 16:51, 18/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Выберите безопасное подмножество C++ и строго придерживайтесь, не выходя за рамки. Проблема UB сильно преувеличена и раздута любителями поспекулировать на пустом месте. Если вам очень хочется экспериментировать, а не заниматься полезным делом, то можно точно также влезть в дебри и сгенерировать непредусмотренную ситуацию и на других языках. Только - зачем?
| |
|
4.310, Аноним (-), 16:57, 18/11/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Выберите безопасное подмножество C++
А такие вообще есть? Ну которые действительно безопасные?
> и строго придерживайтесь, не выходя за рамки.
И надейтесь что в след версии компилятора список UB не изменится)
> Проблема UB сильно преувеличена и раздута любителями поспекулировать на пустом месте.
Heartbleed это достаточное преувеличение?
| |
|
5.312, Аноним (479), 17:14, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
OpenSSL написан на C, Assembly, Perl. А я здесь писал про C++.
Чтобы безопасно программировать на Си - нужен как минимум актуальный работающий транспайлер (типа как CFront только с учётом накопившихся требований по безопасности за предыдущие десятилетия). Или же использовать исключительно хорошо отлаженные библиотеки. Лично мне в Си не хватает синтаксического сахара для продуктивной работы.
| |
|
4.315, Аноним (371), 17:32, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Выберите безопасное подмножество C++ и строго придерживайтесь, не выходя за рамки
И где он? Первый же nullptr - и сразу же появляется UB.
>Проблема UB сильно преувеличена и раздута любителями поспекулировать на пустом месте.
Сколько мажорных релизов браузеров выходит без исправления очередной дырки?
>и сгенерировать непредусмотренную ситуацию и на других языках
Давайте, сгененрируйте прочу памяти через nullptr в ocaml, haskell, idris, и прочих языках.
| |
|
5.350, Аноним (479), 01:57, 19/11/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Если источник данных неизвестен, то указатель должен быть проверен до разыменования.
C и C++ действительно требуют соблюдения дисциплины в программировании, как и язык ассемблера. Нужна педантичность, осторожность, внимательность. Это не игрушечные языки, где можно нанять пачку индусов и легко срезать косты.
Тем не менее, C++ (в отличии от чистого Си), благодаря богатым синтаксическим возможностям, вполне реально приспособить для более безопасного и щадящего режима работы, когда ошибки по невнимательности фундаментально исключаются. Но такой надёжный и устойчивый подход к программированию приходит или с собственным опытом, или благодаря хорошим наставникам.
| |
|
|
7.355, Аноним (479), 03:39, 19/11/2024 [^] [^^] [^^^] [ответить] | +/– | Если вы строго придерживаетесь конкретного стиля кодинга в Плюсах, то сам этот с... большой текст свёрнут, показать | |
|
8.377, Аноним (371), 14:20, 19/11/2024 [^] [^^] [^^^] [ответить] | +/– | Не знал, что стиль расстановки скобочек влияет на безопасность Так какой стиль ... большой текст свёрнут, показать | |
|
9.378, Аноним (479), 16:15, 19/11/2024 [^] [^^] [^^^] [ответить] | +/– | Ваша критика игнорирует эволюционный характер развития С , необходимость адапта... большой текст свёрнут, показать | |
|
10.391, Аноним (371), 22:47, 19/11/2024 [^] [^^] [^^^] [ответить] | +/– | В том то и дело, что эволюционны Вместо того, чтобы подумать, что же нужно коне... большой текст свёрнут, показать | |
|
|
12.401, Аноним (371), 09:32, 20/11/2024 [^] [^^] [^^^] [ответить] | +/– | Да Починить скорость компиляции и добавить нормальную типизацию Но это так, дл... большой текст свёрнут, показать | |
|
|
14.410, Аноним (371), 14:13, 20/11/2024 [^] [^^] [^^^] [ответить] | +/– | И что там со скоростью Я ради интереса решил собрать gluon lang, вполне быстро ... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
7.356, Аноним (479), 06:52, 19/11/2024 [^] [^^] [^^^] [ответить] | –1 +/– | Да, и ещё Если вы здесь пишите не с целью поиска истины, а чисто как внештатный... большой текст свёрнут, показать | |
|
8.376, Аноним (371), 14:08, 19/11/2024 [^] [^^] [^^^] [ответить] | +/– | Легко жить в этоху великих открытий на диком западе, достаточно просто что-то сд... большой текст свёрнут, показать | |
|
9.379, Аноним (479), 16:49, 19/11/2024 [^] [^^] [^^^] [ответить] | +/– | IMHO, раньше в программировании было больше свободы выражения идей и энтузиазма,... большой текст свёрнут, показать | |
|
10.381, Аноним (-), 17:16, 19/11/2024 [^] [^^] [^^^] [ответить] | +/– | Что было довольно просто, тк во-1х кода почти не было, и открытого тоже А во-2х... большой текст свёрнут, показать | |
|
11.384, Аноним (479), 18:17, 19/11/2024 [^] [^^] [^^^] [ответить] | +/– | Что касается опенсорса, то мне тоже лицензии BSD MIT симпатичнее Согласен и с т... большой текст свёрнут, показать | |
|
|
|
|
15.404, Аноним (479), 10:16, 20/11/2024 [^] [^^] [^^^] [ответить] | +/– | Carbon is fundamentally a successor language approach, rather than an attempt to... большой текст свёрнут, показать | |
|
|
|
|
|
10.393, Аноним (371), 23:24, 19/11/2024 [^] [^^] [^^^] [ответить] | +/– | Не было такого Любые изменения пробивались с боем, сквозь консерватизм и тоталь... большой текст свёрнут, показать | |
|
11.396, Аноним (479), 03:34, 20/11/2024 [^] [^^] [^^^] [ответить] | +/– | Вот по вашим постам видно, что вы молод и горяч Хотя ларчик очень просто откр... большой текст свёрнут, показать | |
|
12.412, Аноним (371), 14:41, 20/11/2024 [^] [^^] [^^^] [ответить] | +/– | Бизнесу вообще ничего не интересно кроме денег, да и деньги то не всегда интерес... большой текст свёрнут, показать | |
|
13.416, Аноним (479), 15:43, 20/11/2024 [^] [^^] [^^^] [ответить] | +/– | Это не моя формулировка А по поводу того, что некоторые на однодневках едут, эт... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
6.375, Аноним (371), 13:48, 19/11/2024 [^] [^^] [^^^] [ответить] | +/– | Что значит неизвестен Ваша формулировка абсурдна, ибо завтра кто-то придёт, доб... большой текст свёрнут, показать | |
|
7.380, Аноним (479), 17:03, 19/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
"Скомпилировалось, значит работает" может быть применим к функциональным языкам, но C++ предоставляет более глубокий контроль над ресурсами, что важно для системного программирования.
Вас никто не заставляет пользоваться тем, чего до сих пор "не запретили". Ну вы же наверное не жалуетесь на то, что в расте unsafe не запрещают)))
Компилятор может помочь с проверкой, но ответственность за качественное программирование всегда лежит на разработчике.
| |
|
8.392, Аноним (371), 22:59, 19/11/2024 [^] [^^] [^^^] [ответить] | +/– | Нет, это может быть применено к любому языку с хорошо развитой системой типов Х... большой текст свёрнут, показать | |
|
|
|
|
|
|
2.313, Аноним (373), 17:26, 18/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>и как надо всем побежать за "большевиками" срочно переписывать на расте.
За меньшевиками.
| |
|
1.388, Славик (ok), 21:15, 19/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
чтобы С был безопасным нужно программистов переводить на него с ассемблера, после пары лет сидения на ассемблере.
| |
|
2.389, Facemaker (?), 21:16, 19/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>чтобы С был безопасным нужно программистов переводить на него с ассемблера, после пары лет сидения на ассемблере
Утопия.
| |
|
3.409, Славик (ok), 13:35, 20/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну да, макроассемблер это конечно безопасый язык. Ха-Ха. Си это один шаг от макроассемблера и работает по принципу - "вы этого хотели? получите". Техника работы в макроассемблере очень хорошо вписывается в Си и те кто работал на макроассемблере всегда будут в восторге от Си.
| |
|
4.415, Аноним (371), 14:51, 20/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Си это один шаг от макроассемблера и работает по принципу - "вы этого хотели? получите"
Особенно с ub, когда оригинальный код по неведомому принципу молча трансформируется во что получится. Без ошибок или хотя-бы предуждений
> Техника работы в макроассемблере очень хорошо вписывается в Си и те кто работал на макроассемблере всегда будут в восторге от Си.
Те, кто не ел ничего слаще лимона, всегда будут в восторге от морковки
| |
|
5.422, Славик (ok), 17:06, 20/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>> Особенно с ub, когда оригинальный код по неведомому принципу молча трансформируется во что
>> получится. Без ошибок или хотя-бы предуждений
Ну что за бред вы тут понаписали. Ксли компилятор переводит орининальный код в неизвестно что то это 1. проблема конкретного компилятора, 2. от исходного языка это не зависит, будь то Си или Паскаль или любой другой "безопасный" язык.
| |
|
6.424, Аноним (-), 17:11, 20/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Ксли компилятор переводит орининальный код в неизвестно что то это
> 1. проблема конкретного компилятора,
А еще конкретного программиста, и конкретных пользоватлей.
Ну и гвоздь в крышку гроба всяким кукурекам про "наш код переносимый".
Особенно весело когда в древних приложениях зафиксирована версия компилятора, тк хаки на других уже не работают
> 2. от исходного языка это не зависит, будь то Си или Паскаль или любой другой "безопасный" язык.
Еще как завист.
Если в том недоразумении, которое именуют стандартом, написано "А фиг его знает как сложить два числа! Пусть это будет UB и писаки компиляторов разберутся, кто во что горазд" - то еще как зависит.
| |
|
7.428, Славик (ok), 17:32, 20/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ещё раз: Си это системный язык, и должен оставаться таким, в одном шаге от макроасемблера. Писателей на питоне просьба не беспокоится. С Си может работать только человек точно знающий что он делает. Если бы Линус небыл таким мы бы никогда не увидели линукса.
| |
|
6.431, Аноним (371), 18:56, 20/11/2024 [^] [^^] [^^^] [ответить] | –1 +/– | Как хорошо, когда сишники плюсовики начинают писать конкретику и выдают себя с г... большой текст свёрнут, показать | |
|
7.437, Аноним (-), 19:15, 20/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Погоди, они еще не сталкивались с великолепными 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шка может сделать ВСЕ ЧТО УГОДНО в том числе удалить весь диск.
| |
7.440, Аноним (479), 19:48, 20/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Так коню понятно что здесь падает: anotherVar = 0->someField;
Большинство UB самоочевидны. Но сколько у критиков пафосу зато... я фигею.
| |
|
|
9.443, Аноним (479), 20:34, 20/11/2024 [^] [^^] [^^^] [ответить] | +1 +/– | Очень просто Там где потенциально возможен ноль, я всегда проверю на ноль Я со... текст свёрнут, показать | |
|
10.451, Аноним (371), 23:30, 20/11/2024 [^] [^^] [^^^] [ответить] | +/– | В таком случае, вы совершаете ритуал ради ритуала, забивая код ненужными проверк... большой текст свёрнут, показать | |
|
11.457, Аноним (479), 00:52, 21/11/2024 [^] [^^] [^^^] [ответить] | +/– | Так и есть Некоторая избыточность проверок присутствует Но все равно это получ... большой текст свёрнут, показать | |
|
|
|
|
13.471, Аноним (479), 11:12, 21/11/2024 [^] [^^] [^^^] [ответить] | +/– | Ну точно не больше чем на расте, где на каждый чих нужен рефакторинг и пересмотр... большой текст свёрнут, показать | |
|
14.472, Аноним (-), 11:56, 21/11/2024 [^] [^^] [^^^] [ответить] | +/– | Я про такие проблемы слышал только от игрописак - где чел решил полность поменят... большой текст свёрнут, показать | |
|
15.474, Аноним (474), 12:25, 21/11/2024 [^] [^^] [^^^] [ответить] | +/– | Хде этот артишок обитает А, пока где-то там Вот когда оно релизнется - и побуд... большой текст свёрнут, показать | |
15.475, Аноним (479), 12:52, 21/11/2024 [^] [^^] [^^^] [ответить] | +/– | Я вот чего ожидаю от раста The version of Rust has been frozen at X from this ... большой текст свёрнут, показать | |
|
14.485, Аноним (371), 12:03, 22/11/2024 [^] [^^] [^^^] [ответить] | +/– | И чем это хуже си плюсов Так там мало того, что нужно рефакторить, так ещё и са... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
|
4.417, Аноним (-), 16:00, 20/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Си это один шаг от макроассемблера и работает по принципу - "вы этого хотели? получите".
Нет.
В ассемблере если ты сказа add eax,2 то он это сделает.
А в дыряшке ввели понятие UB, и при сложении двух числе у тебя может быть "все что угодно" по решению компилятора.
> Техника работы в макроассемблере очень хорошо вписывается в Си и те кто работал на макроассемблере всегда будут в восторге от Си.
Примерно как и лепка кирпичей из глины вручную)
| |
|
5.418, Аноним (479), 16:26, 20/11/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Я долго думал и не мог понять, что мне так напоминают все эти разговоры про "страшные" UB, и вспомнил - истерику европарламентариев про куки. Точно! Куки - очень страшная угроза и поэтому все европейские сайты просто обязательно должны вывешивать плашки и ломать юзер экспириенс во имя вселенской безопасТности.
По сути ведь могли бы и вообще не писать про никакие UB, сделали это чисто для удобства. Но это стали использовать все кому не лень и на каждом углу наводить панику на неокрепшие умы. Пропаганда растофилов она такая... не заржавеет...
| |
|
|
|
|
3.408, Славик (ok), 13:18, 20/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
двойное освобождение? а что это такое? Нужно всего лишь быть внимательным и не витать в облаках стуча по клавиатуре. И да, не садится за клавиатуру пока не выложено всё что нужно сделать на бумаге. Это и есть навыки программирования на ассемблере.
| |
|
4.414, Аноним (371), 14:48, 20/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>двойное освобождение? а что это такое? Нужно всего лишь быть внимательным и не витать в облаках стуча по клавиатуре.
А Линус, и прочие деды из ядра об этом знают?
>И да, не садится за клавиатуру пока не выложено всё что нужно сделать на бумаге
Фичи от бумажной работы не появятся. А сидеть в досе вам в 2024 году точно не понравится
>Это и есть навыки программирования на ассемблере.
Те, кто профессионально знаком с ассембелром, на ассемблере практически не пишут, на нём пишут разве что любители, как хобби. Вот такой вот парадокс.
| |
|
5.426, Славик (ok), 17:14, 20/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну понятно. садится за клавиатуру не имея чёткого видения что требуется сделать - для этого и нужен "безопасный" язык, а ещё лучше ChatGPT, чтобы он все свм делал.
| |
|
6.434, Аноним (371), 19:04, 20/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>садится за клавиатуру не имея чёткого видения что требуется сделать
Давайте, реализуйте на бумаге условню btrfs, и сразу на ассемблере, чтоб и сжатие, и cow, и снапшоты и ещё не забудьте фичу nilfs - с возможностью доступа к старым версиям файла. Так вот, реализуйте её, отладьте на бумаге, найдите в ней все баги, а когда реализуете, то так и быть, можно будет и переписать с листочка. И чтоб ни одного бага не было.
>а ещё лучше ChatGPT, чтобы он все свм делал.
Вам в отладке кода на бумаге chatgpt не поможет.
| |
|
7.449, Славик (ok), 22:02, 20/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Вот-вот. всё намешал в кучу, и COW, и сжатие и всё всё всё, и желательно всё это имплементировать в одной функции и одним студентом за одну лабу. Ха-Ха.
| |
|
|
|
|
11.488, Славик (ok), 13:46, 23/11/2024 [^] [^^] [^^^] [ответить] | +/– | я бы попросил не судить о других по себе В доСищное время макроассемблер был ед... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
|
1.405, InuYasha (??), 12:42, 20/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Ого! А кто такой этот авт...
> Автор Fil-C, Филипп Пизло, занимает в компании Epic Games пост директора, отвечающего за проекты, связанные с языками программирования.
Ого! Директор, который реально ещё что-то знает и делает! Берём.
| |
1.407, InuYasha (??), 13:09, 20/11/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Все наезды на Сишников надо перенаправить на угребанский stdio и прочий CRT, где БОЛЬШУЮ ЧАСТЬ ФУНКЦИЙ просто нельзя использовать!!!
Изобретателям всяких strcpy() должно быть стыдно!
| |
|
2.419, Аноним (268), 16:36, 20/11/2024 [^] [^^] [^^^] [ответить] | +/– | По сути замечание верное, но не до конца Это разрабатывалось ещё во времена PDP... большой текст свёрнут, показать | |
|
3.432, InuYasha (??), 19:02, 20/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Я бы не сказал что корень всех проблем в ZTS - я (тоже) написал себе несколько утилит (функций) для работами со строками на Си и никаких проблем с overflow не имею...
В лихие 90-2000ые - да, я даже не знаю, кто бы мог подтолкнуть к таким шагам. Даже всеСИльный M$ накостылял своих strcpy_s намного позже...
| |
|
4.444, Аноним (268), 20:39, 20/11/2024 [^] [^^] [^^^] [ответить] | +/– | ZTS скорее упомянут как наиболее выдающийся пример Вся стандартная библиотека н... большой текст свёрнут, показать | |
|
3.438, Аноним (371), 19:16, 20/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Стыдно должно быть не изобретателям, стыдно должно быть тем, у кого в 2000–х не хватило ни смелости, ни кругозора чтобы вырвать с корнем и выкинуть zero–terminated строки из стандарта
Тогда бы си и плюсы лишились бы своей священной коровы - ОБРАТНОЙ СОВМЕСТИМОСТИ. Это ж сколько кода пришлось бы переписать. Была бы история как с python2 и python3, где у разработчиков так и не хватило смелости выкинуть python и переписать код на другом языке. Хотя некоторые до сих пор на c89 пишут.
| |
|
2.427, Славик (ok), 17:17, 20/11/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
Это не язык. Это баблиотека. Никто не заставляет ей прользоваться.
| |
|
3.433, InuYasha (??), 19:03, 20/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Это не язык. Это баблиотека. Никто не заставляет ей прользоваться.
Очевидно. Я где-нибудь говорил обратное?
| |
3.436, Аноним (371), 19:05, 20/11/2024 [^] [^^] [^^^] [ответить]
| +/– |
Такими темпами, у вас даже стандартной библиотеки нет, не говоря уже про всё остальное, чем так любят гордится сишники
| |
|
|
|