Pencipta C++ mengkritik pengenaan bahasa pengaturcaraan yang selamat

Bjarne Stroustrup, pencipta bahasa C++, telah menerbitkan bantahan terhadap kesimpulan laporan NSA, yang mengesyorkan agar organisasi beralih daripada bahasa pengaturcaraan seperti C dan C++, yang menyerahkan pengurusan memori kepada pembangun, memihak kepada bahasa. seperti C#, Go, Java, Ruby, Rust dan Swift, yang menyediakan pengurusan memori automatik atau melakukan pemeriksaan keselamatan memori masa kompilasi.

Menurut Stroustrup, bahasa selamat yang disebut dalam laporan NSA sebenarnya tidak lebih baik daripada C++ dalam aplikasi yang penting dari sudut pandangannya. Khususnya, cadangan asas untuk menggunakan C++ (Garis Panduan Teras C++), yang dibangunkan dalam beberapa tahun kebelakangan ini, meliputi kaedah pengaturcaraan yang selamat dan menetapkan penggunaan alat yang menjamin kerja selamat dengan jenis dan sumber. Ini memberikan pilihan kepada pembangun yang tidak memerlukan jaminan keselamatan yang ketat untuk terus menggunakan kaedah pembangunan lama.

Stroustrup percaya bahawa penganalisis statik yang baik yang mengikut Garis Panduan Teras C++ boleh memberikan jaminan yang diperlukan untuk keselamatan kod C++ pada kos yang jauh lebih rendah daripada berhijrah ke bahasa pengaturcaraan selamat yang baharu. Sebagai contoh, kebanyakan Garis Panduan Teras telah dilaksanakan dalam penganalisis statik dan profil keselamatan memori yang disertakan dalam Microsoft Visual Studio. Beberapa cadangan juga diambil kira dalam penganalisis statik kemas Clang.

Laporan NSA juga dikritik kerana hanya memfokuskan pada masalah ingatan, meninggalkan banyak masalah bahasa pengaturcaraan lain yang menjejaskan keselamatan dan kebolehpercayaan. Stroustrup melihat keselamatan sebagai konsep yang lebih luas, pelbagai aspek yang boleh dicapai dengan gabungan gaya pengekodan, perpustakaan dan penganalisis statik. Untuk mengawal kemasukan peraturan yang memastikan keselamatan bekerja dengan jenis dan sumber, adalah dicadangkan untuk menggunakan anotasi dalam kod dan pilihan pengkompil.

Dalam aplikasi yang prestasinya lebih penting daripada keselamatan, pendekatan ini membolehkan aplikasi terpilih bagi ciri-ciri yang menjamin keselamatan hanya apabila ia diperlukan. Alat keselamatan juga boleh digunakan secara sedikit demi sedikit, seperti bermula dengan peraturan semakan julat dan permulaan, dan kemudian secara beransur-ansur menyesuaikan kod kepada keperluan yang lebih ketat.

Sumber: opennet.ru

Tambah komen