Rust Vodič za početnike: Od igre do programiranja, brzo upoznavanje sa Rust ekosistemom

2/18/2026
9 min read

Rust Vodič za početnike: Od igre do programiranja, brzo upoznavanje sa Rust ekosistemom

Rust se brzo razvija, i nije samo programski jezik, već i dinamičan ekosistem. Od survival igara do visokoperformansnog sistemskog programiranja, Rust je prisutan svuda. Ovaj članak će, polazeći od diskusija na X/Twitteru, pružiti brzi vodič za početnike u Rustu, pokrivajući Rustove primjene, resurse za učenje i neke korisne alate.

I. Šta je Rust? Zašto ga vrijedi učiti?

Rust je sistemski programski jezik koji se fokusira na sigurnost, brzinu i konkurentnost. Cilj mu je riješiti probleme sigurnosti memorije koji su uobičajeni u C i C++, istovremeno pružajući performanse koje su ekvivalentne ili čak veće od tih jezika.

Prednosti Rusta:

  • Sigurnost memorije: Rustov sistem vlasništva i provjera posudbe sprječavaju probleme kao što su null pointeri i data race-ovi u vrijeme kompajliranja.
  • Visoke performanse: Rust se kompajlira u efikasan mašinski kod i ima moćnu sposobnost apstrakcije bez troškova (zero-cost abstraction).
  • Sigurnost konkurentnosti: Rustov tipski sistem osigurava sigurnost konkurentnog koda, izbjegavajući data race-ove.
  • Cross-platform: Rust podržava različite operativne sisteme i arhitekture, uključujući Windows, Linux, macOS, WebAssembly itd.
  • Aktivna zajednica: Rust ima živahnu zajednicu koja nudi bogatstvo biblioteka, alata i podrške.

Primjene Rusta:

  • Operativni sistemi i ugrađeni sistemi: Zbog svojih visokih performansi i sigurnosti, Rust je vrlo pogodan za razvoj kernela operativnih sistema, drajvera i softvera za ugrađene uređaje.
  • WebAssembly (Wasm): Rust se može kompajlirati u Wasm, omogućavajući pokretanje visokoperformansnog koda u pregledniku.
  • Alati komandne linije: Rust nudi moćne okvire za razvoj alata komandne linije, kao što su clap i structopt.
  • Mrežno programiranje: Rustova tokio biblioteka pruža asinhrono runtime okruženje, olakšavajući pisanje visokoperformansnih mrežnih aplikacija.
  • Razvoj igara: Iako nije popularan kao C++, Rust se probija u području razvoja igara, na primjer, open-source survival igra Rust je sama po sebi razvijena pomoću Unity engine-a i C#, ali se dio logike na strani servera može optimizirati pomoću Rusta.

II. Od igre Rust do Rust programskog jezika

Diskusije na X/Twitteru spominju survival igru Rust, koja je usko povezana s Rust programskim jezikom. Iako koriste isto ime, to su različite stvari. Rust igra je online survival igra za više igrača, dok je Rust programski jezik koji se koristi za izgradnju različitog softvera.

Igra Rust:

  • Je online survival igra za više igrača u kojoj igrači moraju preživjeti u divljini, graditi baze i komunicirati s drugim igračima.
  • Razvijena je pomoću Unity engine-a i C#.
  • Može se kupiti na Steamu i često ima promocije.

Rust programski jezik:

  • Koristi se za razvoj različitog softvera, uključujući operativne sisteme, engine-e preglednika, mrežne servere, igre itd.
  • Je open-source i cross-platform.
  • Ima moćan tipski sistem i karakteristike sigurnosti memorije.

Ako ste igrač igre Rust i želite naučiti Rust programski jezik, razmotrite sljedeće korake:

  1. Instalirajte Rust alatni lanac: Preuzmite i instalirajte rustup sa , to je alat za upravljanje verzijama Rusta.
  2. Naučite osnove Rusta: Pročitajte službeni vodič "The Rust Programming Language" (poznat kao "The Book") da biste razumjeli osnovnu sintaksu Rusta, sistem vlasništva, provjeru posudbe itd.
  3. Praktični projekti: Učvrstite svoje znanje pisanjem jednostavnih alata komandne linije, web servera ili igara.
  4. Uključite se u zajednicu: Pridružite se Rust zajednici, komunicirajte s drugim Rust programerima i učite iz njihovih iskustava.## III. Postavljanje Rust razvojnog okruženja

Postavljanje Rust razvojnog okruženja je vrlo jednostavno, samo trebate instalirati rustup. rustup će automatski instalirati Rust kompajler, standardnu biblioteku i ostale potrebne alate.

Koraci:

  1. Preuzmite rustup: Posjetite , i preuzmite odgovarajući rustup instalacijski program za vaš operativni sistem.
  2. Pokrenite instalacijski program: Slijedite upute instalacijskog programa.
  3. Konfigurirajte varijable okruženja: rustup će automatski konfigurirati varijable okruženja, ali ih možete konfigurirati i ručno.
  4. Provjerite instalaciju: Otvorite terminal i pokrenite rustc --version i cargo --version. Ako se ispravno prikaže broj verzije, instalacija je uspjela.

Primjer koda:

rustc --version  # Pogledajte verziju Rust kompajlera
cargo --version  # Pogledajte verziju Cargo upravitelja paketa

IV. Brzi uvod u osnovnu Rust sintaksu

Slijedi nekoliko osnova Rust sintakse koje vam mogu pomoći da brzo počnete:

  • Deklaracija varijabli:

    let x = 5;          // Nepromjenjiva varijabla
    let mut y = 10;     // Promjenjiva varijabla
    const PI: f64 = 3.1415926; // Konstanta
    
  • Tipovi podataka:

    • Cijeli brojevi: i8, i16, i32, i64, i128, u8, u16, u32, u64, u128, isize, usize

    • Brojevi s pomičnim zarezom: f32, f64

    • Boolean: bool (true, false)

    • Znakovni tip: char (Unicode znak)

    • String: String, &str

    • Tuple: (i32, f64, char)

    • Niz: [i32; 5]

    • Slice: &[i32]

    • Struktura:

      struct Point {
          x: i32,
          y: i32,
      }
      
    • Enum:

      enum Color {
          Red,
          Green,
          Blue,
      }
      
  • Funkcije:

    fn add(x: i32, y: i32) -> i32 {
        x + y
    }
    
  • Kontrola toka:

    • if izjava:

      if x > 5 {
          println!("x is greater than 5");
      } else if x == 5 {
          println!("x is equal to 5");
      } else {
          println!("x is less than 5");
      }
      
    • loop petlja:

      loop {
          println!("This will loop forever");
          break; // Izlaz iz petlje
      }
      ```## I. Uvod
      

Rust je moderni sistemski programski jezik koji se fokusira na sigurnost, brzinu i konkurentnost. Dizajniran je da omogući programerima da pišu pouzdan i efikasan kod. Rust je posebno pogodan za sistemsko programiranje, ugrađene sisteme, alate naredbenog retka i web aplikacije visokih performansi.

II. Osnovni koncepti

  • Vlasništvo (Ownership): Rustov jedinstveni sistem vlasništva osigurava sigurnost memorije bez potrebe za sakupljačem smeća (garbage collector). Svaka vrijednost u Rustu ima vlasnika, a kada vlasnik izađe iz dosega, memorija se automatski oslobađa.
  • Posudba (Borrowing): Posudba omogućava višestrukim dijelovima koda da čitaju podatke bez preuzimanja vlasništva. Postoje dvije vrste posudbe: nepromjenjiva (immutable) i promjenjiva (mutable). Rustov kompajler osigurava da se pravila posudbe poštuju kako bi se izbjegle utrke podataka (data races).
  • Životni vijek (Lifetimes): Životni vijek su anotacije koje opisuju koliko dugo referenca vrijedi. Rustov kompajler koristi životne vijekove kako bi osigurao da reference ne vise (dangling references).

III. Osnovna sintaksa

  • Varijable:

    let x = 5; // Nepromjenjiva varijabla
    let mut y = 10; // Promjenjiva varijabla
    y = 20;
    

    // let se koristi za deklariranje varijabli. mut ključna riječ označava da je varijabla promjenjiva.

  • Tipovi podataka:

    let a: i32 = 10; // 32-bitni cijeli broj
    let b: f64 = 3.14; // 64-bitni broj s pomičnim zarezom
    let c: bool = true; // Booleova vrijednost
    let d: char = 'a'; // Znak
    let e: &str = "hello"; // Niz znakova (string slice)
    let f: String = String::from("world"); // String
    

    // Rust je statički tipiziran jezik, ali često može zaključiti tipove podataka.

  • Funkcije:

    fn add(x: i32, y: i32) -> i32 {
        x + y
    }
    
    let result = add(5, 3); // result = 8
    

    // fn se koristi za definiranje funkcija. -> označava povratni tip funkcije.

  • Strukture (Structs):

    struct Point {
        x: i32,
        y: i32,
    }
    
    let p = Point { x: 1, y: 2 };
    println!("x = {}, y = {}", p.x, p.y);
    

    // struct se koristi za definiranje složenih tipova podataka.

  • Enumeracije (Enums):

    enum Color {
        Red,
        Green,
        Blue,
    }
    
    let color = Color::Red;
    match color {
        Color::Red => println!("red"),
        Color::Green => println!("green"),
        Color::Blue => println!("blue"),
    }
    

    // enum se koristi za definiranje tipova podataka koji mogu imati jednu od nekoliko mogućih vrijednosti.

  • Match:

    let number = 3;
    
    match number {
        1 => println!("One!"),
        2 => println!("Two!"),
        3 => println!("Three!"),
        _ => println!("Something else!"),
    }
    

    // match se koristi za podudaranje vrijednosti s različitim uzorcima.

  • Vektori (Vectors):

    let mut vec: Vec = Vec::new();
    vec.push(1);
    vec.push(2);
    vec.push(3);
    
    println!("{:?}", vec); // Ispisuje: [1, 2, 3]
    

    // Vec je dinamički niz koji može rasti ili se smanjivati.

IV. Kontrola toka

  • if / else uvjeti:

    let x = 5;
    if x > 0 {
        println!("positive");
    } else if x == 0 {
        println!("zero");
    } else {
        println!("negative");
    }
    

    // Standardna if / else struktura.

  • for petlja:

    for i in 0..5 {
        println!("{}", i); // Ispisuje 0, 1, 2, 3, 4
    }
    

    // for petlja se koristi za iteriranje kroz raspon ili kolekciju.

  • while petlja:

    let mut i = 0;
    while i  file,
            Err(error) => match error.kind() {
                ErrorKind::NotFound => match File::create("hello.txt") {
                    Ok(fc) => fc,
                    Err(e) => panic!("Problem creating the file: {:?}", e),
                },
                other_error => {
                    panic!("Problem opening the file: {:?}", other_error)
                }
            },
        };
    }
    

V. Korisni alati i resursi

  • Cargo: Rustov upravitelj paketima i alat za izgradnju, koji se koristi za upravljanje ovisnostima, izgradnju projekata i pokretanje testova.
  • Rust Analyzer: Snažan Rust jezični server koji pruža dovršavanje koda, provjeru sintakse, refaktoriranje i druge funkcije. Preporučuje se instaliranje odgovarajućeg dodatka u VS Code.
  • Clippy: Alat za statičku analizu Rust koda koji može provjeriti potencijalne probleme u kodu i pružiti prijedloge za poboljšanje.
  • crates.io: Rustovo spremište paketa, slično npm (JavaScript) ili PyPI (Python).
  • Službena dokumentacija: Sadrži kompletnu dokumentaciju za Rust jezik.
  • Rust by Example: Pruža veliki broj primjera Rust koda.
  • The Rust Programming Language (The Book): Službeni Rust vodič, toplo se preporučuje za čitanje.
  • Rustlings: Interaktivni alat za učenje Rusta, uči se Rust rješavanjem niza vježbi.
  • Online kursevi: Postoji mnogo online kurseva o Rustu na platformama kao što su Udemy, Coursera itd.

VI. Smjerovi za dublje učenje

  • Asinkrono programiranje (async/await): Korištenje tokio ili async-std za pisanje konkurentnih programa visokih performansi.
  • WebAssembly (Wasm): Kompilacija Rust koda u Wasm, pokretanje u pregledniku.
  • Ugrađeni razvoj: Korištenje Rusta za razvoj softvera za ugrađene sustave.
  • Razvoj blockchaina: Korištenje Rusta za razvoj blockchain aplikacija, kao što je razvoj pametnih ugovora za Solanu.

VII. ZaključakRust je programski jezik pun izazova, ali i izuzetno vrijedan. On nudi moćnu sigurnost i performanse, i ima aktivnu zajednicu. Nadam se da će vam ovaj uvod pomoći da brzo počnete s Rustom i započnete svoje Rust programsko putovanje. Počevši od igre Rust, istražite misterije programskog jezika Rust i otkrit ćete potpuno novi svijet.

Published in Technology

You Might Also Like