Креаторот на C ++ го критикуваше наметнувањето на безбедни програмски јазици

Бјарне Струструп, креаторот на јазикот C++, објави приговори за наодите од извештајот на НСА, кој им препорача на организациите да се тргнат од користење на програмски јазици како што се C и C++, кои го префрлаат управувањето со меморијата на развивачот, во корист на јазиците. како што се C#, Go, Java, Ruby, Rust и Swift кои обезбедуваат автоматско управување со меморијата или вршат проверки на безбедноста на меморијата во времето на компајлирање.

Според Stroustrup, безбедните јазици споменати во извештајот на NSA не се навистина супериорни во однос на C++ во важни апликации од негова гледна точка. Конкретно, основните упатства за C++, кои се развиени во последниве години, опфаќаат безбедни методи на програмирање и пропишуваат употреба на алатки кои гарантираат безбедна работа со типови и ресурси. Сепак, програмерите на кои не им се потребни толку силни безбедносни гаранции се оставени слободно да продолжат да ги користат постарите развојни методи.

Stroustrup верува дека добар статички анализатор кој е во согласност со C++ Core Guidelines може да ги обезбеди потребните безбедносни гаранции за C++ кодот по многу пониска цена отколку префрлањето на нови безбедни програмски јазици. На пример, повеќето основни упатства се веќе имплементирани во статичкиот анализатор и профилот за безбедност на меморија од Microsoft Visual Studio. Некои од препораките се земени предвид и во уредниот статички анализатор Clang.

Фокусот на извештајот на НСА беше и на проблемите со меморијата, оставајќи ги нерешени многу други проблеми со програмскиот јазик кои влијаат на безбедноста и доверливоста. Stroustrup ја гледа безбедноста како поширок концепт, чиишто различни аспекти може да се постигнат со комбинација на стилови на кодирање, библиотеки и статички анализатори. За да се контролира вклучувањето на правила кои обезбедуваат безбедност при работа со типови и ресурси, се предлага да се користат прибелешки во опциите за код и компајлер.

Во апликации каде што перформансите се поважни од безбедноста, овој пристап овозможува селективна употреба на алатки кои гарантираат безбедност само таму каде што е потребно. Алатките за подобрување на безбедноста може да се применат и делумно, како што е прво ограничување на правилата за проверка на опсегот и иницијализација, а потоа постепено прилагодување на кодот на построги барања.

Извор: opennet.ru

Додадете коментар