Rust është një gjuhë programimi shumëparadigmëshe, e qëllimeve të përgjithshme që thekson performancën, sigurinë e tipit dhe njëkohshmërinë . Ai forcon sigurinë e kujtesës —duke siguruar që të gjitha referencat të tregojnë tek kujtesa të vlefshme—pa kërkuar përdorimin e një garbage collector-i ose numërimin e referencave, teknika këto të pranishme në gjuhë të tjera të sigurta për kujtesën. Për të fuqizuar njëkohësisht sigurinë e kujtesës dhe për të parandaluar garat e njëkohshme të të dhënave, "kontrolluesi i huazimit" gjurmon jetëgjatësinë e objektit të të gjitha referencave në një program gjatë kompilimit. Rust huazon ide nga programimi funksional, duke përfshirë tipet statike, pandryshueshmërinë, funksionet e rendeve të larta dhe llojet e të dhënave algjebrike . Është popullarizuar për programimin e sistemeve . [5] [6] [7]

Rust
Logoja zyrtare e Rust
E projektuar ngaGraydon Hoare
Doli mëmaj 15, 2015; 9 vite më parë (2015-05-15)
Emetimi i fundit1.82.0[1] Edit this on Wikidata / tetor 17, 2024; Error: first parameter cannot be parsed as a date or time. (tetor 17, 2024)
Tipi i disciplinësAffine|
 inferred|
 nominal|
 static|
strong|
Ndikuar ngaStampa:Cslist
Ndikoi nëStampa:Cslist
Implementation languageRust
PlatformCross-platform[note 1]
SOCross-platform[note 2]
LicencaMIT dhe Apache 2.0[note 3]
Filename extension(s).rs, .rlib
Websiterust-lang.org

Zhvilluesi i softuerit Graydon Hoare e krijoi Rust si një projekt personal ndërsa punonte në Mozilla Research në 2006. Mozilla e sponsorizoi zyrtarisht projektin në vitin 2009. Që nga publikimi i parë i qëndrueshëm në maj 2015, Rust është përqafuar nga kompani të tilla si Amazon, Discord, Dropbox, Facebook ( Meta ), Google ( Alfabet ) dhe Microsoft . Në dhjetor 2022, ajo u bë gjuha e parë përveç C dhe assembly që u mbështet në zhvillimin e kernelit Linux .

Rust është shquar për rritjen e tij si një gjuhë më e re [8] [9] dhe ka qenë objekt i kërkimit akademik të gjuhëve të programimit . [10] [11] [12]

Sintaksa dhe veçoritë

Redakto

Sintaksa e Rust është e ngjashme me atë të C dhe C++, [13] [14] edhe pse shumë nga veçoritë e tij u ndikuan nga gjuhë programimi funksionale si OCaml . [15] Hoare e përshkroi Rust si "të synuar për 'zhvilluesit e frustruar të C++' " dhe theksoi veçori të tilla si siguria, kontrolli i paraqitjes së kujtesës dhe njëkohësisë . [16] Siguria në Rust përfshin garancitë e sigurisë së kujtesës, sigurinë e tipit dhe mungesën e garave të të dhënave.

Më poshtë është një program "Përshëndetje, Botë!" në Rust. Fjala kyçe fn tregon një funksion, dhe println! makro (shih Rust (gjuhë programimi) § Macros ) printon mesazhin në daljen standarde . [15] Deklaratat në Rust ndahen me pikëpresje.

fn main() {
    println!("Hello, World!");
}

Ndryshoret

Redakto

Ndryshoret në Rust përcaktohen përmes fjalës kyçe let . [17] Shembulli i mëposhtëm i cakton një vlerë variablit me emrin foo .

fn main() {
    let foo = 10;
    println!("The value of foo is {foo}");
}

Variablat janë të pandryshueshme vetvetiu, dhe shtimi i fjalës kyçe mut lejon që ndryshorja të ndryshohet. [17] Shembulli i mëposhtëm përdor //, që tregon fillimin e një komenti . [17]

fn main() {
    let mut foo = 10; // Ky kod nuk do të përpilohej pa shtuar "mut".
    println!("Vlera e foor është {foo}");
    foo = 20;
    println!("Vlera e foo është {foo}");
}

Shprehjet e shumëfishta let mund të përcaktojnë ndryshore të shumta me të njëjtin emër, të njohura si hijezim i ndryshoreve . Hijëzimi i ndryshoreve lejon transformimin e variablave pa pasur nevojë që ato të emërtohen ndryshe. [17] Shembulli i mëposhtëm deklaron një ndryshore të re me të njëjtin emër që është dyfishi i vlerës origjinale:

fn main() {
    let foo = 10;
    println!("Vlera e foo është {foo}");
    let foo = foo * 2;
    println!("Vlera e foo është  {foo}");
}

Hijëzimi i ndryshoreve është gjithashtu e mundur për vlera të llojeve të ndryshme, duke shkuar nga një stringë në gjatësinë e saj:

fn main() {
    let spaces = "   ";
    let spaces = spaces.len();
}
  1. ^ "Announcing Rust 1.82.0" (në anglisht). 17 tetor 2024. Marrë më 17 tetor 2024.
  2. ^ a b "Platform Support". The rustc book. Marrë më 2022-06-27. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  3. ^ "The Rust Programming Language". The Rust Programming Language. 19 tetor 2022. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  4. ^ Eshwarla, Prabhu (2020-12-24). Practical System Programming for Rust Developers: Build fast and secure software for Linux/Unix systems with the help of practical examples (në anglisht). Packt Publishing Ltd. ISBN 978-1-80056-201-1.
  5. ^ Blandy, Jim; Orendorff, Jason (2017-11-21). Programming Rust: Fast, Safe Systems Development (në anglisht). "O'Reilly Media, Inc.". ISBN 978-1-4919-2725-0.
  6. ^ Blanco-Cuaresma, Sergi; Bolmont, Emeline (2017-05-30). "What can the programming language Rust do for astrophysics?". Proceedings of the International Astronomical Union (në anglisht). 12 (S325): 341–344. arXiv:1702.02951. Bibcode:2017IAUS..325..341B. doi:10.1017/S1743921316013168. ISSN 1743-9213.
  7. ^ Perkel, Jeffrey M. (2020-12-01). "Why scientists are turning to Rust". Nature (në anglisht). 588 (7836): 185–186. Bibcode:2020Natur.588..185P. doi:10.1038/d41586-020-03382-2. PMID 33262490. Arkivuar nga origjinali më 6 maj 2022. Marrë më 15 maj 2022.
  8. ^ "Rust". TIOBE.com. Arkivuar nga origjinali më 3 mars 2022. Marrë më 2022-05-15. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  9. ^ "Computer Scientist proves safety claims of the programming language Rust". EurekAlert! (në anglisht). Arkivuar nga origjinali më 24 shkurt 2022. Marrë më 2022-05-15.
  10. ^ Jung, Ralf; Jourdan, Jacques-Henri; Krebbers, Robbert; Dreyer, Derek (2017-12-27). "RustBelt: securing the foundations of the Rust programming language". Proceedings of the ACM on Programming Languages. 2 (POPL): 66:1–66:34. doi:10.1145/3158154. Arkivuar nga origjinali më 11 qershor 2022. Marrë më 15 maj 2022. {{cite journal}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  11. ^ Jung, Ralf (2020). Understanding and evolving the Rust programming language (Tezë) (në anglisht). Saarland University. doi:10.22028/D291-31946.
  12. ^ Proven, Liam (2019-11-27). "Rebecca Rumbul named new CEO of The Rust Foundation". The Register (në anglisht). Marrë më 2022-07-14. Both are curly bracket languages, with C-like syntax that makes them unintimidating for C programmers.
  13. ^ Vigliarolo, Brandon (2021-02-10). "The Rust programming language now has its own independent foundation". TechRepublic (në anglishte amerikane). Arkivuar nga origjinali më 2023-03-20. Marrë më 2022-07-14.
  14. ^ a b Klabnik & Nichols 2019.
  15. ^ Avram, Abel (2012-08-03). "Interview on Rust, a Systems Programming Language Developed by Mozilla". InfoQ. Arkivuar nga origjinali më 2013-07-24. Marrë më 2013-08-17. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  16. ^ a b c d Klabnik & Nichols 2023.


Gabim referencash: Etiketat <ref> ekzistojnë për një grup të quajtur "note", por nuk u gjet etiketa korresponduese <references group="note"/>