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]
Fakte të shpejta E projektuar nga, Doli më ...
RustLogoja zyrtare e Rust |
E projektuar nga | Graydon Hoare |
---|
Doli më | maj 15, 2015; 9 vite më parë (2015-05-15) |
---|
Emetimi i fundit | 1.81.0[1] / shtator 5, 2024; Error: first parameter cannot be parsed as a date or time. (shtator 5, 2024) |
---|
Tipi i disciplinës | Affine|
inferred|
nominal|
static|
strong| |
---|
Ndikuar nga | Stampa:Cslist |
---|
Ndikoi në | Stampa:Cslist |
---|
Implementation language | Rust |
---|
Platform | Cross-platform[note 1] |
---|
SO | Cross-platform[note 2] |
---|
Licenca | MIT dhe Apache 2.0[note 3] |
---|
Filename extension(s) | .rs , .rlib |
---|
Website | rust-lang.org |
---|
Mbylle
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 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 . 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 . Deklaratat në Rust ndahen me pikëpresje.
fn main() {
println!("Hello, World!");
}
Ndryshoret
Ndryshoret në Rust përcaktohen përmes fjalës kyçe let . 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. Shembulli i mëposhtëm përdor //
, që tregon fillimin e një komenti .
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. 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();
}
"Rust". TIOBE.com. Arkivuar nga origjinali më 3 mars 2022. Marrë më 2022-05-15.
Including build tools, host tools, and standard library support for x86-64, ARM, MIPS, RISC-V, WebAssembly, i686, AArch64, PowerPC, and s390x.[2]
Including Windows, Linux, macOS, FreeBSD, NetBSD, and Illumos. Host build tools on Android, iOS, Haiku, Redox, and Fuchsia are not officially shipped; these operating systems are supported as targets.[2]
Third-party dependencies, e.g., LLVM or MSVC, are subject to their own licenses.[3][4]