C ++-ийг бүтээгч аюулгүй програмчлалын хэлүүдийг ногдуулахыг шүүмжилсэн

С++ хэлийг бүтээгч Бжарне Строуструп NSA тайлангийн дүгнэлтийг эсэргүүцэж, байгууллагуудад санах ойн менежментийг хөгжүүлэгч рүү шилжүүлдэг C, C++ зэрэг програмчлалын хэлийг ашиглахаас татгалзаж, хэлийг илүүд үзэхийг зөвлөжээ. C#, Go, Java, Ruby, Rust, Swift зэрэг нь санах ойн автомат удирдлагаар хангадаг эсвэл хөрвүүлэх үед санах ойн аюулгүй байдлын шалгалт хийдэг.

Stroustrup-ийн хэлснээр, NSA-ийн тайланд дурдсан аюулгүй хэлүүд нь түүний үзэл бодлоос чухал програмуудад C++-ээс давуу биш юм. Ялангуяа сүүлийн жилүүдэд боловсруулсан C++ үндсэн заавар нь аюулгүй програмчлалын аргуудыг хамарч, төрөл, нөөцтэй аюулгүй ажиллах баталгааг хангах хэрэгслүүдийн хэрэглээг зааж өгсөн. Гэсэн хэдий ч ийм хүчтэй аюулгүй байдлын баталгаа шаарддаггүй хөгжүүлэгчид хуучин хөгжүүлэлтийн аргуудыг үргэлжлүүлэн ашиглах эрхтэй.

С++ үндсэн удирдамжид нийцсэн сайн статик анализатор нь шинэ аюулгүй програмчлалын хэл рүү шилжихээс хамаагүй бага зардлаар C++ кодын шаардлагатай аюулгүй байдлын баталгааг өгч чадна гэж Stroustrup үзэж байна. Жишээлбэл, үндсэн удирдамжийн ихэнх нь Microsoft Visual Studio-ийн статик анализатор болон санах ойд аюулгүй профайлд аль хэдийн хэрэгжсэн. Зарим зөвлөмжийг Clang tidy статик анализаторт мөн харгалзан үзсэн болно.

NSA-ийн тайлангийн гол анхаарал нь санах ойн асуудал байсан бөгөөд аюулгүй байдал, найдвартай байдалд нөлөөлдөг програмчлалын хэлний бусад олон асуудлыг орхигдуулсан. Stroustrup нь аюулгүй байдлыг илүү өргөн хүрээтэй ойлголт гэж үздэг бөгөөд түүний олон талыг кодчилол, номын сан, статик анализаторын хослолоор олж авч болно. Төрөл, нөөцтэй ажиллах аюулгүй байдлыг хангах дүрмийг оруулахад хяналт тавихын тулд код болон хөрвүүлэгчийн сонголтуудад тэмдэглэгээг ашиглахыг санал болгож байна.

Гүйцэтгэл нь аюулгүй байдлаас илүү чухал байдаг программуудад энэ арга нь аюулгүй байдлыг хангах хэрэгслийг зөвхөн шаардлагатай үед нь сонгох боломжийг олгодог. Аюулгүй байдлыг сайжруулах хэрэгслүүдийг мөн хэсэгчлэн ашиглаж болно, тухайлбал эхлээд хүрээг шалгах, эхлүүлэх дүрмийг хязгаарлаж, дараа нь кодыг илүү хатуу шаардлагад аажмаар тохируулах.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх