Rust'ın Faydaları
Rust'ın bazı benzersiz yok satan noktaları:
-
Derleme zamanı bellek emniyeti - derleme zamanında tüm bellek hataları sınıfları önlenir
- İlklendirilmemiş değişken yok.
- Adresi iki kez serbest bırakma (double free) yok.
- Serbest bıraktıktan sonra kullanma (use after free) yok.
NULL
göstericileri yok.- Unutulan kilitli muteksler yok.
- İş parçacıkları (threads) arasında veri yarışları (data races) yok.
- Adımlayıcıyı (iterator) geçersiz kılma (invalidation) yok.
-
Tanımsız çalışma zamanı davranışı yok - Bir Rust deyiminin yaptığı şey hiçbir zaman belirtilmemiş (unspecified) olarak bırakılmaz
- Dizi erişiminde sınırlar kontrol edilir.
- Tamsayı taşması tanımlandı (panic veya wrap-around).
-
Modern dil özellikleri - üst seviye diller kadar etkileyici ve ergonomik
- Numaralandırmalar (Enums) ve desen eşleştirme.
- Jenerikler.
- FFI ek yükü yok.
- Sıfır maliyetli soyutlamalar.
- Mükemmel derleyici hata mesajları.
- Yerleşik bağımlılık yöneticisi.
- Test için yerleşik destek.
- Mükemmel Dil Sunucusu Protokolü (Language Server Protocol) desteği.
Burada fazla zaman geçirmeyin. Bu noktaların tümü ileride daha derinlemesine ele alınacaktır.
Sınıfa hangi dillerde deneyime sahip olduklarını mutlaka sorun. Cevabınıza bağlı olarak Rust'ın farklı özelliklerini vurgulayabilirsiniz:
-
C veya C++ deneyimi: Rust, ödünç alma denetleyicisi (borrow checker) aracılığıyla tüm çalışma zamanı hatalarını(runtime errors) ortadan kaldırır. C ve C++'daki gibi performans elde edersiniz bununla birlikte bellek emniyetsizliği sorunları yaşamazsınız. Ayrıca desen eşleştirme (pattern matching) ve yerleşik bağımlılık yönetimi (dependency management) gibi yapılara sahip modern bir dil elde edersiniz.
-
Java, Go, Python, JavaScript... ile deneyim: Bu dillerdekiyle aynı bellek emniyetine (safety) ve benzer bir yüksek seviyeli dil hissini elde edersiniz. Ayrıca C ve C++ gibi hızlı ve öngörülebilir performans (çöp toplayıcı yok) ve düşük seviyeli donanıma erişim (ihtiyaç duymanız halinde) elde edersiniz.