De makker fan C ++ krityk op it oplizzen fan feilige programmeartalen

Bjarne Stroustrup, de skepper fan 'e C++-taal, hat beswierskriften publisearre tsjin 'e konklúzjes fan it NSA-rapport, dat oanbefelle dat organisaasjes fuortgean fan programmeartalen lykas C en C++, dy't ûnthâldbehear oerlitte oan 'e ûntwikkelder, yn it foardiel fan talen dat lykas C #, Go, Java, Ruby, Rust en Swift, dy't automatysk ûnthâldbehear leverje of kontrôles foar kompilearjen fan ûnthâldfeiligens útfiere.

Neffens Stroustrup binne de feilige talen neamd yn it NSA-rapport yndie net superieur oan C++ yn 'e applikaasjes dy't fanút syn eachpunt wichtich binne. Benammen de basis oanbefellings foar it brûken fan C ++ (C ++ Core Guidelines), ûntwikkele yn de ôfrûne jierren, cover feilige programmearring metoaden en foarskriuwe it brûken fan ark dy't garandearje feilich wurk mei soarten en middels. Untwikkelders dy't sokke strange feiligensgarânsjes net nedich hawwe, hawwe lykwols de opsje om troch te gean mei it brûken fan âlde ûntwikkelingsmetoaden.

Stroustrup is fan betinken dat in goede statyske analysator dy't de C ++ Core Guidelines folget, de nedige garânsjes foar de feiligens fan C ++-koade kin leverje tsjin in signifikant legere kosten as migrearje nei nije feilige programmeartalen. Bygelyks, de measte fan 'e Core Guidelines binne al ymplementearre yn' e statyske analysator en ûnthâldfeiligensprofyl opnommen yn Microsoft Visual Studio. Guon oanbefellings wurde ek rekken holden yn 'e Clang tidy statyske analysator.

It NSA-rapport waard ek bekritisearre om allinich te fokusjen op ûnthâldproblemen, wêrtroch in protte oare programmeartaalproblemen útlitte dy't feiligens en betrouberens beynfloedzje. Stroustrup sjocht feiligens as in breder konsept, wêrfan de ferskate fasetten kinne wurde berikt troch in kombinaasje fan kodearringstyl, biblioteken en statyske analysatoren. Om it opnimmen fan regels te kontrolearjen dy't de feiligens fan wurkjen mei soarten en boarnen garandearje, wurdt foarsteld om annotaasjes te brûken yn 'e koade en kompilatoropsjes.

Yn applikaasjes dêr't prestaasjes wichtiger binne as feiligens, lit dizze oanpak selektive tapassing fan funksjes mooglik meitsje dy't feiligens garandearje allinich wêr't it nedich is. Feiligens ark kinne ek op in stikje wize tapast wurde, lykas begjinnend mei berikkontrôle en inisjalisaasjeregels, en dan stadichoan oanpasse de koade oan strangere easken.

Boarne: opennet.ru

Add a comment