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

leer en español

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

Бьёрн Страуструп призывает сообщество защитить своё детище от исчезновения.

image

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

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++. Вопрос заключается в том, успеет ли сообщество C++ предложить спасительное решение до 2026 года, или же легендарный язык неизбежно канет в Лету?

Ищем уязвимости в системе и новых подписчиков!

Первое — находим постоянно, второе — ждем вас

Эксплойтните кнопку подписки прямо сейчас