Rust programlama dili, açık kaynaklı, bellek güvenliği öncelikli, çoklu paradigmalı, nesne tabanlı bir sistem programlama dilidir. Mozilla tarafından geliştirilmekte olan, Graydon Hoare’nin kişisel projesi olarak geliştirilmeye başlanan Rust programlama dili, doğumundan neredeyse 10 yıl sonra ilk kez bu yıl Haziran ayında TIOBE popülerlik sıralamasında ilk 20’ye girmeyi başarmış.
Tiobe CEO’su Paul Jansen, Rust’ın yükselişinin ‘doğru yapılmış’ bir sistem programlama dili olmasından kaynaklandığını söylemiş. Geçtiğimiz yıl bu listede 38. sırada olan Rust yükselerek 20. sıraya geldi. Rust’ın rakibi olarak gösterilen Go programlama dili ise bu yılki listede 12. sırada yer alıyor.
TIOBE Programlama Topluluğu endeksi, programlama dillerinin popülerliğinin bir göstergesidir. Endeks, en çok kullanılan dile göre değil Google, Bing, Yahoo !, Wikipedia gibi popüler arama motorlarının verilerine dayanarak belirlenir. Yani sonuçlar en iyi programlama dilini veya en çok kullanılan programlama dilini göstermez, hakkında en çok araştırma yapılanı gösterir. Bu da bu listedeki dillerin ilgi çektiğini söylemek için bir sebep olarak gösterilebilir.
Rust, aynı zamanda 2016’dan beri Stack Overflow‘un anketlerinde “en sevilen programlama dili” ödülüne layık görülüyor. Bu yıl geliştiricilerin %86’sı Rust’ı kullanmaya istekli olduklarını fakat sadece %5’i programlama için kullandığını söylemiş.
Rust’ın temel amacı sistem korunurluğunu ve sürdürülebilirliğini sağlamaktır. Söz dizimi olarak C++ diline benzeyen Rust programlama dili, yüksek performans ile güvenli bellek yönetimi gerçekleştirir. Ayrıca Rust vaktinden önce derlenmiş bir dildir, yani bir programı derleyebilir ve yürütebilir, Rust yüklü olmasa bile çalıştırabilirsiniz.
Rust’ın 5 yıldır en sevilen programlama dili seçildiğini söyledikten sonra merak edenler için Rust’ın kurulumuna ve bir programlama dilinin en temel bilinen konularına değinelim:
İçindekiler
Rust Kurulumu
Linux veya MacOS kullanıyorsanız, terminale aşağıdaki komutu girin.
$ curl https://sh.restup.rs -sSf | sh
Komutu girdiğinizde bir komut dosyası indirilir ve rustup Rust’ın en son sürümünü yükleyen aracın kurulumunu başlatır. Yükleme başarılı olursa aşağıdaki satır görünür:
Rust is installed now. Great!
Bir sonraki oturum açışınızdan sonra sistem PATH’inize otomatik olarak Rust’ı ekler. Terminalinizi yeniden başlatmak yerine Rust’ı direk kullanmaya başlamak isterseniz sistem PATH’inize Rust’ı manuel olarak eklemelisiniz.
Windows kullanıyorsanız https://www.rust-lang.org/tools/install adresine giderek Rust kurulumunu yapabilirsiniz.
Hello, world!
Rust kurulumunu yaptıktan sonra bir klasik olan ‘Hello, world!’ örneğine bakalım.
println!("Hello, world!");
Çıktısı:
Hello, world!
Veri Tipleri
Rust traits adı verilen, Haskell’e benzer bir şekilde çalışan bir mekanizmadan oluşur ve interface/abstract class gibi çalışır. Değişken tanımlamalarına tip vererek polimorfizmin oluşmasını sağlar. Rust’da let komutu ile tanımlanan değişkenler, değer atamadan oluşturulabilir ve daha sonra değer atanabilir. Örneğin;
let x; x=11;
println!(" x değeri : ", x);
x=12;
println!(" x'in yeni değeri : ", x);
Bu kod ‘ cannot assign twice to immutable variable x ‘ diye bir hata çıktısı verir. Yani sabit olarak belirttiğiniz bir x değişkenine ikinci bir değer atamaya çalıştığınızı ve bunun yanlış olduğunu söyler. Değişkenler varsayılan olarak sabit/değişmez (immutable) kabul edildikleri için birden fazla atama yapılmak istendiğinde mut kelimesi kullanılmalıdır.
Doğrusu aşağıdaki şekilde olacaktır.
let mut x = 11;
println!(" x değeri : ", x);
x=12;
println!(" x'in yeni değeri : ", x);
Çıktısı:
x değeri : 11
x'in yeni değeri : 12
Rust Geliştirme Araçları
Rust programlama dili ile uygulama geliştirme süreçlerini kolaylaştıran bazı araçlar vardır. Bunlardan bazılar:
- Cargo: Cargo, Rust’ın yapı sistemi ve paket yöneticisidir. Çoğu Rust kullanıcısı, Rust projelerini yönetmek için bu aracı kullanır. Kodunuzun bağlı olduğu kütüphaneleri indirmek, paketlerinizi derlemek gibi özellikleri sunar.
- crates.io: Bütün Rust paketlerinin bulunduğu bir kayıt sistemi.
- Rust Language Server(RLS) : Rust’ın Visual Studio Code gibi birçok IDE ile entegre çalışabilmesi için RLS kullanılır. Kod tamamlama, syntax kontrolü gibi özellikleri sunar.
- rustup: Rust sistem programlama dili için bir yükleyicidir, yüklemeleri yönetir. Kurulumda istediğiniz sürümü seçebilirsiniz.
- rustfmt: Rust kodunu biçimlendirmek için kullanılan bir araç.
Rust İle Geliştirilen Bazı Projeler
Rust, daha çok gömülü sistemler ve performansın önemli olduğu kodlama alanlarını etkiliyor.
- Redox, Rust programlama dili ile geliştirilen bir işletim sistemi projesidir.
- Tifflin, Rust programlama dili ile bir işletim sistemi çekirdeği yazma denemesi.
- deno da Rust ile gliştirilmiştir. JavaScript ve TypeScript için güvenli bir runtime sunar.
Ayrıca, Amazon Web Services, Lambda, EC2 ve S3’teki performansa duyarlı bileşenler için Rust kullanıyor.