Kodlama

Rust Nasıl Öğrenilir? Kurulum, İlk Program ve Sahiplik Kavramı

Rust'ı kurmak, cargo ile ilk projeyi çalıştırmak ve en çok korkulan konu olan sahipliği (ownership) sade örneklerle anlamak için başlangıç rehberi.

Rust Nasıl Öğrenilir? Kurulum, İlk Program ve Sahiplik Kavramı
Rust Nasıl Öğrenilir? Kurulum, İlk Program ve Sahiplik Kavramı

Rust, hız ve bellek güvenliğini birlikte veren bir sistem programlama dilidir. Tarayıcılarda, işletim sistemi bileşenlerinde, komut satırı araçlarında ve bulut altyapısında giderek daha fazla kullanılıyor.

Öğrenmesi Python'dan zordur; çünkü derleyici sıkı kurallar koyar. Karşılığında çalışan programlarda çökme ve bellek hatası çok daha azdır. Bu rehber ilk gün yapmanız gerekenleri ve en kritik kavramı anlatıyor.

Adım adım rehber
  • 7 adım
  • 3 dk okuma
Bu rehberde
  1. Rust'ı kurun
  2. İlk projeyi oluşturun
  3. Değişkenler varsayılan olarak değişmezdir
  4. Sahiplik (ownership) kuralını anlayın
  5. Ödünç alma: kopyalamadan paylaşın
  6. Hata yönetimi: Result ve Option
  7. Nereden devam edilir?
  1. Rust'ı kurun

    Resmi kurulum aracı rustup'tır. macOS ve Linux'ta:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

    Windows'ta rustup.rs adresinden rustup-init.exe dosyasını indirin; Visual Studio Build Tools kurulumunu da isteyebilir. Kurulum sonrası terminali yeniden açıp şunu çalıştırın:

    rustc --version
    cargo --version

    cargo Rust'ın proje, paket ve derleme aracıdır; günlük işin çoğunu onunla yaparsınız.

  2. İlk projeyi oluşturun

    cargo new merhaba
    cd merhaba
    cargo run

    src/main.rs dosyasında şunu görürsünüz:

    fn main() {
        println!("Merhaba, dünya!");
    }

    println! sonundaki ünlem, bunun bir makro olduğunu gösterir. Şimdilik normal bir yazdırma komutu gibi düşünebilirsiniz.

  3. Değişkenler varsayılan olarak değişmezdir

    fn main() {
        let x = 5;
        // x = 6;            // hata: x değişmez
        let mut y = 5;        // mut: değiştirilebilir
        y = 6;
        println!("{x} {y}");
    }

    Bu tasarım kasıtlıdır: değişmeyen veri hatayı azaltır. Değiştirmek istediğinizi mut ile açıkça belirtirsiniz.

  4. Sahiplik (ownership) kuralını anlayın

    Rust'ı Rust yapan kural üç cümledir:

    • Her değerin bir sahibi vardır.
    • Aynı anda yalnızca bir sahip olabilir.
    • Sahip kapsamdan çıkınca değer silinir.
    fn main() {
        let a = String::from("merhaba");
        let b = a;            // sahiplik b'ye taşındı
        // println!("{a}");   // hata: a artık geçersiz
        println!("{b}");
    }

    Çöp toplayıcı olmadan bellek güvenliği bu kuraldan gelir. Derleyici hatayı çalıştırmadan önce yakalar ve genellikle ne yapmanız gerektiğini yazar.

  5. Ödünç alma: kopyalamadan paylaşın

    fn uzunluk(s: &String) -> usize {
        s.len()
    }
    
    fn main() {
        let a = String::from("merhaba");
        let n = uzunluk(&a);   // & : ödünç ver, sahipliği verme
        println!("{a} {n}");   // a hâlâ geçerli
    }

    & ile bir değeri okuma amaçlı ödünç verirsiniz. Değiştirmek için &mut kullanılır; aynı anda ya birden çok okuyucu ya da tek bir yazıcı olabilir.

  6. Hata yönetimi: Result ve Option

    use std::fs;
    
    fn main() {
        match fs::read_to_string("notlar.txt") {
            Ok(metin) => println!("{} karakter", metin.len()),
            Err(e) => println!("Okunamadı: {e}"),
        }
    }

    Rust'ta istisna (exception) yoktur. Hata ihtimali olan işlem Result döner ve onu ele almak zorundasınız. Bu, programların beklenmedik yerde çökmesini engeller.

  7. Nereden devam edilir?

    • The Rust Book (doc.rust-lang.org/book): resmi ve ücretsiz kitap, en iyi başlangıç kaynağı.
    • Rustlings: derleyici hatalarını düzelterek ilerlediğiniz küçük alıştırmalar.
    • İlk gerçek proje: komut satırında dosya arayan basit bir araç (grep benzeri).

    Derleyici hatalarını okumaktan korkmayın; Rust'ın hata mesajları sektörün en açıklayıcıları arasındadır.

Sık Sorulanlar

Rust öğrenmeye değer mi?

Sistem araçları, performans gereken servisler, WebAssembly ve gömülü yazılımla ilgileniyorsanız evet. Web sitesi ya da veri analizi için Python ve TypeScript daha hızlı sonuç verir.

Rust, Go'dan zor mu?

Evet. Go daha hızlı öğrenilir; Rust ise bellek üzerinde daha fazla kontrol ve performans sunar.

İlk dilim Rust olabilir mi?

Olabilir ama zordur. Programlamaya yeni başlıyorsanız önce Python ile temel mantığı oturtmak motivasyonu korur.

Rust için iyi bir editör hangisi?

VS Code ile rust-analyzer eklentisi ücretsizdir ve yeterlidir.

Sıradaki rehberler

Yorumlar (0)

Bu içeriğe henüz yorum yapılmamış.

E-posta adresiniz yayımlanmaz, yalnızca moderasyon için saklanır. Ayrıntı için gizlilik politikasını. Giriş yaparsanız yorumunuz adınıza kaydolur.

Yorumlar yayınlanmadan önce moderasyondan geçer.