«Отец» 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
Подписывайтесь на «Что к чему» —
анамнез и главные симптомы беларуского ИТ.
Цифры, графика, ничего лишнего. Выходит раз в 2 недели.
Спасибо! На указанный адрес отправлено письмо для подтверждения подписки.
Читайте также
Microsoft запустила обучающий сайт по Java
Microsoft запустила обучающий сайт по Java
Microsoft запустила обучающий сайт по Java
Топ языков программирования по версии IEEE в 2022 году
Топ языков программирования по версии IEEE в 2022 году
Топ языков программирования по версии IEEE в 2022 году
Как оплачиваются самые популярные языки GitHub и какой прогноз
Как оплачиваются самые популярные языки GitHub и какой прогноз
Как оплачиваются самые популярные языки GitHub и какой прогноз
10 курсов по ABAP — языку программирования, который использует SAP
10 курсов по ABAP — языку программирования, который использует SAP
10 курсов по ABAP — языку программирования, который использует SAP
ABAP (Advanced Business Application Programming) — это язык программирования, который использует компания SAP — один из главных поставщиков программного обеспечения по всему миру. Среди клиентов компании — Apple, Amazon, Colgate-Palmolive, Cisco, Dell, Airbus, DHL, Walmart, Ernst and Young и сотни других. Вообще SAP используют около 90% компаний из списка Fortune-500. И еще, например, NHL. ABAP написан в далеком 1980 году и за последние 40 лет все-равно остается актуальным и востребованным. У разработчиков на ABAP стабильно высокие зарплаты. Поэтому мы решили собрать список из 10 курсов по ABAP, которые стоит пройти для лучшего понимания языка или вообще для выбора его как своей профессии.
3 комментария

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

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

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

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

0

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

-1

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

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

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

-2

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

1

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

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

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