Дапамажыце dev.by 🤍
Падтрымаць

«Бацька» C++ выступіў у яе абарону — у АНБ ЗША патрабуюць адмовіцца ад мовы

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

5 каментарыяў
«Бацька» C++ выступіў у яе абарону — у АНБ ЗША патрабуюць адмовіцца ад мовы

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

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

У рэчаіснасці ж, на яго думку, C++ ні ў чым не саступае сучасным так званым бяспечным мовам накшталт C#, Go, Java, Ruby, Rust і Swift, якія АНБ прасоўвае ў якасці альтэрнатывы. Базавыя рэкамендацыі па выкарыстанні C++ (C++ Core Guidelines), над якімі Страўструп працаваў апошнія некалькі гадоў, утрымліваюць метады бяспечнага праграмавання і загадваюць выкарыстоўваць сродкі, якія гарантуюць бяспечную працу з тыпамі і рэсурсамі.

Сур’ёзнай дапамогай праграмісту стане дыхтоўны статычны аналізатар кода, лічыць Страўструп. Укараненне такога інструмента прывядзе да значна меншых выдаткаў працы, ніж пераход на «бяспечныя» мовы.

Агенцтва нацыянальнай бяспекі заклікала распрацоўшчыкаў адмовіцца ад С/С++
Агенцтва нацыянальнай бяспекі заклікала распрацоўшчыкаў адмовіцца ад С/С++
Па тэме
Агенцтва нацыянальнай бяспекі заклікала распрацоўшчыкаў адмовіцца ад С/С++

На думку дацкага праграміста і навукоўца, у аўтараў рэкамендацый у АНБ занадта вузкае ўяўленне пра бяспеку софту, якое абмяжоўваецца бяспечнай працай з памяццю. У той жа час існуе больш за дзясятак іншых сцэнароў, пры якіх асаблівасці канкрэтнай мовы можна — наўмысна альбо не — выкарыстоўваць на шкоду бяспецы софту, адзначае стваральнік C++.

«Бацька» С++ лічыць, што дамагчыся бяспекі софту магчыма, спалучаючы розныя стылі праграмавання, правераныя бібліятэкі і абавязковы статычны аналіз кода.

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

У 2022 годзе Страўструп і Габрыэль дос Рэйс з Microsoft апублікавалі працу, у якой разабралі частыя памылкі праграмістаў, якія прыводзяць да «паломкі» сістэмы тыпаў даных і ўзнікнення праблем з бяспекай выкарыстання сістэмных рэсурсаў (у прыватнасці, памяці), а таксама прапанавалі меры па іх прадухіленні.

У заключэнне ліста Страўструп намякнуў, што аўтарам даклада АНБ варта было б звяртацца па экспертнае меркаванне да прадстаўнікоў камітэта ISO па стандартах C++, а не абапірацца на пункт гледжання нейкай «усёабдымнай супольнасці распрацоўшчыкаў софту, якая прадстаўляе прыватны і дзяржаўны сектары эканомікі ЗША, а таксама акадэмічнае асяроддзе». Якраз так у справаздачы АНБ пазначаныя ініцыятары паўсюднага пераходу на мовы праграмавання, якія забяспечваюць бяспечную працу з памяццю.

TIOBE абраў «мову года»-2022
TIOBE абраў «мову года»-2022
Па тэме
TIOBE абраў «мову года»-2022

Хочаце паведаміць важную навіну? Пішыце ў Telegram-бот

Галоўныя падзеі і карысныя спасылкі ў нашым Telegram-канале

Абмеркаванне
Каментуйце без абмежаванняў

Рэлацыраваліся? Цяпер вы можаце каментаваць без верыфікацыі акаўнта.

1

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

0

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

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

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

-2

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

2

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

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

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