Support us

«Спасите C++»: отец языка программирования просит помощи у сообщества

Создатель C++ Бьёрн Страуструп призвал разработчиков защитить от исчезновения его язык программирования, который в последние годы критикуют эксперты по кибербезопасности. Основной причиной нападок является проблема безопасности памяти, что привело к исключению C++ из числа рекомендуемых языков в государственных и корпоративных проектах, пишет The Register.

9 комментариев
«Спасите C++»: отец языка программирования просит помощи у сообщества

Создатель 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 года.

Власти США требуют от разработчиков отказаться от C/C++ к 2026 году
Власти США требуют от разработчиков отказаться от C/C++ к 2026 году
По теме
Власти США требуют от разработчиков отказаться от C/C++ к 2026 году
Белый дом призвал разработчиков переходить на ЯП обеспечивающие безопасную работу с памятью
Белый дом призвал разработчиков переходить на ЯП, обеспечивающие безопасную работу с памятью
По теме
Белый дом призвал разработчиков переходить на ЯП, обеспечивающие безопасную работу с памятью
Создатель С++ ответил на критику американских властей
Создатель С++ ответил на критику американских властей
По теме
Создатель С++ ответил на критику американских властей
Появился новый диалект в котором решается главная «болячка» С и С++
Появился новый диалект, в котором решается главная «болячка» С и С++
По теме
Появился новый диалект, в котором решается главная «болячка» С и С++
Читайте также
Rust впервые пробился в топ-10 TIOBE
Rust впервые пробился в топ-10 TIOBE
Rust впервые пробился в топ-10 TIOBE
У российских Python-программистов почти в 1,5 раза взлетели зарплаты в 2026
У российских Python-программистов почти в 1,5 раза взлетели зарплаты в 2026
У российских Python-программистов почти в 1,5 раза взлетели зарплаты в 2026
TIOBE назвал «язык года»-2025
TIOBE назвал «язык года»-2025
TIOBE назвал «язык года»-2025
1 комментарий
В Microsoft хотят перенести весь код с C/C++ на Rust за несколько лет
В Microsoft хотят перенести весь код с C/C++ на Rust за несколько лет
В Microsoft хотят перенести весь код с C/C++ на Rust за несколько лет
2 комментария

Хотите сообщить важную новость? Свяжитесь с редакцией через страницу контактов

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

0

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

-1

выбирают языки с лучшей защитой памяти — Rust, Go, C, Java, Swift и Python

C? C# может?

2

"C и C++ требуют ручного управления памятью, что делает их уязвимыми к ошибкам"... и далее по тексту "Поэтому ведущие мировые организации всё чаще выбирают языки с лучшей защитой памяти — Rust, Go, C, Java, Swift и Python.", автор явно любит С, он вроде безопасный и вроде нет, язык Шредингера :)

Anonymous
Anonymous
1

Fil-C компилятор упоминаемый в статье, но дополнительные проверки выхода за границы массива сказываются на производительности. 5%. Apple использует схожее решение для C и теже 5%

"Rust, Go, Swift" спорно, но эти "C#, Java, Python, and JavaScript." медленнее и прожорливее C/C++ так что падение в 5% не критично

Richard James
Richard James тунеядец в опале
4

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

настоящий профессионал может выйти за границы массива на любом языке

гр. О.  Бендер
гр. О. Бендер Капитан в свободном плавании
3

Настояший профессионал ДОЛЖЕН уметь выходить за границы

0

Ну так на С/С++ и вправду дофига чего написано. Те же Java, Python и др. дополняются через C/C++ в большей степени. Но тут "рыночек" решает. А "рыночком" управляют техногиганты, а девы как правило идут на зарплату в эти самые гиганты. И им похр, лишь бы платили Хотя я думаю это просто раньше времени хай подняли чтобы не получилось такой жпы как с стековерфлоу и AI сейчас...

Пользователь отредактировал комментарий 4 марта 2025, 20:42

0

Какой же Бьёрн Страуструп болтун! Когда Страуструп заявляет, что "обеспечение безопасности памяти всегда было одной из ключевых задач C++" это он просто примазывается к повестке. Ключевой задачей C++ была производительность и только. По моему мнению, не надо в C++ добавлять безопасность, тогда это будет уже не C++.

0

C++ убивает метание туда сюда со стандартами, которыми как из гладкоствольного ружья дробинами метается комитет.

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