C++ dilinin yaradıcısı təhlükəsiz proqramlaşdırma dillərinin tətbiqini tənqid edib

C++ dilinin yaradıcısı Bjarne Stroustrup, NSA hesabatının nəticələrinə etirazlarını dərc etdi, bu hesabatda təşkilatlara C və C++ kimi yaddaşın idarə edilməsini tərtibatçının ixtiyarına buraxan proqramlaşdırma dillərindən dillərin xeyrinə keçməyi tövsiyə etdi. avtomatik yaddaş idarəetməsini təmin edən və ya kompilyasiya vaxtı yaddaş təhlükəsizliyi yoxlamalarını həyata keçirən C#, Go, Java, Ruby, Rust və Swift kimi.

Stroustrupa görə, NSA hesabatında qeyd olunan təhlükəsiz dillər, onun nöqteyi-nəzərindən vacib olan tətbiqlərdə əslində C++-dan üstün deyil. Xüsusilə, son illərdə hazırlanmış C++ (C++ Əsas Təlimatları) istifadəsinə dair əsas tövsiyələr təhlükəsiz proqramlaşdırma üsullarını əhatə edir və növlər və resurslarla təhlükəsiz işləməyə zəmanət verən alətlərdən istifadəni nəzərdə tutur. Bu, belə ciddi təhlükəsizlik zəmanətləri tələb etməyən tərtibatçılar üçün köhnə inkişaf metodlarından istifadə etməyə davam etmək imkanı verir.

Stroustrup hesab edir ki, C++ Əsas Təlimatlarına əməl edən yaxşı statik analizator C++ kodunun təhlükəsizliyi üçün lazımi zəmanətləri yeni təhlükəsiz proqramlaşdırma dillərinə keçməkdən xeyli aşağı qiymətə təmin edə bilər. Məsələn, Əsas Təlimatların əksəriyyəti artıq Microsoft Visual Studio-ya daxil olan statik analizatorda və yaddaş təhlükəsizliyi profilində həyata keçirilir. Clang səliqəli statik analizatorda bəzi tövsiyələr də nəzərə alınır.

NSA hesabatı həm də təhlükəsizlik və etibarlılığa təsir edən bir çox digər proqramlaşdırma dili problemlərini kənarda qoyaraq, yalnız yaddaş problemlərinə diqqət yetirdiyi üçün tənqid edilib. Stroustrup təhlükəsizliyi daha geniş konsepsiya kimi nəzərdən keçirir, onun müxtəlif cəhətləri kodlaşdırma üslubu, kitabxanalar və statik analizatorların birləşməsi ilə əldə edilə bilər. Növlər və resurslarla işləmək təhlükəsizliyini təmin edən qaydaların daxil edilməsinə nəzarət etmək üçün kod və tərtibçi seçimlərində annotasiyalardan istifadə etmək təklif olunur.

Performansın təhlükəsizlikdən daha vacib olduğu tətbiqlərdə bu yanaşma təhlükəsizliyə zəmanət verən funksiyaların seçmə tətbiqinə imkan verir. Təhlükəsizlik alətləri, həmçinin diapazonun yoxlanılması və işə salınma qaydaları ilə başlamaq və sonra kodun tədricən daha sərt tələblərə uyğunlaşdırılması kimi hissə-hissə tətbiq oluna bilər.

Mənbə: opennet.ru

Добавить комментарий