«Спасите C++»: отец языка программирования просит помощи у сообщества
Создатель C++ Бьёрн Страуструп призвал разработчиков защитить от исчезновения его язык программирования, который в последние годы критикуют эксперты по кибербезопасности. Основной причиной нападок является проблема безопасности памяти, что привело к исключению C++ из числа рекомендуемых языков в государственных и корпоративных проектах, пишет The Register.
Создатель C++ Бьёрн Страуструп призвал разработчиков защитить от исчезновения его язык программирования, который в последние годы критикуют эксперты по кибербезопасности. Основной причиной нападок является проблема безопасности памяти, что привело к исключению C++ из числа рекомендуемых языков в государственных и корпоративных проектах, пишет The Register.
C и C++ требуют ручного управления памятью, что делает их уязвимыми к ошибкам, таким как выход за границы массива или утечки памяти. Эти проблемы составляют основную часть уязвимостей в крупных кодовых базах. Поэтому ведущие мировые организации всё чаще выбирают языки с лучшей защитой памяти — Rust, Go, C, Java, Swift и Python.
Сообщество C/C++ отреагировало серией инициатив, направленных на повышение безопасности, включая проекты TrapC, FilC, Mini-C и Safe C++. Однако, по мнению Страуструпа, проблема не только в медленном прогрессе, но и в отсутствии чёткого публичного нарратива, который мог бы конкурировать с растущей популярностью Rust. В обращении к комитету по стандартам C++ (WG21) он призвал принять срочные меры и предложил использовать свой фреймворк Profiles для улучшения безопасности.
Страуструп подчёркивает, что обеспечение безопасности памяти всегда было одной из ключевых задач C++, и призывает не принимать его спокойный тон за безразличие к происходящему. Он напомнил, что ранее предупреждал сообщество о риске разрушения C++ из-за хаотичных изменений в языке.
Одной из причин обеспокоенности стало требование Агентства по кибербезопасности и инфраструктуре США (CISA), согласно которому к 2026 году производители должны либо устранить все уязвимости, связанные с управлением памятью, либо полностью перейти на безопасные языки. Страуструп называет это серьёзной угрозой для будущего C++.
Программистам, работающим с C++, предлагают различные решения, но ни одно из них пока не стало стандартом. Например, проект TrapC предполагает использование «безопасных указателей», которые предотвращают выход за границы памяти и сегментационные ошибки. Однако подобные решения требуют значительных изменений в коде и не могут быть внедрены мгновенно.
Эксперты разделились во мнениях о будущем C++. Некоторые считают, что полная замена C++ на другие языки невозможна, поскольку на нём написано слишком много кода. Вместо этого предлагается эволюционный подход — постепенная модернизация языка с внедрением инструментов повышения безопасности.
Тем временем Google и другие техногиганты всё активнее выступают за переход на языки с полной защитой памяти, что создаёт дополнительное давление на сообщество C++. Вопрос в том, успеет ли оно предложить спасительное решение до 2026 года.
С++, несмотря на свой солидный возраст, остается одним из основных языков программирования, который применется очень широко: от разработки ПО до создания игр. В сети много ресурсов, которые помогут освоить этот язык. Советуем обратить внимаение на подборку команды Digitaldefynd, котрую мы дополнили. В ней как платные, так и бесплатные ресурсы для людей с разным уровнем подготовки и знаний С++.
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
Собрали 10 платных и бесплатных онлайн-курсов для изучения SQL. Программы рассчитаны на слушателей, которые только начинают или продолжают знакомство с языком.
10 способов научиться программировать самостоятельно
Хотите научиться кодить и освоить алгоритмы? Собрали десять советов с чего начать изучение программирования для тех, кто только начинает своё путешествие в мир программирования и снабдили все это полезными ссылками на курсы для начинающих программистов.
Если под вымиранием плюсов подразумевается что его будет вытеснять rust, то тут не паниковать надо, а радоваться. Но он не вытеснит, и ничего с вашими плюсами не станет, от них избавиться не проще чем искоренить ковид, например
"C и C++ требуют ручного управления памятью, что делает их уязвимыми к ошибкам"... и далее по тексту "Поэтому ведущие мировые организации всё чаще выбирают языки с лучшей защитой памяти — Rust, Go, C, Java, Swift и Python.", автор явно любит С, он вроде безопасный и вроде нет, язык Шредингера :)
Fil-C компилятор упоминаемый в статье, но дополнительные проверки выхода за границы массива сказываются на производительности. 5%. Apple использует схожее решение для C и теже 5%
"Rust, Go, Swift" спорно, но эти "C#, Java, Python, and JavaScript." медленнее и прожорливее C/C++ так что падение в 5% не критично
Ну так на С/С++ и вправду дофига чего написано. Те же Java, Python и др. дополняются через C/C++ в большей степени. Но тут "рыночек" решает. А "рыночком" управляют техногиганты, а девы как правило идут на зарплату в эти самые гиганты. И им похр, лишь бы платили Хотя я думаю это просто раньше времени хай подняли чтобы не получилось такой жпы как с стековерфлоу и AI сейчас...
Пользователь отредактировал комментарий 4 марта 2025, 20:42
Какой же Бьёрн Страуструп болтун! Когда Страуструп заявляет, что "обеспечение безопасности памяти всегда было одной из ключевых задач C++" это он просто примазывается к повестке. Ключевой задачей C++ была производительность и только. По моему мнению, не надо в C++ добавлять безопасность, тогда это будет уже не C++.
C++ убивает метание туда сюда со стандартами, которыми как из гладкоствольного ружья дробинами метается комитет.
Основной запрос бизнеса - скорость разработки.
Ресурсы, массивы, выходы и уж тем более утечки памяти, которые значимый эффект дают только для сервисов - бизнесменам фиолетово.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.
Если под вымиранием плюсов подразумевается что его будет вытеснять rust, то тут не паниковать надо, а радоваться. Но он не вытеснит, и ничего с вашими плюсами не станет, от них избавиться не проще чем искоренить ковид, например
C? C# может?
"C и C++ требуют ручного управления памятью, что делает их уязвимыми к ошибкам"... и далее по тексту "Поэтому ведущие мировые организации всё чаще выбирают языки с лучшей защитой памяти — Rust, Go, C, Java, Swift и Python.", автор явно любит С, он вроде безопасный и вроде нет, язык Шредингера :)
Fil-C компилятор упоминаемый в статье, но дополнительные проверки выхода за границы массива сказываются на производительности. 5%. Apple использует схожее решение для C и теже 5%
"Rust, Go, Swift" спорно, но эти "C#, Java, Python, and JavaScript." медленнее и прожорливее C/C++ так что падение в 5% не критично
настоящий профессионал может выйти за границы массива на любом языке
Настояший профессионал ДОЛЖЕН уметь выходить за границы
Ну так на С/С++ и вправду дофига чего написано. Те же Java, Python и др. дополняются через C/C++ в большей степени. Но тут "рыночек" решает. А "рыночком" управляют техногиганты, а девы как правило идут на зарплату в эти самые гиганты. И им похр, лишь бы платили Хотя я думаю это просто раньше времени хай подняли чтобы не получилось такой жпы как с стековерфлоу и AI сейчас...
Пользователь отредактировал комментарий 4 марта 2025, 20:42
Какой же Бьёрн Страуструп болтун! Когда Страуструп заявляет, что "обеспечение безопасности памяти всегда было одной из ключевых задач C++" это он просто примазывается к повестке. Ключевой задачей C++ была производительность и только. По моему мнению, не надо в C++ добавлять безопасность, тогда это будет уже не C++.
C++ убивает метание туда сюда со стандартами, которыми как из гладкоствольного ружья дробинами метается комитет.
Основной запрос бизнеса - скорость разработки.
Ресурсы, массивы, выходы и уж тем более утечки памяти, которые значимый эффект дают только для сервисов - бизнесменам фиолетово.