1.1, laindono (ok), 10:32, 04/08/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –27 +/– |
А всё почему? А всё по той причине, что сишечный фронтенд не может что-то адекватное генерировать. Приходится костыли в бекенд ставить.
| |
|
2.4, Аноним (4), 10:42, 04/08/2025 [^] [^^] [^^^] [ответить]
| –8 +/– |
> А всё по той причине, что сишечный фронтенд не может что-то адекватное генерировать. Приходится костыли в бекенд ставить.
Так а какие еще варианты, если язык дефективный by design. Это все-таки дешевле, чем переписывать миллионы легаси кода с C и C++ на Rust.
| |
|
|
4.14, фыв (??), 11:17, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Ну вот один в истории так же подумал, а потом слонов через горы повёл.
| |
|
5.35, Аноним (35), 12:00, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
и он не переписал самое важное, собственно поэтому проект провалился
| |
5.132, Аноним (132), 16:24, 04/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Его ошибка в том, что он не реализовал победу при Каннах, а не в потерях при переправе.
| |
|
4.221, Аноним (221), 01:31, 05/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Дак и не надо всё переписывать. Надо только самое важное.
У хруста дефолтным кодогенератором, извините, что? И на каком яп? А, на плюсах? Оок! :)
| |
|
3.26, laindono (ok), 11:36, 04/08/2025 [^] [^^] [^^^] [ответить]
| –10 +/– |
Зависит от контекста. Если у нас что-то критичное к безопасности, это означает, что переписать миллион строк на другой язык будет дешевле, чем разгребать последствия эксплуатации дыреней.
Вообще переписывание чего бы то ни было (в том числе на тот же язык) является рефакторингом. Иногда это дешевле поддержки легаси. Иногда нет. Зависит от.
| |
|
4.38, Аноним (4), 12:11, 04/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Если у нас что-то критичное к безопасности, это означает, что переписать миллион строк на другой язык будет дешевле, чем разгребать последствия
Что-то критичное по безопасности или изначально не писалось на дырявых языках, или уже давно с них переписано. В этих областях уж точно не сидели бы и не ждали до 202* года, пока им разработчики ГЦЦ/Шланг с барского плеча отсыпят костылей для затыкания дыр в недоязыках из 70-80.
Эти флажки как раз для 95% разработки, где на безопасность наплевать, причем настолько, что они в большинстве случаев даже эти опции компилятора не станут включать под предлогом того, что будут просадки производительности.
| |
|
5.69, АнонимЪ (?), 14:04, 04/08/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Для критичной безопасности выбор языка не имеет значения. К слову, для Си есть стандарты безопасного программирования.
В прочем, они тоже не имеют значения. Решает формальная верификация кода, а не эти игрища с "мой язык круче".
| |
|
|
7.150, Аноним (4), 17:10, 04/08/2025 [^] [^^] [^^^] [ответить] | –2 +/– | Я сильно сомневаюсь, что бы работаете в гражданской авиации, ибо там десятилетия... большой текст свёрнут, показать | |
|
8.201, Аноним (199), 21:37, 04/08/2025 [^] [^^] [^^^] [ответить] | +1 +/– | Человек выше говорит от своего опыта А вы зачем-то теоретизируете, приводите сс... текст свёрнут, показать | |
8.206, _ (??), 22:07, 04/08/2025 [^] [^^] [^^^] [ответить] | +1 +/– | Ога-ога, а к примеру MISRA - это деза от проклятых капиталистоФФЪ - И раз с... большой текст свёрнут, показать | |
|
7.263, Александр (??), 13:53, 06/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Всё равно удивляет, что C (с MISRA или чем-то подобным видимо), а не Ada или вообще что-нибудь функциональное.
| |
|
|
5.70, laindono (ok), 14:06, 04/08/2025 [^] [^^] [^^^] [ответить]
| –4 +/– |
> Что-то критичное по безопасности или изначально не писалось на дырявых языках, или уже давно с них переписано.
За примерами далеко не надо ходить:
sudo
Переписали конечно, потихоньку переходят. Но процесс не моментальный.
На счёт флагов компиляции. В 95% кроме оригинального разраба какойто проги/либы никто не знает, что имеет смысл тыкать. Ещё 5% приходится на прошареных пользователей и 0% на мейнтейнеров твоего диструбутива. Тем более, что если ты включил какую-то опцию, это не значит, что код стал быстрее. Это всё надо тестить.
| |
|
|
7.169, Аноним (-), 19:36, 04/08/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Контрпример: doas.
Простите, бсд это маргинальщина даже для сего форума.
Если бы не было хурда, то я бы сказал "эталонное нинужна".
| |
7.208, Аноним (199), 22:15, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Простите, бсд это маргинальщина
Прощаю. Поставьте Alpine Linux, там doas из коробки. Дистрибутив популярный в узких кругах. В IoT и контейнерах.
| |
|
|
5.102, Аноним (102), 15:23, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Что-то критичное по безопасности или изначально не писалось на дырявых языках, или уже давно с них переписано.
Да каеш. Критичное к безопасности, если что, это всё от дырявого насквозь openssl до дырявого насквозь ядра linux с rce во всяких уринах. Даже клоуны от безопасности openbsd принипиально пишут только на C.
| |
|
4.57, Аноним (-), 13:15, 04/08/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
Использования второго языка усложнит сопровождение не в два раз, а кратно!
Если бы предлагалось переписать на безопасный, надёжный и верифицируемый язык типа SPARK (ADA), то аргументы можно было ещё принять. А переписывать на ржавый - только испортить простой код.
| |
|
5.64, anonymmmeer (?), 13:54, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
ещё можно dafny использовать и C код генерить.
вообще есть масса возможностей, поэтому раст и не нужен
| |
|
6.66, Аноним (-), 13:58, 04/08/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
> ещё можно dafny использовать и C код генерить.
> вообще есть масса возможностей, поэтому раст и не нужен
если вы такие умные, то чего ̶т̶а̶к̶и̶е̶ ̶б̶е̶д̶н̶ы̶е̶ CVE/RCE до сих пор вы дыряшечном коде? (с)
Мне как-то в комментах на этом самом форуме СИшник рассказывал, что тесты не нужны, тк он и так знает что пишет, а ждать 10 минуть чтобы PR замерджить это слишком долго)
| |
|
7.186, aname (?), 20:35, 04/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Зачем ты пишешь дыряшечный код, а ответственность перекладываешь на других?
| |
|
|
5.68, laindono (ok), 14:00, 04/08/2025 [^] [^^] [^^^] [ответить]
| –3 +/– |
Если ты переписываешь с одного языка на другой, то у тебя остаётся один язык. Очевидно же.
> язык типа SPARK (ADA)
На сколько сложно собрать команду из десятка программистов на Аде?
| |
|
6.71, АнонимЪ (?), 14:08, 04/08/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Очевидно что процесс переписывания занимает не один день. И месяцы-годы будет два языка как минимум.
Попробуйте найти хорошего специалиста который хорошо знает и C/C++, и Rust. И это пол беды. Если команда состояла преимущественно из сишников, процесс их перехода на раст будет тоже небыстрым. А бизнес простоев не любит. Поэтому будет несколько затянутых процессов одновременно:
- переписывание кода на раст;
- написание нового кода на раст;
- написание нового кода на си (да-да, мы в реальном мире, в котором идеальное не воплощается мгновенно, рук на раст сразу не хватит).
Ну, если это серьёзный проект, а не стартап на 1,5 строчки кода.
| |
|
7.77, Аноним (199), 14:19, 04/08/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
Эти процессы как раз в firefox можно наблюдать. За эти годы процент кода на rust – 12,3%.
| |
|
6.125, Аноним (199), 16:02, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
После таких слов стало понятно что вы сударь теоретик. И принимать во внимание комментарии следует соответственно.
| |
|
|
|
|
2.184, 12yoexpert (ok), 20:32, 04/08/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
упоминать в одном предложении си и бекенд/фронтент - кричать о своём диагнозе "веб-синьор"
| |
|
3.195, laindono (ok), 20:49, 04/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Фронтенд занимается парсингом/анализом языка.
Бекенд занимается оптимизациями и генерацией машинного кода.
Эти термины не относятся исключительно к вебу.
| |
|
|
5.225, Аноним (225), 08:19, 05/08/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
> живи себе дальше в своём маня-мирке, счастье в неведении
Открываешь https://clang.llvm.org/ Читаешь большие буквы в заголовке:
Clang: a C language family frontend for LLVM
...и больше не позоришься своей экспертизой.
| |
|
6.239, 12yoexpert (ok), 13:14, 05/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
приводить в пример вендорлокнутую хипсто-поделку - много ума не надо. наоборот, надо мало ума
| |
|
7.240, Аноним (240), 13:30, 05/08/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Чел, ты может не заметил, но это новость о Clang и ветка обсуждения тоже о Clang.
Казалось бы, опозорился - имей хотя бы самоуважение не всплывать тут больше. Но ты у нас мазохист, я смотрю... Ляпнешь еще что-нибудь? 😂
| |
7.245, laindono (ok), 14:24, 05/08/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Если бы речь шла о чём-то вроде Intel Compiler, то может быть.
Однако LLVM распространяется под Apache 2.0. Для сравнения GCC распространяется под GPLv3+. Копилефт лицензии, очевидно, накладывают большее количество ограничений, чем пермиссивные.
Само понятие вендорлок означает, что тебя к чему-то привязывают, обязывают что-то делать. Использование GCC означает, что тебя привязали к GNU-инфраструктуре. Кроме того использование GCC в качестве части твоих проектов обязывает тебя использовать GPL. Я, очевидно, имею ввиду использование GCC как части твоего собственного компилятора или чего-то такого.
К чему тебя привязывает использование проекта под пермиссивной лицензией? Вендорлок к чему конкретно? К качественному продукту (в сравнении с GCC)? Ну только если так.
| |
7.260, Аноним (260), 20:37, 05/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> приводить в пример вендорлокнутую хипсто-поделку - много ума не надо. наоборот, надо мало ума
И то ли дело закачка био-метана в малые водоемы на опеннете - тяжелый умственный труд, грозящий ̶п̶о̶д̶выгоранием, да?
https://gcc.gnu.org/frontends.html
> Currently the main GCC distribution contains front ends for C, C++, Objective C, Objective C++, Fortran, Ada, Go, D, Modula-2, Rust, and Cobol.
https://gcc.gnu.org/onlinedocs/gccint/Back-End.html
> A back end for a target architecture in GCC has the following parts:
.
| |
|
|
|
|
|
2.202, Аноним (-), 21:47, 04/08/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
На всякий случай напомню что в небезызвесном окисленном язычке даже фронтенда как такового нету и используется фронт си++ ллвм апи
| |
|
|
4.258, Аноним (-), 20:04, 05/08/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Дальше используется llvm, который бекенд.
Но он тоже - на C++ :).
> Ещё есть варианты с кодогенерацией через gcc или cranelift.
Есть. Но по дефолту - сватается вон тот. Вон так. А gcc тем временем сможет в билд ядер с хрустом раньше чем ожидалось, кажись.
| |
|
3.227, Аноним (240), 09:12, 05/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> напомню что в небезызвесном окисленном язычке даже фронтенда как такового нету и используется фронт си++ ллвм апи
Нет, там не используется "фронт C++". Фронтент C++ называется Clang, и прямо на его сайте в шапке огромными буквами написано "Clang: a C language family frontend for LLVM".
Фронтенд у Rust свой, как бы того не хотелось воинам против Раста.
| |
|
|
1.2, Аноним (-), 10:33, 04/08/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> Реализуемые методы защиты часто приводят к отдельным несовместимостям с существующим кодом или нарушению ABI, что не позволяет активировать их по умолчанию.
Таких программ единицы. В Gentoo возможно для них прописать отдельные опции сборки в /etc/portage
Ставим безопасные опции сборки и пересобираем мир.
А rust не нужен.
| |
|
2.3, Аноним (4), 10:39, 04/08/2025 [^] [^^] [^^^] [ответить]
| +6 +/– |
> В Gentoo
> пересобираем мир
Гентушникам нет покоя. 😂 Собирай-перекомпиляй!
| |
|
|
4.19, Аноним (19), 11:24, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
А есть люди, которые ставят приложение в пару кликов. Представляете?
| |
|
5.30, Аноним (-), 11:47, 04/08/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
> А есть люди, которые ставят приложение в пару кликов. Представляете?
Вы что хотите КАК В ВИНДЕ!?
Линукс создан для страданий и превозмоганий.
Если дать людям удобный способ хотя бы устанавливать ПО нормально, то они расслабятся, размякнут и что потом?
Попросят делать UI/UX хорошо, а не как "бомж вася, по совместительству дизигнер в СПО проекте наблевал на экран" ?
| |
|
6.101, Аноним (101), 15:22, 04/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Линукс создан для страданий и превозмоганий.
Второй десяток лет пользуюсь, и вижу только как страдают виндузятники, то там не работает, то чтото не ставится...а мне надо файлек расшарить, 2 строки в нжинкс, надо снапшот системы сделать - 1 команда, еще одна и скопировал на другой диск...упал впн, 1 команда поднялся другой...блин вот 0 проблем, завернуть сайт почты россии так чтобы он ходил в обход впн, как нефиг, чядн?
| |
|
7.104, Аноним (-), 15:28, 04/08/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
Ты все делаешь так)
Просто ты не учитываешь годы, потраченные на изучение этих команд и прдолинг с консолькой.
Для нормального юзера файл шарится чегез гугл-драйв в тот же 1 клик.
Но рассказы про УМВР - это классика красноглазых форумов.
Если у вас все работает, то чего появляются темы "Как избавиться от щелчков при запуске приложений на системах с чипами Intel" ?
А проблемы с дровами? А с софтом?
| |
7.190, aname (?), 20:40, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Да- да, 2 строки в нжыдск. А то, что надо изначально нормально так пропердолиться в том, что такое нжыдск, что там где править надо. А ещё немного iptables потыкать. А так да, чё там, 2 строки, ёпт.
| |
|
|
5.59, Аноним (59), 13:25, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> А есть люди, которые ставят приложение в пару кликов. Представляете?
Одно приложение? Даже и в пару кликов!!!
Эти, даже представить себе не могут, что гентушник, всего ОДНИМ нажатием на клавишу Enter может пересобрать весь мир.
А Я ОДНИМ нажатием на Enter, могу создать всю систему с нуля, пересобрать мир правильно и создать с него LiveDVD.
И с этого LivDVD могу ОДНИМ нажатием на Enter установить готовую собранную систему.
| |
|
|
|
|
9.192, aname (?), 20:42, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– | Они и туалетную бумагу используют, если чо И эффективность, скорее всего, рядом... текст свёрнут, показать | |
|
|
|
6.75, Аноним (-), 14:17, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Эти, даже представить себе не могут, что гентушник,
> всего ОДНИМ нажатием на клавишу Enter может пересобрать весь мир.
Да, нужно только исправить все сломанное в portage.
А потом можно пойти попить чай на полдня или даже на день, смотря на каком унитазе он решил попомпилять.
| |
|
|
|
3.176, ptr (ok), 19:57, 04/08/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ну с Rust ситуация еще хуже, так как нет стабильного ABI. Там для новой версии компилятора нужно перекомпилировать каждый раз вообще всё или, отказываясь от безопасности при работе с памятью, использовать C ABI.
| |
|
4.178, Аноним (-), 20:13, 04/08/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Ну с Rust ситуация еще хуже, так как нет стабильного ABI.
Разве у C есть какое-то ABI ?
Что-то в стандарте я такого не видел.
> Там для новой версии компилятора нужно перекомпилировать каждый раз вообще всё или, отказываясь от безопасности при работе с памятью, использовать C ABI.
C++ как-то с этим живет - у них примерно каждые 3 версии ломают.
И ничего, никто не умер, язык повсеместно используется и для прикладного ПО и для ОС.
| |
|
5.180, ptr (ok), 20:26, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Разве у C есть какое-то ABI ?
Посмотрите внимательно на диск своего компьютера. Все dll/so в нем используют один и тот же стандартный для этой операционной системы С ABI.
Так же поступает и Rust при спецификации extern "C".
Если бы это было иначе, то ни о каком динамическом связывании вообще речи быть не могло. Прикладная программа даже к операционной системе не смогла бы обратиться.
> C++ как-то с этим живет
Во-первых, C++ поддерживает C ABI. Так же как и Rust. И с теми же ограничениями и проблемами с безопасностью, что в этом смысле уравнивает C++ и Rust.
Во-вторых, Clang и GCC уже давно поддерживают Itanium C++ ABI. Альтернативные расширенные варианты предлагают некоторые фреймворки, как, например, Qt.
| |
|
|
|
2.7, Аноним (7), 10:50, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Ты используешь эти флаги? В частности, - D_FORTIFY_SOURCE=3 интересует. Я читал, он прям сильно роняет производительность
| |
|
3.8, Аноним (4), 10:52, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Я читал, он прям сильно роняет производительность
Ну, за безопасность нужно платить. Главное, что Раста нет.
| |
|
4.10, Аноним (10), 11:00, 04/08/2025 [^] [^^] [^^^] [ответить]
| –4 +/– |
Раст или так же роняет производительность либо имеет под собой худшую защиту.
| |
|
5.13, Аноним (-), 11:17, 04/08/2025 [^] [^^] [^^^] [ответить]
| +6 +/– |
> Раст или так же роняет производительность либо имеет под собой худшую защиту.
Нет. В расте за лучшую защиты ты платишь размером временных файлов и временем компиляции во время которого проводятся все проверки - анализ лайфтаймов, владение, типизация и так далее.
Вот только программа компилится только один раз, а запускается на порядки больше раз (за исключением гентушников-ноулаферов, которым только дай покомпилять).
А рантайм проверки роняют производительность каждому юзеру и для каждого запуска.
Но диды продолжаю ныть "раст не влазит на мой HDD 40GB", "лиса компилируется долго", "это нужно целую билдферму делать".
| |
|
6.21, Аноним (4), 11:29, 04/08/2025 [^] [^^] [^^^] [ответить]
| –6 +/– |
> А рантайм проверки роняют производительность каждому юзеру и для каждого запуска.
Это небольшая цена за победу над Растом. Я лично готов и большее терпеть и превозмогать. Надо будет - и ядро буду сам пересобирать с отключенным Растом.
| |
|
7.25, Аноним (-), 11:36, 04/08/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Это небольшая цена за победу над Растом.
Вы готовы бороться с растом, а лучше бы боролись с дырявостью сишки.
> Я лично готов и большее терпеть и превозмогать.
Да без проблем. Терпите и превозмогайте.
> Надо будет - и ядро буду сам пересобирать с отключенным Растом.
Пока дрова на нем не будут писать))
Хотя можно страдать еще больше и сидеть без дров.
| |
|
8.33, Аноним (4), 11:56, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– | Я в сишке опции компилятора включу и буду сидеть в безопасности А чтобы боротьс... текст свёрнут, показать | |
|
|
|
7.106, Аноним (-), 15:29, 04/08/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
> И в чём они неправы?
В том, что для каждого времени и для каждого инструмента есть свои требования.
HDD 40GB должны остаться где-то... во временах Maxtor, если вы еще помните такую фирму))
Новый инструмент дает новые гарантии, но и просит "оплатить" это требованиями к железу.
Если ваше железо не соответствует - это ваша проблема.
Вы же не возмущаетесь что современное авто невозможно нормально отремонтировать в гараже?
Вот тут аналогичная ситуация.
| |
|
6.161, Аноним (-), 18:08, 04/08/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
> А рантайм проверки роняют производительность каждому юзеру и для каждого запуска.
Ещё раз. Гарантии безопасности в C, C++ даются при исполнении программы. И от ржавого требуется в принципе тоже. При компиляции некие проверки есть. При запуске проверок частных нет, есть связывание всех библиотек. При работе есть постоянные проверки памяти - проактивная защита. И эти постоянные проверки работы с памятью в правильных ядрах OS на правильных CPU не влияют на производительность!
| |
|
7.164, Аноним (164), 18:38, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> И эти постоянные проверки работы с памятью в правильных ядрах OS на правильных CPU не влияют на производительность!
О как! Правильные ОС и ядра у нас поди на чистой магии работают?
| |
|
8.167, Аноним (-), 19:20, 04/08/2025 [^] [^^] [^^^] [ответить] | –1 +/– | Не на магии, а на спец инструкция процессоров и действительно ядра OS могут отла... текст свёрнут, показать | |
|
|
6.177, ptr (ok), 20:13, 04/08/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Цена этого - или многократное дублирование кода при статическом связывании, или использование C ABI для динамического связывания, вообще отказавшись от подобных проверок.
И когда хост k8s начитает из-за Rust требовать в разы больше оперативной памяти даже по сравнению с .NET или Java, это уже, обычно, не о 40ГБ речь, а сотнях гигабайт оперативки.
| |
|
7.179, Аноним (-), 20:20, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Цена этого - или многократное дублирование кода при статическом связывании, или использование C ABI для динамического связывания, вообще отказавшись от подобных проверок.
Но все внутренние проверки и гарантии останутся.
Т.е будет какое-то unsafe связывание, а дальше стандартные проверки.
> И когда хост k8s начитает из-за Rust требовать в разы больше оперативной памяти даже по сравнению с .NET или Java, это уже, обычно, не о 40ГБ речь, а сотнях гигабайт оперативки.
Ну... не все занимаются контейнерами.
Для локальных приложений это вообще не важно.
| |
|
8.191, ptr (ok), 20:40, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– |  Что проверять будете, если на входе в параметрах нечто инородное для Rust Всё и... текст свёрнут, показать | |
|
|
10.198, ptr (ok), 21:30, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– |  То есть, в случае необходимости динамического связывания, Rust начинает проигрыв... большой текст свёрнут, показать | |
|
|
12.217, ptr (ok), 23:33, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– |  У so dll на Rust, вызванном по C ABI нет вообще никакой информации о параметрах ... большой текст свёрнут, показать | |
|
|
14.219, ptr (ok), 00:32, 05/08/2025 [^] [^^] [^^^] [ответить] | +/– |  Сочувствую Не думал, что мой рассказ про RTTI в Itanium ABI так сильно ударит п... большой текст свёрнут, показать | |
|
|
16.253, ptr (ok), 17:50, 05/08/2025 [^] [^^] [^^^] [ответить] | +/– |  Свыше 900 проектов, поддерживаемых Linux Foundation Или Вы хотели бы, чтобы эти... текст свёрнут, показать | |
|
17.254, Аноним (-), 17:59, 05/08/2025 [^] [^^] [^^^] [ответить] | +/– | Это не такое плохое решение, если задуматься А вы считаете что хорошо финансир... большой текст свёрнут, показать | |
|
18.257, ptr (ok), 19:55, 05/08/2025 [^] [^^] [^^^] [ответить] | +/– |  У меня есть все основания считать, сто это так А вот что именно привело Вас к м... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
|
|
|
|
5.15, выф (?), 11:19, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
А можно чуть раскрыть тему для нубов в расте?
Растоводы кричат что всё пучком.
| |
|
6.16, Аноним (4), 11:22, 04/08/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Растоводы кричат что всё пучком
Воут, мерзавцы! Все медленно, гарантий нет, бинари жирные, синтаксис вырвиглазный, неподдерживаемое, абыр, АБЫРВАЛГ111
| |
6.47, Аноним (260), 12:43, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> А можно чуть раскрыть тему для нубов в расте?
> Растоводы кричат что всё пучком.
Ну, обычная методичка местных военов против раста.
Типа "жирные бинари", "жирный, обязательный рантайм" и прочего.
У них даже получалось хелловорлды на расте собирать чуть ли не на десяток МБ, что конечно же служит самым веским доказательством их̵ ̵к̵р̵и̵в̵ы̵х̵ ̵р̵у̵к̵ их тезисов.
А когда кто-то из мерзких растаманов тыкнет их носом в минимальный хелловрот меньше 1КБ и предложит поискать там рантайм и "жир", можно заявить, что это враки и несчитается и вообще, на си/асме можно еще меньше написать (правда, демонстрировать это военам некогда, им дальше супротив раста воевать надо).
| |
|
7.196, ptr (ok), 21:05, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> А когда кто-то из мерзких растаманов тыкнет их носом в минимальный хелловрот
> меньше 1КБ и предложит поискать там рантайм
Runtime в этом случае будет прибит гвоздями к конкретной версии rustc. В случае проприетарных приложений, скомпилированных каждое своей версией rustc (включая порой nightly), этих libstd-*.so по 13МБ потребуется десятки. Ладно бы ещё они только на диске место занимали, так ведь они в оперативку грузятся.
| |
|
8.207, Аноним (260), 22:12, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– |  Не-не, в тех демках, как бэ, весь цимес в том, что рантайма - нема, да и ldd выд... текст свёрнут, показать | |
|
9.212, ptr (ok), 22:49, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– |  Вы про no-std для МК Это тут при чём Для реальных проектов не на MK no-std ник... текст свёрнут, показать | |
|
|
|
6.51, Аноним (51), 12:56, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Растоводы кричат что всё пучком.
Просто нет на них Дмитрия Пучкова.
| |
6.152, Аноним (-), 17:19, 04/08/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
https://www.opennet.me/openforum/vsluhforumID3/137467.html#310 после этого поста через один было разъяснение, мордеры удалили.
Раст не может дать гарантии безопасности, стабильности при исполнении и не имеет верифицируемость кода.
C, C++ может дать гарантии безопасности при исполнении (проактивная защита CPU и ядро OS) в ущерб гарантиям стабильности в виду отсутствия формальной математической верификации кода.
| |
|
7.153, Аноним (-), 17:36, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Раст не может дать гарантии безопасности, стабильности при исполнении и не имеет
> верифицируемость кода.
Громкое заявление.
А как же гарантии и проверки на этапе компиляции?
Которые проверят, что при исполнении не нарушится ownership и лайфтаймы.
> C, C++ может дать гарантии безопасности при исполнении (проактивная защита CPU и ядро OS) в ущерб гарантиям стабильности в виду отсутствия формальной математической верификации кода.
Т.е они вообще без средств ОС не дают никаких гарантий?
Звучит весьма буллщитно.
| |
|
8.157, Аноним (-), 17:53, 04/08/2025 [^] [^^] [^^^] [ответить] | –1 +/– | В C, C гарантии безопасности не даются только одним компилятором Хотя сегодня... большой текст свёрнут, показать | |
|
7.158, Аноним (4), 17:56, 04/08/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Раст не может дать гарантии безопасности
> C, C++ может дать гарантии безопасности при исполнении (проактивная защита CPU и ядро OS)
То есть "проактивная защита CPU и ядро OS" гарантированно защищают программы, написанные на C и C++, но не защищают написанные на Расте. Я все правильно понял?
| |
|
8.165, Аноним (-), 18:54, 04/08/2025 [^] [^^] [^^^] [ответить] | –2 +/– | Проактивная защита CPU ядро OS дадут гарантии безопасности и корректности рабо... большой текст свёрнут, показать | |
|
|
|
|
|
3.149, Аноним (-), 17:06, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Флаги безопасности не сильно роняют производительность, там проценты, в парах есть. Флаги оптимизации поднимут производительность так, что общая выйдет в плюсе.
Есть пару пакетов с USE флагами: pic -asm которые вырежут пока плохо написанную асемблерную оптимизацию SIMD инструкциями. Вот для этих пару пакетов производительность может упасть заметно, надо иметь ввиду и тестировать:
app-arch/gzip
app-arch/lrzip-next
dev-libs/libsecp256k1
net-p2p/bitcoin-core
| |
|
|
|
|
|
4.22, Жироватт (ok), 11:29, 04/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
А СИ - ассемблер, где наборы ассемблерных мнемоник просто заменены операторами с автоподстановкой подходящего регистра. Потому трансляторы С->АСМ такие простые и быстрые.
| |
|
|
2.18, Аноним (-), 11:23, 04/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Потому что си не умеет безопасно работать с памятью!
Потому что это просто кроссплатформенный ассемблер, который был создан для ускорение портирования юникса и прочего софта с PDP-11 на "более новые" машины.
А размер всего юникса того времени был около 100кLOC, что на порядки меньше размеров современных программ (ядро линя - 40MLOC)
Но, из-за простоты сишки, отсутствия необходимости думать и того, что на ней писать начать может даже обезьяна, сишка стала ПХП своего времени и вытеснила другие нормальные языки.
Результаты чего мы наблюдаем даже через 50 лет.
| |
|
3.84, Аноним (260), 14:37, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– |  100кLOC, это уже V7 Меньше PDP-7 https github com dspinellis unix-history-re... большой текст свёрнут, показать | |
|
2.20, Аноним (20), 11:28, 04/08/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
это не молоток не может забивать гвозди и отбивает пальцы, а криворукий, держащий этот молоток :)
| |
|
3.36, Жироватт (ok), 12:05, 04/08/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Молоток виноват в том, что не распознаёт объект, по которому бьёт и мгновенно не меняет материал бойка: от комка ваты, если там палец, до нейтринного уберкомпактного освинцованного слитка, если это гвоздь.
Именно поэтому я смотрю уже три года на все эти споры си-раст-<баззвордязык>, как на битву слабоумных, рассуждающих, что тёплое лучше мягкого потому, что оно зелёное, но в крапинку и кузявее сладкого, но в форме перца с запахом апельсина.
| |
3.37, Fracta1L (ok), 12:09, 04/08/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Покажи пряморуких сишников, которые не ошибаются в работе с памятью. Очень интересно.
| |
|
4.39, Аноним (4), 12:14, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Покажи пряморуких сишников, которые не ошибаются в работе с памятью.
Я всю жизнь пишу на голых указателях - и никогда проблем не было. Зуб даю!
| |
|
5.42, Аноним (-), 12:26, 04/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Я всю жизнь пишу на голых указателях - и никогда проблем не было. Зуб даю!
И много у тебя их осталось?))
| |
|
6.46, Аноним (20), 12:37, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> И много у тебя их осталось?))
А много их у тех, кто "грызет гранит науки"? Вот когда вы попробуете "погрызть гранит Си", у вас будет ровно столько "зубов".
| |
6.53, Weders (ok), 13:03, 04/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
У нас как у орков в вахе они сами растут) Поэтому и топим за С
| |
|
|
4.41, Аноним (20), 12:25, 04/08/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Покажи пряморуких сишников
ну как показать вам код, который под NDA? Хотя тут надо отвечать вопросом на вопрос, к примеру - "покажи мне код работы с памятью где каждый сишник допустит ошибку (своего рода палающий баг)", но в таком случае баг даже не в работе с памятью, а в архитектуре алгоритма, которая допускает эту "плавучесть", но даже если это одно единственное исключение (исключительная ситуация), всегда можно его отдельно обработать.
Так что, при прямых руках и камнем можно забить гвоздь и микроскопом, не отбив пальца.
| |
|
5.45, Аноним (-), 12:36, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– | Так проблема в том, что каждый сишник ошибается немного в другом месте А резул... большой текст свёрнут, показать | |
|
6.49, Аноним (20), 12:51, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– | Результат некорректного алгоритма - очевиден, и ошибка с памятью это формально н... большой текст свёрнут, показать | |
|
7.55, Аноним (-), 13:05, 04/08/2025 [^] [^^] [^^^] [ответить] | –2 +/– | Точно Или может это проблема в конкретной реализации конкретного алгоритма Про... большой текст свёрнут, показать | |
|
8.63, Аноним (20), 13:50, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– | А вы как формально описали память Выход за границу у вас также формально должен... большой текст свёрнут, показать | |
|
9.72, Аноним (-), 14:10, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– | Вот в том то и проблема Нет пряморуких сишников Вот просто нет и все Нет, им... большой текст свёрнут, показать | |
|
10.87, Аноним (20), 14:42, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– | Если сишник всю жизнь писал хелловроты он пряморукий Так в чем проблема, в ваше... большой текст свёрнут, показать | |
|
11.93, Аноним (-), 15:12, 04/08/2025 [^] [^^] [^^^] [ответить] | +1 +/– | Нет, он просто еще не показал свою криворукость При том, что это в стандарте ... большой текст свёрнут, показать | |
|
|
|
14.131, Аноним (20), 16:23, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– | если потребитель это схавает, то допустимо Иначе он потребитель должен провер... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
7.56, Аноним (4), 13:10, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Мы же не пытаемся отрастить руки у от рождения безруких инвалидов, так ведь?
Видишь ли, безрукие не проходят естественный отбор в силу того, что рукастые получают над ними конкурентное преимущество. И с вашей Сишочкой происходит буквально то же самое: еще в начале нулевых она вымерла во всех областях, кроме древнего легаси и embedded, а теперь и в них она окончательно добивается Растом.
| |
|
8.65, Аноним (20), 13:57, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– | Лишенные рук не лишены мозгов, и могут утереть нос многим двуруким, у них на то ... текст свёрнут, показать | |
|
9.99, Аноним (4), 15:21, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– | А у девчуль больше мотивации заводить пары с двурукими, чем с безрукими В этом... текст свёрнут, показать | |
|
|
|
|
5.54, Аноним (4), 13:04, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
>> Покажи пряморуких сишников
> ну как показать вам код, который под NDA?
Он не просил показать код - он просил показать показать пряморуких сишников. А таких в опеннетных комментариях традиционно хоть пруд пруди. 😂
| |
|
6.67, Аноним (20), 13:59, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Он не просил показать код - он просил показать показать пряморуких сишников.
> А таких в опеннетных комментариях традиционно хоть пруд пруди. 😂
я вайбкодер, я квадробер :)
| |
|
5.100, Fracta1L (ok), 15:22, 04/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Я не могу проверить, действительно ли сишный код под NDA так хорош, так что для меня это из разряда веры, я знаю только, что из открытых проектов на сишке примерно все имеют в анамнезе ошибки работы с памятью.
| |
|
6.119, Аноним (20), 15:52, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Я не могу проверить, действительно ли сишный код под NDA так хорош
ну а мне как проверить, действительно ли "прямые" руки у программиста?
| |
|
7.122, Fracta1L (ok), 15:56, 04/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Твоё мнение насчёт прямоты рук не имеет практического смысла, факт в том, что примерно все сишки не могут писать код без ошибок типа use-after-free, так что если на уровне языка можно избавиться от таких ошибок - это очень здорово.
| |
|
|
|
|
|
|
1.23, Фнон (-), 11:31, 04/08/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –7 +/– |
Эх, сколько телодвижений для исправления того, что ущербно с даты создания.
Зато потом читаем клевую TEH DRAMA комитета по внедрению SafeC++.
А ведь достаточно взять простой ржавый...
| |
|
2.29, Аноникл (?), 11:47, 04/08/2025 [^] [^^] [^^^] [ответить]
| +5 +/– |
достаточно взять ржавый и начать писать extern "C" потому что без сишного ABI он никому не нужен
| |
|
3.43, Аноним (-), 12:28, 04/08/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
> достаточно взять ржавый и начать писать extern "C"
> потому что без сишного ABI он никому не нужен
Плюсы без extern "C" тоже мало кому нужны.
Но это как раз стиму выбросить сишку отовсюду откуда возможно.
И все писать на расте))
| |
|
4.60, Аноним (35), 13:32, 04/08/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Это просто невозможно, у Rust нет собственного ABI, зато например есть у Go.
| |
|
5.94, Аноним (260), 15:13, 04/08/2025 [^] [^^] [^^^] [ответить] | –1 +/– |  https doc rust-lang org reference items external-blocks html The following ABI... большой текст свёрнут, показать | |
5.103, Аноним (4), 15:25, 04/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Это просто невозможно, у Rust нет собственного ABI
Ты не поверишь, но у Сишочки его тоже нет, ибо оно специфично для платформы. Если не веришь, то попробуй найти его упоминания в сишочном стандарте.
| |
|
6.107, Аноним (-), 15:30, 04/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ты не поверишь, но у Сишочки его тоже нет, ибо оно специфично для платформы. Если не веришь, то попробуй найти его упоминания в сишочном стандарте.
Ты просто бьешь ниже пояса!
Или ты надеялся, что хотя бы половина местных 🤡 хотя бы открывала текст стандарта?
Зря мой друг, очень зря)
| |
|
|
|
|
|
1.74, Аноним (74), 14:15, 04/08/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Режим, при котором для компиляции программы нужно будет проходить KYC (шутка).
| |
1.76, xsignal (ok), 14:18, 04/08/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
Си - сила! Лучший язык программирования. И не стоит на месте, а развивается, не ломая совместимость при этом. А все нападки на Си - спланированная и оплаченная кампания по дескридитации с целью вытеснить независимых разработчиков из мира свободного ПО.
| |
|
2.109, Аноним (101), 15:31, 04/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Рептилоиды придумали раст, чтобы подсадить на него человечество извести сишников, и больше никогда человечество не смогло вернуться к гнутым истокам как завещали наши великие предки.
> спланированная и оплаченная
Зачем дурачкам платить, дурачки за просто так будут в лепешку расшибаться чтобы доказать чтото.
| |
|
3.111, xsignal (ok), 15:40, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> чтобы подсадить на него человечество извести сишников
Да, подсадная утка, 100%!
| |
|
|
1.78, Аноним (78), 14:19, 04/08/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Назрел такой вопрос: проблема в программистах или на С/С++ просто невозможно писать безопасный код? Хочу научиться программировать и разрываюсь между С/С++ и Rust. Если проблема лишь в компетентности - выберу первые языки, но если это архитектурный изъян - второй.
| |
|
2.79, xsignal (ok), 14:24, 04/08/2025 [^] [^^] [^^^] [ответить]
| +4 +/– |
Ни на каком языке невозможно писать безопасный код - это архитектурный изъян человеческого мозга. Можно встроить в язык кучу костылей, которые снизят риск ошибок при работе с памятью, но это никак не поможет от совершения логических ошибок, которые приводят к уязвимостям.
| |
|
3.159, Аноним (4), 18:02, 04/08/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Можно встроить в язык кучу костылей, которые снизят риск ошибок при работе с памятью, но это никак не поможет от совершения логических ошибок, которые приводят к уязвимостям.
Извини, дружок, но более 70% уязвимостей как раз таки от ошибок при работе с памятью, а не от логических.
| |
|
4.160, xsignal (ok), 18:07, 04/08/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Важно не количество, а последствия. Много уязвимостей при работе с памятью обнаруживаются - это хорошо, значит программы, написанные на Си, поддаются исследованию на предмет безопасности. А попробуй-ка найди уязвимости, которые наговнокодил какой-нибудь растовщик в состоянии расслабленного мозга...
| |
|
5.163, Аноним (-), 18:25, 04/08/2025 [^] [^^] [^^^] [ответить] | +1 +/– | heartbleed, dirty COW, тысячи уязвимостей в либах типа glibc, libwebp и прочих с... большой текст свёрнут, показать | |
|
6.166, xsignal (ok), 19:11, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> последствиями от denial-of-service до удаленного выполнения кода
Ну и? Какие последствия-то кроме эфемерных возможностей "удалённого выполнения кода"?
> "в XOrg нашли уязвимость 1988 года"
И сильно кому-то повредила эта уязвимость 88-го года?..
Все эти слова про теоретические уязвимости - пустота, за ними ничего реального не стоит, все масштабные сбои и взломы последних лет - чисто криворукость админов, хранивших пароли в файле passwords.txt, чем хакеры и пользовались.
> Просто не пиши на ущербном недоязыке из прошлого века
Просто не пользуйся круглыми колёсами прошлого века - катайся на треугольных - они дадут тебе совершить опасный манёвр на большой скорости и позаботятся о твоей безопасности!
| |
|
7.168, Аноним (-), 19:31, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– | Каких эфемерных Вот типичная СИшная либа - libwebp opennet ru opennews art shtm... большой текст свёрнут, показать | |
|
|
|
|
3.214, Аноним (214), 23:11, 04/08/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ни на каком языке невозможно писать безопасный код, но сишечка тут вне конкуренции. Напихали в ассемблер высокоуровневых абстракций, запретили goto и назвали языком программирования высокого уровня.
| |
|
2.82, Rev (ok), 14:28, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
В случае с С/С++ это человеческий фактор, так как компилятор ни о чём не предупреждает.
А в Rust компилятор все спорные ситуации покажет и откажется такой код компилировать.
Я, как ленивая жопа, предпочитаю писать на Расте, так как это требует меньше когнитивных напряжений.
| |
|
3.90, Аноним (78), 14:52, 04/08/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
То есть, технически возможно писать безопасный код на С/С++? Все верно?
| |
|
4.110, Аноним (260), 15:34, 04/08/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
> То есть, технически возможно писать безопасный код на С/С++? Все верно?
Технически, можно переделать стиральную машину или холодильник в космический корабль или подводную лодку, все верно.
| |
|
5.170, Аноним (51), 19:37, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Стиральную машину или холодильник в подводную лодку нельзя. Толщина металла не позволит выдержать внешнее давление.
| |
|
6.205, Аноним (260), 22:00, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Стиральную машину или холодильник в подводную лодку нельзя. Толщина металла не позволит
> выдержать внешнее давление.
Это если у тебя руки кривые!
А если правильно переделывать, то все безопасно будет выдерживать!
Короче, не делай плохо, делай хорошо!
| |
|
|
4.112, Аноним (101), 15:41, 04/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Бензопила это безопасный инструмент?
Допустим что да, тогда отбиться ей от нашествия зомби нельзя, а значит она не нужна
Допустим что нет, и маньяк может запилить десяток человек забежав на детский утренник, а значит она не нужна.
Пользуйтесь пилкой для ногтей
От зомби не поможет никак, но можно засадить комуто в глаз..но так их сейчас из пенопласта делают, абсолютно безопасная, но можно ее порезать и устроить так чтобы ктото задохнулся..но задушить можно и руками, черт. абсолютно безопасно только то чего не существует, но идеи убивают похлеще всяких оружий...то есть технически..ну вы поняли
| |
|
|
2.85, Аноним (-), 14:38, 04/08/2025 [^] [^^] [^^^] [ответить]
| –3 +/– |
> С/С++
Нет такого языка. Есть Си, а есть С++ (на котором можно писать как на си, но не надо так!)
Внимательность человека это тоже ресурс и он конечен.
У кого-то больше, у кого-то меньше, но всегда наступает момент когда человек допускает ошибку. Поэтому намного лучше выбирать язык, где тупые и рутинные действия проверяет компилятор, чтобы расходовать свою внимательность на что-то более важное - логику программы.
Современный с++ неплох, начиная наверное с с++17. Но наследственные дефекты си в нем остались. Писать нормально на нем можно, но довольно сложно и "дорого".
Можно почитать какой ценой досталась надежность напр. llvm, сколько человекочасов они потратили на тесты, фаззинг, санитайзеры и так далее.
| |
|
3.91, Аноним (20), 14:53, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Поэтому намного лучше выбирать язык, где тупые и рутинные
> действия проверяет компилятор, чтобы расходовать свою внимательность на что-то более важное
> - логику программы.
с каких пор программирование это рутина? вы каждый раз заново пишите, допустим алгоритм сложения двух чисел и боитесь в какой-то момент по невнимательности допустить всякого рода целочисленных переполнений? От такой рутины должен спасть вас язык, компилятор и т.д.? Я вот думаю вы вовсе не программированием занимаетесь, а как сами описали - рутиной.
| |
|
4.98, Аноним (-), 15:20, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– | А где там написано что программирование это рутина Там написано про рутинные ... большой текст свёрнут, показать | |
|
5.114, Аноним (86), 15:46, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> А сейчас эту рутину делает IDE в виде автодополнения
Я вспомнил об этом 10 лет назад, когда в одной отечественной cms неправильно писал название функции getTreeStucture и не понимал, почему оно её не находит. Оказалось, потому что я писал её без автодополнения и без ошибки как getTreeStructure, а разработчики этой cms один раз написали неправильно а потом только автодополняли. Лучший способ не допустить ошибку - это скрыть ошибку.
| |
|
6.121, Аноним (-), 15:55, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
А в чем ошибка-то?
Опечатка в имени функции никак не влияет на то, во что эта функция скомпилится.
Оно никак не влияет на работу программы.
| |
|
5.136, Аноним (20), 16:41, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– | include stdio h рутина include stdio h - ерунда зачем тратить на это вре... большой текст свёрнут, показать | |
|
|
3.115, Аноним (101), 15:48, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Отлично.
> чтобы расходовать свою внимательность на что-то более важное - логику программы.
Ок, допустим внимательности Х - const, и за 3 дня человек допускает Y ошибок, тогда логичнее их допустить в рутинных вещах, изза которых программа либо не собирется, либо не запустится, что укажет на ошибку, чем через 10 лет обнаружить, что логика кривая.
| |
|
4.120, Аноним (-), 15:53, 04/08/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> тогда логичнее их допустить в рутинных вещах, из-за которых
> программа либо не собирется, либо не запустится,
Именно. Вот только это про раст, а не про си.
Ты накосячил - компилятор просто не скомпилит это.
А сишку он скомпилит, запустит, а потом через Т лет окажется что 28 backspace позволяют обойти ввод пароля.
> чем через 10 лет обнаружить, что логика кривая.
Да, именно так! Поэтому лучше тратить внимательность на логику, а не на ерунду.
| |
|
5.124, Аноним (86), 15:57, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> лучше тратить внимательность на логику, а не на ерунду.
Я без предъяв, но вы не рассматриваете вариант, что тратя внимательность на ерунду я эту самую внимательность развиваю?
| |
|
6.130, Аноним (-), 16:13, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> тратя внимательность на ерунду я эту самую внимательность развиваю?
Возможно. Но ты ее точно также развиваешь, тратя не на ерунду.
И этой неерунды ты сможешь сделать намного больше до первой ошибки.
Плюс там есть гарантии, что за тебя проверят и сообщат "если что".
| |
|
|
|
|
2.88, Аноним (-), 14:47, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– | На такой вопрос тебе никто не сможет ответь на 100 Всегда найдется умник с за... большой текст свёрнут, показать | |
|
3.92, xsignal (ok), 15:09, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Но факт того что с С/С++ проблемы перманентные и десятки лет заставляет задуматься)
У любого языка, который много лет используется для написания тонн кода, вскроются "перманентные проблемы на десятки лет") "Ошибок нет только у того, кто ничего не делает".
| |
|
4.95, Аноним (-), 15:14, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> У любого языка, который много лет используется для написания тонн кода, вскроются "перманентные проблемы на десятки лет")
И какие проблемы, с таким импактом CVE/RCE есть у джавы или шишарпа?
Или может у АДА есть проблемы уровня "28 раз нажал бекспейс - пропустил введение пароля"?
Ненадо оправдывать бракованные недоязычки.
> "Ошибок нет только у того, кто ничего не делает".
А что делает тот, кто совершает одни и те же ошибки из года в год?
Знаешь, что такое безумие? (с)
| |
|
5.105, xsignal (ok), 15:29, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> И какие проблемы, с таким импактом CVE/RCE есть у джавы или шишарпа?
Всё есть, логические ошибки есть везде.
> А что делает тот, кто совершает одни и те же ошибки из года в год?
В том, что ошибки обнаруживаются, нет ничего плохого - значит, тесты работают! Плохо, когда ошибок "как-будто нет" (их просто замаскировал "умный" компилятор), а потом эти скрытые логически ошибки, не обнаруживаемые тестами, приводят к катастрофическим последствиям...
| |
5.118, Аноним (86), 15:51, 04/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А что делает тот, кто совершает одни и те же ошибки из года в год?
Имеете ввиду тот, кто из года в год придумывает всё новые "безопасные" языки, которые уж на этот-то раз точно избавят программиста от ошибок?
Ну, раз вы спросили, лично я думаю, что они это не для каких-то целей делают а просто потому что им захотелось создать новый язык с какой-нибудь фишкой. У кого-то это байткод и своя виртуальная машина размером с реальную, у кого-то отступы пробелами, у кого-то интерпретатор угадывающий нужна ли здесь точка с запятой или нет, у кого-то прикольный синтаксис, у кого-то компилируемость и при этом бинарник HelloWorld в несколько мегабайт.
| |
5.129, Аноним (20), 16:10, 04/08/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> А что делает тот, кто совершает одни и те же ошибки из года в год?
> Знаешь, что такое безумие? (с)
Криворукость сишников никто не отменял, но из этого не может следовать, что на си нельзя писать корректные "прямые" программы. По безумцам в обществе нельзя судить о пандемии, она должна носить тотальный характер.
| |
|
|
|
2.108, Аноним (86), 15:30, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– | Много работал с C C в начале-середине 2000-х, но в некоммерческом применении ... большой текст свёрнут, показать | |
|
3.126, Аноним (-), 16:02, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– | Ну не хочу обидеть, но некоммерческом применение это немного Но такой код по... большой текст свёрнут, показать | |
|
4.148, Аноним (86), 17:05, 04/08/2025 [^] [^^] [^^^] [ответить] | +/– | Никаких обид Для того и написал, чтобы читающий мой ответ, понимал, какого ур... большой текст свёрнут, показать | |
|
5.162, Аноним (-), 18:09, 04/08/2025 [^] [^^] [^^^] [ответить] | +1 +/– | 129309 У меня просто 15 лет комерческой разработки и там все бывает очень ... большой текст свёрнут, показать | |
|
|
|
2.175, 12yoexpert (ok), 19:50, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
язык C/C++ для программистов, раст - для веб-синьоров
плюсы учат по книгам, раст по туториалам. делай выводы
| |
|
|
4.259, 12yoexpert (ok), 20:20, 05/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
я не понимаю, вас прямо на курсах пугают UB? вы же, бедные, так заиками станете, ни разу UB и не увидев
| |
|
|
2.211, Аноним (211), 22:37, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Хочу научиться программировать
Вы для удовольствия хотите научиться программировать или чтобы зарабатывать этим?
Во-первых, ни C, ни C++, ни Rust не подходят для начального обучения программированию.
Во-вторых, если вы хотите стать профессиональным программистом, то , извините за вопрос, а сколько вам лет? Если вам уже больше 13 лет и вы до сих пор не умеете программировать - извините, уже поздно начинать. Будущие профессиональные программисты к 15-ти годам уже пишут свои простенькие игры и вирусы. Соревноваться с ними на рынке труда вы не сможете.
Если же вы ещё молоды и у вас всё впереди - совет: изучать надо все языки, и C, и C++, и Rust, и Python и ещё много-много других языков. Профессиональные программисты знакомы с не меньше чем 20-ю языками.
| |
|
3.228, Аноним (228), 10:10, 05/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Как получится... мне 40 лет, но не думаю что это настолько серьезно препятствие.
| |
|
4.269, Джубей (?), 00:43, 07/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Это надеюсь шутка? У нас лид, ему за 40, долго работал ментом, а потом стал программистом. Другой чел на ржд, путейщиком работал, получил 12 грейд в сбере, ща в альфу ушел на 500к в месяц. Я нагрузочник, 400к получаю и я до 34 лет на ржд работал. Вирусы в 13лет? а ты много знаешь, кто в 13 на ассебмлере полиморфы и стелс вирусы пишет? Особенно в 2025году.
| |
|
|
4.235, Аноним (-), 11:51, 05/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Сложен, если не знаешь алгоритмы. Лёгок, если знаешь алгоритмы. Таков чистый Си.
| |
|
3.241, Аноним (228), 13:43, 05/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Из литературы, выбрал пал на учебник по С/С++ от братьев Дейтел и "Алгоритмы и структуры данных" от Вирта. Что скажете?
| |
|
4.267, Аноним (267), 22:10, 06/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
К сожалению, невозможно научиться программировать по двум книгам, даже по 10 книгам, даже по 20 книгам, пусть даже они и лучшие.
Программирование - это не наука, это какой-нибудь раздел математики можно изучить, прочитав несколько книг по нему.
Кроме учебников нужны справочники, задачники (с ответами) и наставник (тьютор), который будет подсказывать как более оптимально решить задачу. И инженерные способности.
| |
|
|
2.232, Аноним (-), 11:26, 05/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
>С/С++
Такого языка не существут. Это две разные языки.
>разрываюсь между С/С++ и Rust.
Итого ты стоишь перед выбором трёх разных языков.
| |
|
3.242, Аноним (228), 13:47, 05/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
А где утверждалось что С/С++ - это один язык? Разумеется изучая С попутно будет изучаться и С++. Да и явно указывалось что речь идет о языках, а не языке.
| |
|
4.252, Аноним (-), 17:47, 05/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Если ты пишешь вантузную абревиатуру "C/C++", то ты намекаешь о том, что считаешь что это один язык. В среде линуксоидов не принято писать - С/C++.
>Разумеется изучая С попутно будет изучаться и С++
А может изучая Си тебе попутно изучить ещё и Java? Это был сарказм. C++ не является потомком или продолжением языка Си. Си плюс-плюсник плохой сишник. Википедисты выдают желаемое за действительное.
У тебя только три пути: либо изучаешь Си - попутно изучая алгоритмы и структуры данных. Либо изучаешь C++, знаниея алгоритмов тебе не понядобятся, будешь изучать сам язык. Либо изучаешь сразу Rust.
| |
|
5.255, Аноним (228), 19:09, 05/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Никаких намеков. Полагаю, вполне себе справлюсь и с С и с С++. Они довольно похожи... скорее всего, будут свои тонкости и подводные камни, но это лучше чем учить непохожие на них языки.
| |
|
6.264, Аноним (264), 16:49, 06/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Стек похожих языков: C -> C++ -> Java.
Rust ближе к Ada, то есть стек другой: Pascal -> Ada -> Rust.
| |
|
|
|
|
2.268, Джубей (?), 00:28, 07/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
пиши на Си, если хочешь на Си. Архитектурного изъяна там нет, просто он минималистичный и работать с памятью нужно внимательно, за тобой
| |
|
1.140, Аноним (-), 16:51, 04/08/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
> для усиления защиты по аналогии с добавленным в GCC 14 флагом "-fhardened"
И как обычно gcc сделан для людей, а clang - для корпоративных винтиков. И вот тут это все на отличненько вылезает.
Что вам лениво чтоли заучить заклинания вида "-D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -ftrivial-auto-var-init=zero -fPIE -pie -Wl,-z,relro,-z,now -fstack-protector-strong -fstack-clash-protection -fcf-protection=full" ? :)
| |
|
2.172, Oldi (?), 19:41, 04/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
А вдруг ошибешься в паре слов и Армия Тьмы вырвется на свободу ?
| |
|
|
2.213, Аноним (211), 22:50, 04/08/2025 [^] [^^] [^^^] [ответить]
| –3 +/– |
По-нормальному, опции усиленной защиты ставятся только в отладочной версии, чтобы легче отловить ошибки при тестировании.
| |
|
3.223, Аноним (-), 04:09, 05/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> По-нормальному, опции усиленной защиты ставятся только в отладочной версии, чтобы легче
> отловить ошибки при тестировании.
Правильно - намного веселее если разнесут в щепки прод. Аэрофлот проверял, очень круто ощущается.
| |
|
|
1.262, Аноним (262), 05:46, 06/08/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Сейчас нет профи программистов которые знают раст, но не знают С/С++. Си все равно надо изучить в какой-то степени прежде раста
| |
|