Support us

«Отец» C++ выступил в его защиту — в АНБ США требуют отказаться от языка

Создатель C++ — одного из самых популярных сегодня языков программирования и «языка года» по версии TIOBE — Бьёрн Страуструп отреагировал на призыв Агентства национальной безопасности США отказаться от использования языков программирования, в которых ответственность за управление памятью возложена на разработчика, таких как C и C++, в пользу более обеспечивающих безопасную работу с памятью, например Rust.

5 комментариев
«Отец» C++ выступил в его защиту — в АНБ США требуют отказаться от языка

Создатель C++ — одного из самых популярных сегодня языков программирования и «языка года» по версии TIOBE — Бьёрн Страуструп отреагировал на призыв Агентства национальной безопасности США отказаться от использования языков программирования, в которых ответственность за управление памятью возложена на разработчика, таких как C и C++, в пользу более обеспечивающих безопасную работу с памятью, например Rust.

В открытом письме Страуструп не согласился с позицией агентства. Во-первых, он отметил, что там «смешали в одну кучу» C и C++, хотя языки развивались независимо на протяжении последних 30 лет. Впрочем, и практика применения C++ во многом «застряла в прошлом» — разработчики нередко игнорируют изменения в языке, которые позволяют кардинально повысить безопасность кода, сетует Страуструп.

В действительности же, по его мнению, C++ ни в чём не уступает современным так называемым безопасным языкам вроде C#, Go, Java, Ruby, Rust и Swift, которые АНБ продвигает в качестве альтернативы. Базовые рекомендации по использованию C++ (C++ Core Guidelines), над которыми Страуструп работал последние несколько лет, содержат методы безопасного программирования и предписывают использование средств, гарантирующих безопасную работу с типами и ресурсами.

Серьёзным подспорьем программисту станет добротный статический анализатор кода, считает Страуструп. Внедрение такого инструмента приведёт к куда меньшим трудозатратам, чем переход на «безопасные» языки.

Агентство национальной безопасности призвало разработчиков отказаться от С/С++
Агентство национальной безопасности призвало разработчиков отказаться от С/С++
По теме
Агентство национальной безопасности призвало разработчиков отказаться от С/С++

По мнению датского программиста и учёного, у авторов рекомендаций в АНБ слишком узкое представление о безопасности ПО, которое ограничивается безопасной работой с памятью. В то же время существует свыше десятка других сценариев, при которых особенности конкретного языка можно — умышленно или нет   использовать в ущерб безопасности софта, отмечает создатель C++.

«Отец» C++ считает, что добиться безопасности ПО возможно, сочетая различные стили программирования, проверенные библиотеки и обязательный статический анализ кода.

Страуструп призвал АНБ сперва серьёзно подумать о «безопасности» новых языков и лишь затем предложить что-нибудь разумное по этому поводу. «Разумным» Страуструп счёл бы формирование списка проблем безопасности C++, которые впоследствии можно было бы устранить путём принятия поправок к международным стандартам языка. «Этим я и планирую заняться», — отметил программист.

В 2022 году Страуструп и Габриэль дос Рейс из Microsoft, опубликовали работу, в которой разобрали частые ошибки программистов, приводящие к «поломке» системы типов данных и возникновению проблем с безопасностью использования системных ресурсов (в частности, памяти), а также предложили меры по их предотвращению.

В заключение письма Страуструп намекнул, что авторам доклада АНБ следовало бы обращаться за экспертным мнением к представителям комитета ISO по стандартам C++, а не опираться на точку зрения некоего «всеобъемлющего сообщества разработчиков ПО, представляющего частный и государственный сектора экономики США, а также академическую среду». Именно так в отчёте АНБ обозначены инициаторы повсеместного перехода на языки программирования, обеспечивающие безопасную работу с памятью.

TIOBE выбрал «язык года»-2022
TIOBE выбрал «язык года»-2022
По теме
TIOBE выбрал «язык года»-2022
Место солидарности беларусского ИТ-комьюнити

Далучайся!

Читайте также
10 курсов по C++ (июнь 2023)
10 курсов по C++ (июнь 2023)
10 курсов по C++ (июнь 2023)
С++, несмотря на свой солидный возраст, остается одним из основных языков программирования, который применется очень широко: от разработки ПО до создания игр. В сети много ресурсов, которые помогут освоить этот язык. Советуем обратить внимаение на подборку команды Digitaldefynd, котрую мы дополнили. В ней как платные, так и бесплатные ресурсы для людей с разным уровнем подготовки и знаний С++.
1 комментарий
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
Собрали 10 платных и бесплатных онлайн-курсов для изучения SQL. Программы рассчитаны на слушателей, которые только начинают или продолжают знакомство с языком.
10 способов научиться программировать самостоятельно
10 способов научиться программировать самостоятельно
10 способов научиться программировать самостоятельно
Хотите научиться кодить и освоить алгоритмы? Собрали десять советов с чего начать изучение программирования для тех, кто только начинает своё путешествие в мир программирования и снабдили все это полезными ссылками на курсы для начинающих программистов.
Microsoft запустила обучающий сайт по Java
Microsoft запустила обучающий сайт по Java
Microsoft запустила обучающий сайт по Java
1 комментарий

Хотите сообщить важную новость? Пишите в Telegram-бот

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

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

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

1

Таки прав. Откройте современный стандарт и убедитесь что этих всех проблем уже нет сто лет в обед. А новые смузи валятся точно так-же, я даже примеры публиковал. При этом C++ на 100 лет впереди всего этого смузи

0

первого растамана не знающего о стандартах вычислили по минусу :D

fallinmyhand
fallinmyhand Патриот в Мерси Софтваре
0

но осталась обратная совместимость. А блеймят из-за того, что раз есть возможность - то все, не безопасно. Хотя ж наверное есть какието stirct чеки

-2

Зразумелая спроба абараніць сваё «дзіця», але па большай частцы эмацыйная, аргументы не пераконваюць. Развіццё моў пайшло наперад, і няма сэнсу гэтаму супраціўляцца

2

Вы их секты раста аргументы не воспринимаете. Сколько уже статей было на реальных примерах когда ваш раст сваливался похлеще. Но у вас это другое.

Стандарты открой и убедись.

Ах да, у вас их нет, вы не знаете что это такое.