Офарандаи C++ ҷорӣ кардани забонҳои барномасозии бехатарро танқид кард

Бярн Строуструп, созандаи забони C++, эътирозҳоро ба хулосаҳои гузориши NSA нашр кардааст, ки ба созмонҳо тавсия додааст, ки аз забонҳои барномасозӣ ба мисли C ва C++, ки идоракунии хотираро ба ихтиёри таҳиягар вогузоранд, ба манфиати забонҳо дур шаванд. ки ба монанди C#, Go, Java, Ruby, Rust ва Swift, ки идоракунии автоматии хотираро таъмин мекунанд ё тафтиши бехатарии хотираро дар вақти тартиб медиҳанд.

Ба гуфтаи Stroustrup, забонҳои бехатаре, ки дар гузориши NSA зикр шудаанд, дар барномаҳое, ки аз нуқтаи назари ӯ муҳиманд, дар асл аз C++ бартарӣ надоранд. Аз ҷумла, тавсияҳои асосӣ оид ба истифодаи C++ (Роҳнамои асосии C++), ки дар солҳои охир таҳия шудаанд, усулҳои барномасозии бехатарро дар бар мегиранд ва истифодаи асбобҳоеро, ки кори бехатарро бо намудҳо ва захираҳоро кафолат медиҳанд, муқаррар мекунанд. Ин имкон медиҳад, ки таҳиягароне, ки чунин кафолатҳои бехатариро талаб намекунанд, истифодаи усулҳои кӯҳнаи рушдро идома диҳанд.

Stroustrup мӯътақид аст, ки таҳлилгари хуби статикӣ, ки дастурҳои асосии C++-ро риоя мекунад, метавонад кафолатҳои заруриро барои бехатарии рамзи C++ бо арзиши хеле камтар аз гузаштан ба забонҳои нави барномасозии бехатар таъмин намояд. Масалан, аксарияти дастурҳои асосӣ аллакай дар таҳлилгари статикӣ ва профили бехатарии хотира, ки ба Microsoft Visual Studio дохил карда шудаанд, амалӣ карда шудаанд. Баъзе тавсияҳо инчунин дар таҳлилгари статикии Clang tidy ба назар гирифта мешаванд.

Гузориши NSA инчунин барои он интиқод карда шуд, ки танҳо ба мушкилоти хотира тамаркуз карда, бисёр мушкилоти дигари забони барномасозӣ, ки ба амният ва эътимод таъсир мерасонанд, хориҷ карда шудааст. Stroustrup амниятро ҳамчун мафҳуми васеътар мешуморад, ки паҳлӯҳои гуногуни онро тавассути омезиши услуби рамзгузорӣ, китобхонаҳо ва анализаторҳои статикӣ ба даст овардан мумкин аст. Барои назорати дохил намудани қоидаҳое, ки бехатарии кор бо намудҳо ва захираҳоро таъмин мекунанд, пешниҳод карда мешавад, ки эзоҳҳо дар кодҳо ва вариантҳои компилятор истифода шаванд.

Дар барномаҳое, ки иҷроиш аз амният муҳимтар аст, ин равиш имкон медиҳад, ки хусусиятҳоеро интихоб кунанд, ки амниятро танҳо дар он ҷое, ки лозим аст, кафолат медиҳанд. Воситаҳои амниятӣ инчунин метавонанд ба таври қисм-қисм истифода шаванд, масалан, аз санҷиши диапазон ва қоидаҳои оғозкунӣ оғоз карда, сипас тадриҷан мутобиқ кардани код ба талаботи сахттар.

Манбаъ: opennet.ru

Илова Эзоҳ