Udhëzues për fillestarët në Rust: Nga loja në programim, kuptoni shpejt ekosistemin Rust
Udhëzues për fillestarët në Rust: Nga loja në programim, kuptoni shpejt ekosistemin Rust\n\nRust po zhvillohet me shpejtësi, ai nuk është vetëm një gjuhë programimi, por edhe një ekosistem i gjallë. Nga lojërat e mbijetesës deri te programimi i sistemeve me performancë të lartë, Rust është kudo. Ky artikull do të fillojë me diskutimet në X/Twitter, duke ofruar një udhëzues të shpejtë për fillestarët në Rust, duke mbuluar skenarët e aplikimit të Rust, burimet e të mësuarit dhe disa mjete praktike.\n\n## I. Çfarë është Rust? Pse ia vlen të mësohet?\n\nRust është një gjuhë programimi sistemi, e fokusuar në siguri, shpejtësi dhe njëkohësi. Ai synon të zgjidhë problemet e zakonshme të sigurisë së memories në C dhe C++, duke ofruar njëkohësisht performancë të barabartë ose edhe më të lartë se këto gjuhë.\n\nAvantazhet e Rust:\n\n* Siguria e memories: Sistemi i pronësisë dhe kontrolluesi i huazimit të Rust mund të parandalojnë probleme të tilla si treguesit zero, garat e të dhënave etj. në kohën e kompilimit.\n* Performancë e lartë: Rust kompilohet në kod makinerie efikas dhe ka aftësi të fuqishme abstraksioni me kosto zero.\n* Siguria e njëkohshme: Sistemi i tipave të Rust mund të sigurojë sigurinë e kodit të njëkohshëm, duke shmangur garat e të dhënave.\n* Ndër-platformë: Rust mbështet sisteme dhe arkitektura të ndryshme operative, duke përfshirë Windows, Linux, macOS, WebAssembly etj.\n* Komunitet aktiv: Rust ka një komunitet të gjallë, duke ofruar biblioteka, mjete dhe mbështetje të pasur.\n\nSkenarët e aplikimit të Rust:\n\n* Sistemet operative dhe sistemet e integruara: Për shkak të performancës dhe sigurisë së tij të lartë, Rust është shumë i përshtatshëm për zhvillimin e kernelëve të sistemeve operative, drejtuesve dhe softuerit të pajisjeve të integruara.\n* WebAssembly (Wasm): Rust mund të kompilohet në Wasm, duke ekzekutuar kështu kod me performancë të lartë në shfletues.\n* Mjetet e linjës së komandës: Rust ofron korniza të fuqishme zhvillimi për mjetet e linjës së komandës, si p.sh. clap dhe structopt.\n* Programimi i rrjetit: Biblioteka tokio e Rust ofron një kohë ekzekutimi asinkrone, duke e bërë më të lehtë shkrimin e aplikacioneve të rrjetit me performancë të lartë.\n* Zhvillimi i lojërave: Megjithëse jo aq i përhapur sa C++, Rust po shfaqet në fushën e zhvillimit të lojërave, për shembull, loja e mbijetesës me burim të hapur Rust vetë është zhvilluar me motorin Unity dhe C#, por një pjesë e logjikës së serverit mund të përdoret Rust për të optimizuar performancën.\n\n## II. Nga loja Rust në gjuhën e programimit Rust\n\nDiskutimet në X/Twitter përmendën lojën e mbijetesës Rust, e cila ka lidhje të ngushta me gjuhën e programimit Rust. Megjithëse ato përdorin të njëjtin emër, ato janë gjëra të ndryshme. Loja Rust është një lojë mbijetese online me shumë lojtarë, ndërsa Rust është një gjuhë programimi e përdorur për të ndërtuar softuer të ndryshëm.\n\nLoja Rust:\n\n* Është një lojë mbijetese online me shumë lojtarë, ku lojtarët duhet të mbijetojnë në shkretëtirë, të ndërtojnë baza dhe të ndërveprojnë me lojtarë të tjerë.\n* Është zhvilluar me motorin Unity dhe C#.\n* Mund të blihet në Steam dhe shpesh ka promovime.\n\nGjuha e programimit Rust:\n\n* Përdoret për të zhvilluar softuer të ndryshëm, duke përfshirë sistemet operative, motorët e shfletuesve, serverët e rrjetit, lojërat etj.\n* Është me burim të hapur dhe ndër-platformë.\n* Ka një sistem të fuqishëm tipash dhe veçori të sigurisë së memories.\n\nNëse jeni një lojtar i lojës Rust dhe dëshironi të mësoni gjuhën e programimit Rust, atëherë mund të merrni parasysh hapat e mëposhtëm:\n\n1. Instaloni zinxhirin e mjeteve Rust: Shkarkoni dhe instaloni rustup nga , është mjeti i menaxhimit të versionit të Rust.
- Mësoni njohuritë bazë të Rust: Lexoni tutorialin zyrtar \Vendosja e një mjedisi zhvillimi Rust është shumë e thjeshtë, thjesht duhet të instaloni
rustup.rustupdo të instalojë automatikisht kompilatorin Rust, bibliotekën standarde dhe mjete të tjera të nevojshme.
Hapat:
- Shkarkoni
rustup: Vizitoni , shkarkoni programin e instalimitrustupqë korrespondon me sistemin tuaj operativ. - Ekzekutoni programin e instalimit: Ndiqni udhëzimet e programit të instalimit.
- Konfiguroni variablat e mjedisit:
rustupdo të konfigurojë automatikisht variablat e mjedisit, por mund t'i konfiguroni edhe manualisht. - Verifikoni instalimin: Hapni terminalin, ekzekutoni
rustc --versiondhecargo --version, nëse shfaqen saktë numrat e versionit, kjo tregon se instalimi ka qenë i suksesshëm.
Shembull kodi:
rustc --version # Shikoni versionin e kompilatorit Rust
cargo --version # Shikoni versionin e menaxherit të paketave Cargo
4. Hyrje e Shpejtë në Sintaksën Bazë të Rust
Më poshtë janë disa nga sintaksat bazë të Rust, të cilat mund t'ju ndihmojnë të filloni shpejt:
-
Deklarimi i variablave:
let x = 5; // Variabël e pandryshueshme let mut y = 10; // Variabël e ndryshueshme const PI: f64 = 3.1415926; // Konstante -
Tipi i të dhënave:
-
Numra të plotë:
i8,i16,i32,i64,i128,u8,u16,u32,u64,u128,isize,usize -
Numra me presje dhjetore:
f32,f64 -
Tip boolean:
bool(true,false) -
Tip karakter:
char(karakter Unicode) -
Varg:
String,&str -
Tuple:
(i32, f64, char) -
Array:
[i32; 5] -
Slice:
&[i32] -
Strukturë:
struct Point { x: i32, y: i32, } -
Enumerim:
enum Color { Red, Green, Blue, }
-
-
Funksionet:
fn add(x: i32, y: i32) -> i32 { x + y } -
Rrjedha e kontrollit:
-
Deklarata
if: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"); } -
Cikli
loop:loop { println!("This will loop forever"); break; // Dalja nga cikli } ```## I. Hyrje
-
Rust është një gjuhë programimi moderne e sistemeve që fokusohet në siguri, shpejtësi dhe bashkëkohësi. Është projektuar për të zgjidhur problemet e performancës dhe sigurisë që shpesh hasen në gjuhët e tjera si C dhe C++. Rust po fiton popullaritet në fusha të ndryshme, duke përfshirë zhvillimin e sistemeve, zhvillimin e uebit dhe zhvillimin e lojërave.
II. Instalimi dhe Konfigurimi
-
Shkarkoni Rust:
Vizitoni faqen zyrtare të Rust (https://www.rust-lang.org/) dhe shkarkoni instaluesin e duhur për sistemin tuaj operativ.
-
Instaloni Rust:
Ekzekutoni instaluesin e shkarkuar dhe ndiqni udhëzimet në ekran. Gjatë instalimit, do të instalohet
rustup, një mjet për menaxhimin e versioneve të Rust dhe komponentëve të tjerë. -
Konfiguroni Variablat e Mjedisit:
rustupautomatikisht do të shtojë Rust në variablat tuaja të mjedisit. Nëse nuk është kështu, duhet t'i shtoni manualisht. -
Verifikoni Instalimin:
Hapni një terminal dhe ekzekutoni komandën e mëposhtme për të verifikuar nëse Rust është instaluar me sukses:
rustc --versionNëse Rust është instaluar me sukses, do të shihni versionin e Rust-it të printuar në terminal.
III. Koncepte Themelore
-
Sintaksa Themelore:
-
Variablat:
let x = 5; // Variabël e pandryshueshme let mut y = 10; // Variabël e ndryshueshme y = 20;//
letpërdoret për të deklaruar variabla. //mutpërdoret për të treguar se një variabël është e ndryshueshme. -
Tipet e të Dhënave:
let a: i32 = 10; // Numër i plotë 32-bit let b: f64 = 3.14; // Numër me presje dhjetore 64-bit let c: bool = true; // Vlerë boolean let d: char = 'A'; // Karaktere let e: &str = "Hello"; // String// Rust është një gjuhë e tipizuar statikisht, por shpesh mund të nxjerrë tipin automatikisht.
-
Funksionet:
fn add(x: i32, y: i32) -> i32 { x + y } let result = add(5, 3); // Rezultati është 8//
fnpërdoret për të deklaruar funksione. //->përdoret për të treguar tipin e kthimit të funksionit. -
Kontrolli i Fluksit:
-
if/elsekushtet:let number = 5; if number > 0 { println!("Number is positive"); } else if number < 0 { println!("Number is negative"); } else { println!("Number is zero"); }//
if/elsepërdoret për të ekzekutuar blloqe kodi të ndryshme bazuar në kushte. -
forcikli:for i in 0..5 { println!("Value of i is: {}", i); }//
forpërdoret për të iteruar mbi një varg vlerash. -
whilecikli:let mut i = 0; while i < 5 { println!("Value of i is: {}", i); i += 1; }//
whilepërdoret për të ekzekutuar një bllok kodi përderisa një kusht është i vërtetë.
-
-
Komente:
// Ky është një koment një-rresht. /* Ky është një koment shumë-rresht. */// Komentet përdoren për të shpjeguar kodin.
-
-
Pronësia dhe Huazimi (Ownership and Borrowing):
Rust ka një sistem unik të pronësisë dhe huazimit që siguron sigurinë e memories pa nevojën për mbledhje plehrash (garbage collection).
- Pronësia: Çdo vlerë në Rust ka një pronar të vetëm. Kur pronari del jashtë fushës së veprimit, vlera hiqet.
- Huazimi: Ju mund të huazoni një referencë në një vlerë, por nuk mund të keni referenca të ndryshueshme dhe të pandryshueshme në të njëjtën kohë.
fn main() { let s1 = String::from("hello"); let s2 = &s1; // Huazimi i një reference të pandryshueshme println!("s1: {}, s2: {}", s1, s2); }// Ky kod tregon se si të huazosh një referencë të pandryshueshme në një string.
-
Strukturat dhe Enumerimet:
-
Strukturat (Structs):
struct Rectangle { width: u32, height: u32, } fn main() { let rect1 = Rectangle { width: 30, height: 50, }; println!("The area of the rectangle is {} square pixels!", area(&rect1)); } fn area(rectangle: &Rectangle) -> u32 { rectangle.width * rectangle.height }// Strukturat përdoren për të grupuar të dhëna të lidhura së bashku.
-
Enumerimet (Enums):
enum IpAddrKind { V4(String), V6(String), } fn main() { let home = IpAddrKind::V4(String::from("127.0.0.1")); let loopback = IpAddrKind::V6(String::from("::1")); }// Enumerimet përdoren për të përcaktuar një tip që mund të jetë një nga disa variante.
-
-
Trajtimi i Gabimeve:
Rust përdor
Resultdhepanic!për të trajtuar gabimet.-
Result:use std::fs::File; use std::io::ErrorKind; fn main() { let f = File::open("hello.txt"); let f = match f { Ok(file) => 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) } }, }; }//
Resultpërdoret për të trajtuar gabimet që mund të ndodhin gjatë ekzekutimit të kodit. -
panic!:fn main() { panic!("crash and burn"); }//
panic!përdoret për të ndërprerë ekzekutimin e programit kur ndodh një gabim i pakthyeshëm.
-
IV. Shembuj Praktikë
-
Leximi i një Skedari:
use std::fs::File; use std::io::prelude::*; fn main() { let mut file = File::open("hello.txt").expect("Unable to open file"); let mut contents = String::new(); file.read_to_string(&mut contents).expect("Unable to read file"); println!("Contents:\n{}", contents); }// Ky kod lexon përmbajtjen e një skedari dhe e printon atë në konsol.
-
Shkrimi në një Skedar:
use std::fs::File; use std::io::prelude::*; fn main() -> std::io::Result<()> { let mut file = File::create("output.txt")?; file.write_all(b"Hello, world!")?; Ok(()) }// Ky kod shkruan "Hello, world!" në një skedar të quajtur "output.txt".
-
Trajtimi i Gabimeve me
Result:use std::fs::File; use std::io::ErrorKind; fn main() { let f = File::open("hello.txt"); let f = match f { Ok(file) => 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. Mjete Praktike dhe Burime Mësimore
- Cargo: Menaxheri i paketave dhe mjeti i ndërtimit i Rust, i përdorur për të menaxhuar varësitë, ndërtuar projekte dhe ekzekutuar teste.
- Rust Analyzer: Një server i fuqishëm i gjuhës Rust, që ofron plotësim kodi, kontroll sintakse, refaktorizim etj. Rekomandohet të instaloni shtojcën përkatëse në VS Code.
- Clippy: Një mjet statik i analizës së kodit Rust, i cili mund të kontrollojë problemet e mundshme në kod dhe të ofrojë sugjerime për përmirësim.
- crates.io: Depo e paketave të Rust, e ngjashme me npm (JavaScript) ose PyPI (Python).
- Dokumentacioni Zyrtar: Përmban dokumentacionin e plotë të gjuhës Rust.
- Rust by Example: Ofron një numër të madh shembujsh kodi Rust.
- The Rust Programming Language (The Book): Tutoriali zyrtar i Rust, rekomandohet fuqimisht për lexim.
- Rustlings: Një mjet interaktiv i të mësuarit të Rust, duke mësuar Rust duke zgjidhur një sërë ushtrimesh.
- Kurse Online: Platformat si Udemy, Coursera etj. kanë shumë kurse online Rust.
VI. Drejtime të Mëtejshme të Mësimit
- Programimi Asinkron (async/await): Përdorni
tokiooseasync-stdpër të shkruar programe bashkëkohore me performancë të lartë. - WebAssembly (Wasm): Përpiloni kodin Rust në Wasm, duke e ekzekutuar atë në shfletues.
- Zhvillimi i Sistemeve të Integruara: Përdorni Rust për të zhvilluar softuer për sisteme të integruara.
- Zhvillimi i Blockchain: Përdorni Rust për të zhvilluar aplikacione blockchain, si p.sh. zhvillimi i kontratave inteligjente të Solana.





