Rust

Rust, ciddi güvenlik açıklarının çoğunun arkasındaki bellek hatalarını içeriyorsa programınızı derlemeyi baştan reddeden bir programlama dilidir.

Şu adla da bilinir Rust dili Rust lang sistem programlama dili

Tanım

Rust, çökme hakkı olmayan yazılımlar için bir programlama dilidir. Bu yüzden onu işletim sistemlerinin, tarayıcı motorlarının ve her şeyin altında yıllarca kimse dokunmadan çalışan küçük parçaların içinde bulursunuz. Hızlıdır ve başka dillerden gelenleri şaşırtacak kadar katıdır; asıl fikir de bu katılıktır.

Nedenini anlamak için bilgisayarın nasıl çalıştığına dair tek bir fikir yeter: program bir bellek parçası ister, kullanır, sonra geri verir. Sorun, geri verdiği parçayı kullanmayı sürdürdüğünde ya da kendisine ayrılan alanın dışına yazdığında başlar. Bu tür yazılımlarda bulunmuş ciddi güvenlik açıklarının çoğunun arkasında bu iki küçük hata vardır ve bu bir tahmin değildir. Microsoft ve Google kendi kodlarındaki hataları saydı ve birbirine yakın bir sayıya ulaştı: on hatanın yaklaşık yedisi.

Rust'ın verdiği cevap sıra dışıdır, çünkü hatayı program çalışırken yakalamaz; programı hiç derlemez. Derleyici her bellek parçasının sahibini ve ne kadar yaşadığını izler, bu yüzden kodunuz artık var olmayan bir şeye dokunabiliyorsa derleme bir hata mesajıyla durur. Diğer güvenli diller bunu başka türlü çözer; programın yanında çalışan ve onu ara sıra kısa süre durduran bir temizleyici kullanırlar. Rust'ta böyle bir temizleyici yoktur, bu yüzden duraklamaya izin verilmeyen işler için yeterince hızlı kalır ve bu birleşim onu güvenliğin kritik olduğu projelerde öne çıkarır.

Şimdi kimsenin söylemediği kısım: Rust yazmak daha yavaştır ve ilk bir iki ay derleyiciyle tartışmaya benzer. Dili iyi bilenler daha az ve daha pahalıdır, bu yüzden bir rezervasyon sitesi ya da dükkân sistemi için bu takas kötüdür. Sıradan bir web uygulaması dili işi daha erken ve daha ucuza bitirir. Rust parasını dar bir alanda hak eder: kolay güncellenemeyen bir cihaz, yabancıların gönderdiği dosyaları açan bir parça ya da sürekli saldırı altındaki bir servis.

Yine de sıradan ürünlere uzanan bir kullanım var: zor bir iş mantığı Rust ile bir kez yazılıp hem Android hem iPhone uygulamasının içine konabilir. Böylece kurallar iki yerde değil tek yerde durur. Linkysoft bunu yalnızca mantık gerçekten zorsa önerir, çünkü her ek dil ekibin sürdürmesi gereken yeni bir beceridir. Bir tedarikçi size Rust önerirse, bu parça bozulduğunda tam olarak neyin kırılacağını sorun; iyi bir cevap somut bir şey söyler. Cevap belirsiz kalırsa Linkysoft parayı sade bir mobil uygulamaya ve düzgün bir güvenlik incelemesine harcamayı tercih eder.

Rust hakkında sorular

Rust öğrenmesi zor mu?
Başlangıçta çoğu dilden zor. Derleyici, başka dillerin kabul ettiği kodu reddeder; kuralların rahatsız edici olmaktan çıkması birkaç hafta sürer.
İşletme sistemim Rust ile mi yazılmalı?
Genellikle hayır. Rezervasyon, dükkân ya da klinik sistemi yaygın bir web diliyle daha hızlı ve ucuza çıkar; Rust'ın avantajı orada görünmez.
Rust yazılımımı güvenli yapar mı?
Bir hata ailesini, bellek hatalarını ortadan kaldırır. Zayıf bir parola, yanlış bir yetki ya da açık bırakılmış bir veritabanı için hiçbir şey yapmaz; ihlallerin çoğu oradan başlar.
Rust elimizdeki kodla birlikte çalışır mı?
Evet. Genellikle mevcut programın yanına parça parça eklenir; böylece riskli kısım her şeyi yeniden yazmadan korunur.
Rust geliştiricileri pahalı mı?
Ücretleri daha yüksek ve sayıları azdır. Her tedarikçiye bu kodu üç yıl sonra kimin bakacağını sorun; bu cevap yapım fiyatından daha önemlidir.

Bunun projenize nasıl uyduğundan hâlâ emin değil misiniz?

Ne inşa ettiğinizi bize anlatın, size sade bir dille yanıt verelim.