C++-ren sortzaileak programazio-lengoaia seguruen inposizioa kritikatu zuen

Bjarne Stroustrupek, C++ lengoaiaren sortzaileak, NSAren txostenaren ondorioen aurkako objekzioak argitaratu ditu, zeinak erakundeei C eta C++ bezalako programazio lengoaietatik urruntzea gomendatzen baitie, memoriaren kudeaketa garatzailearen esku uzten baitute, lengoaien alde. hala nola, C#, Go, Java, Ruby, Rust eta Swift, memoria automatikoki kudeatzeko edo konpilazio garaiko memoriaren segurtasun-egiaztapenak egiten dituztenak.

Stroustrupen-en arabera, NSAren txostenean aipatutako hizkuntza seguruak ez dira C++ baino handiagoak bere ikuspuntutik garrantzitsuak diren aplikazioetan. Bereziki, azken urteotan garatu diren C++ (C++ Core Guidelines) erabiltzeko oinarrizko gomendioek programazio-metodo seguruak jasotzen dituzte eta mota eta baliabideekin lan segurua bermatzen duten tresnen erabilera agintzen dute. Horrek aukera uzten die halako segurtasun-berme zorrotzak behar ez dituzten garatzaileei garapen-metodo zaharrak erabiltzen jarraitzeko.

Stroustrupek uste du C++ Oinarrizko Gidalerroei jarraitzen dien analizatzaile estatiko on batek C++ kodearen segurtasunerako beharrezko bermeak eman ditzakeela programazio-lengoaia seguru berrietara migratzeak baino kostu nabarmen txikiagoarekin. Esate baterako, Oinarrizko Gidalerro gehienak Microsoft Visual Studio-n sartutako analizatzaile estatiko eta memoria-segurtasun profilean ezarrita daude dagoeneko. Gomendio batzuk ere kontuan hartzen dira Clang-en analizatzaile estatiko txukunean.

NSAren txostenak memoria-arazoetan soilik zentratu izana ere kritikatu zuten, segurtasunari eta fidagarritasunari eragiten dioten programazio-lengoaiaren beste arazo asko kanpoan utzita. Stroustrup-ek segurtasuna kontzeptu zabalago gisa ikusten du, zeinaren alderdi desberdinak kode-estilo, liburutegi eta analizatzaile estatikoen konbinazioarekin lor daitezkeen. Motekin eta baliabideekin lan egiteko segurtasuna bermatzen duten arauak sartzea kontrolatzeko, kode eta konpiladore aukeretan oharrak erabiltzea proposatzen da.

Errendimendua segurtasuna baino garrantzitsuagoa den aplikazioetan, ikuspegi honek segurtasuna behar den tokian soilik bermatzen duten funtzioak selektiboki aplikatzea ahalbidetzen du. Segurtasun-tresnak zatika ere aplika daitezke, esate baterako, barrutiaren egiaztapena eta hasierako arauetatik hasi, eta gero pixkanaka kodea eskakizun zorrotzagoetara egokituz.

Iturria: opennet.ru

Gehitu iruzkin berria