Aller au contenu

Rust (Tutlayt Usihel)

Si Wikipedia, tasanayt tilellit.
Rust
tutlayt n usihel, langage de programmation fonctionnel (fr) Suqel, langage de programmation multi-paradigme (fr) Suqel, langage impératif (fr) Suqel, langage de programmation système (fr) Suqel, aseɣẓan ilelli n uɣbalu yeldin d langage compilé (fr) Suqel
Isefka
Azemz n ubeddi d unulfu2006 d 23 Yulyu 2006
Yettusemma ɣefPucciniales (fr) Suqel
Développé par (fr) SuqelMozilla (mul) Suqel, Graydon Hoare (mul) Suqel d fondation Rust (fr) Suqel
Azemz n usuffeɣ7 Yulyu 2010 d 16 Yunyu 2010
Distinction reçue (fr) SuqelProgramming Languages Software Award (en) Suqel
Mascotte (fr) SuqelFerris (mul) Suqel
Amesnirem neɣ amesnulfuGraydon Hoare (mul) Suqel
Objectif du projet ou de la mission (fr) Suqelmemory safety (en) Suqel, performances (fr) Suqel d fearless concurrency (en) Suqel
Conçu par (fr) SuqelGraydon Hoare (mul) Suqel
Anagraw n wammudmultiplateforme (fr) Suqel
Akufi n tengalt taɣbaluthttps://github.com/rust-lang/rust
Identifiant de version logicielle (fr) Suqel1.99.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10, 0.11.0, 0.12.0, 1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.5.0, 1.6.0, 1.7.0, 1.8.0, 1.9.0, 1.10.0, 1.11.0, 1.12.0, 1.12.1, 1.13.0, 1.14.0, 1.15.0, 1.15.1, 1.16.0, 1.17.0, 1.18.0, 1.19.0, 1.20.0, 1.21.0, 1.22.0, 1.22.1, 1.23.0, 1.24.0, 1.24.1, 1.25.0, 1.26.0, 1.26.1, 1.26.2, 1.27.0, 1.27.1, 1.27.2, 1.28.0, 1.29.0, 1.29.1, 1.29.2, 1.30.0, 1.30.1, 1.31.0, 1.31.1, 1.32.0, 1.33.0, 1.34.0, 1.34.1, 1.34.2, 1.35.0, 1.36.0, 1.37.0, 1.38.0, 1.39.0, 1.40.0, 1.41.0, 1.41.1, 1.42.0, 1.43.0, 1.43.1, 1.44.0, 1.44.1, 1.45.0, 1.45.1, 1.45.2, 1.46.0, 1.47.0, 1.48.0, 1.49.0, 1.50.0, 1.51.0, 1.52.0, 1.52.1, 1.53.0, 1.54.0, 1.55.0, 1.56.0, 1.56.1, 1.57.0, 1.58.0, 1.58.1, 1.59.0, 1.60.0, 1.61.0, 1.62.0, 1.62.1, 1.63.0, 1.64.0, 1.65.0, 1.66.0, 1.66.1, 1.67.0, 1.67.1, 1.68.0, 1.68.1, 1.68.2, 1.69.0, 1.70.0, 1.71.0, 1.71.1, 1.72.0, 1.72.1, 1.73.0, 1.74.0, 1.74.1, 1.75.0, 1.76.0, 1.77.0, 1.77.1, 1.77.2, 1.78.0, 1.79.0, 1.80.0, 1.80.1, 1.81.0, 1.82.0, 1.83.0, 1.84.0, 1.84.1, 1.85.0, 1.85.1, 1.86.0, 1.87.0, 1.88.0, 1.89.0, 1.90.0, 1.91.0, 1.91.1, 1.92.0, 1.93.0, 1.94.0, 1.94.1, 1.95, 1.96, 1.96.1, 1.97.0, 1.97.1, 1.98.0 d 1.98.1
Asmel web unṣibrust-lang.org
Ablug unṣibhttps://blog.rust-lang.org/
Forum officiel (fr) Suqelhttps://users.rust-lang.org/ d https://rust-lang.zulipchat.com/
Hashtag (mul) Suqelrustlang
Licence (fr) Suqellicence Apache 2.0 (fr) Suqel d licence MIT (fr) Suqel
Addad n yizerfan n umeskarsous droit d'auteur (fr) Suqel
Illal-ittRustacean (en) Suqel
Yettwasemres srustc (fr) Suqel
Système de typage (fr) Suqelinférence de types (fr) Suqel, système nominatif de types (fr) Suqel, typage statique (fr) Suqel, typage fort (fr) Suqel d linear typing (en) Suqel
PyPI trove classifier (en) SuqelProgramming Language :: Rust
Adresse officielle de démonstration (fr) Suqelhttps://play.rust-lang.org/
URL n tummant n Mastodonhttps://social.rust-lang.org
Extension de fichier (fr) Suqelrs d rlib
Alugu n Rust.

Rust d tameslayt n usihel taɣarant, tettwasnulfad i uselkim d yinagrawen n wammud. Tettwassen s temellit, taɣellist n tkatut , d uselkem amsadaɣ d timzizzelt. Rust ur tesseqdac ara amsizdeg n tkatut (garbage collector), maca tseqdac anagraw n "warḍal" (borrow checker) i usenqed n tkatut deg wakud n usefsu, i wakken ad teḍmen ur ttilint ara tuccḍiwin deg usefrek n tkatut.

Tutlayt-a yesnulfa-tt-id Graydon Hoare deg Mozilla deg useggas n 2006, maca teffeɣ-d i medden deg 2010. Lqem amezwaru urkid 1.0 yeffeɣ-d deg 2015. Tura, tettwasefrek sɣur "Rust Foundation". Rust d aseɣẓan n uɣbalu yeldin, u aṭas n yimessihelin i yettmahalen fell-as deg umaḍal.

Asenfar n Rust yebda deg useggas n 2006 sɣur Graydon Hoare, i yellan d amessihel deg Mozilla. Yebɣa ad yesnulfu tameslayt ara yesɛun tamellit n C++ maca war tuccḍiwin n tkatut i d-yettilin s waṭas deg tmeslayin-nni. Mozilla teɛqel azal n usenfar-a deg 2009, yerna tefka-yas afus.

Deg 2010, teffeɣ-d talɣa tamezwarut i medden. Deg 2015, yeffeɣ-d lqem 1.0 i yellan d lqem urkid, i d-yeḍmen dakken tangalt ur tettbeddil ara s waṭas gar yieqman. Deg 2021, Mozilla, AWS, Google, Microsoft, d Huawei snulfan "Rust Foundation" i wakken ad ṭṭfen taɣellist d tneflit n tmeslayt-a war ma qqimen ɣer afus n yiwen neɣ n yiwet taṛmist kan.

⚙️ Tulmisin tigejdanin

[ẓreg | ẓreg aɣbalu]

1. Taɣellist n tkatut

[ẓreg | ẓreg aɣbalu]

Deg tmeslayin am C neɣ C++, amessihel yesɛa tamasit ɣef usefrek n tkatut (aḥeṛṛi d uslelli n tkatut). Ma tella tuccḍa, anagraw yezmer ad yeɣli neɣ ad yekcem deg wuguren n tɣellist.

Rust ur yesseqdac ara Amsizdeg n tkatut (Garbage Collector) am Java neɣ Python, i wakken ur yettḥaz ara tamellit . Deg wadeg n waya, Rust yseqdac Amsenqad n urḍal (Borrow Checker) deg wakud n usefsu. Amsenqad-a yettsenqad ilugan n "amli" (ownership) d "arḍal" (borrowing), ur yettaǧǧa ara tangalt ad tɛeddi ma yella kra n wugur n tkatut.

2. Tamellit

[ẓreg | ẓreg aɣbalu]

Rust tettwasnulfad i wakken ad temcabi ɣer C d C++ deg temellit. Teseqdac isegdan n "Zero-cost abstractions" (tamadwant war tasqamit), anda tamadwant i d-yettwanan deg usihel ur terna ara cciɛa neɣ taẓayt deg uselkem n wahil.

3. Amyezwer d Uselkem Amsadaɣ

[ẓreg | ẓreg aɣbalu]

Aselkem amsadaɣ yeshel s waṭas deg Rust. Anagraw n "Ownership" yettḥaz daɣen amyezwer (concurrence), i wakken ur ttilint ara "Data races" (amyezwer ɣef yisefka gar yikalen ifessasen / threads). Ma yella sin yikalen ifessasen bɣan ad rran ɣer yiwen umutti deg yiwen wakud, Asefsay ad yagi tangalt-nni.

🧩 Taseddast d Yinawen n Usihel

[ẓreg | ẓreg aɣbalu]

Rust d tameslayt taget-inaw (multi-paradigme), tseqdac aṭas n yinawen:

Asihel Amesɣan (Programmation Fonctionnelle): Rust tseqdac tasɣent n usnirem, map, filter, d tewsit n Option akked Result i usefrek n tuccḍiwin war ma tseqdac try/catch.

Asihel Anaḍ (Programmation Impérative): Teseqdac tineddicin am for, while, d loop.

Asihel yerran ɣer tɣawsa (Orienté Objet): Rust ur tesɛi ara "Tiserkam" am Java, maca tseqdac Structs (timṣukin) d Traits i wakken ad tessewseɛ tawuri.

Amedya n tengalt

[ẓreg | ẓreg aɣbalu]
// Ahil amezwaru deg Rust
fn main() {
    // Asbadu n umutti (Variable)
    let isem: &str = "Aqbayli";
    
    // Asiggez n wawal (Impression)
    println!("Azul fell-ak, a {}!", isem);

    // Asefrek n tebdarin akked tfelwiyin (Gestion des listes/tableaux)
    let imḍanen = vec![1, 2, 3, 4, 5];
    let timernit: i32 = imḍanen.iter().sum();
    
    println!("Timernit n yimḍanen: {}", timernit);
}

🛠️ Tawennaṭ d Yifecka

[ẓreg | ẓreg aɣbalu]

Tawennaṭ n Rust tettwassen s yifecka-s igerrzen i d-yusan yid-s:

Cargo: D afecku n usefrek n yikemmusen (package manager) d afecku n usali (build tool). S Cargo, amessihel yezmer ad d-yessali, ad isenqed, yerna ad yaf isefka (tiglin/iḍaraɛen) s tɣawla.

Rustc: D asefsay n Rust, i yettarun tangalt ɣer tutlayt n tmacint.

Crates.io: D timkarḍiyin neɣ d amkan anda i ttwaznen yikemmusen n Rust, am npm deg JavaScript neɣ pip deg Python.

Rust Analyzer: D afecku i tallelt n usihel (IDE support) i yettmuddun tallelt i yimessihilen deg VSCode d yifecka nniḍen.

🌍 Tajṛut n useqdec

[ẓreg | ẓreg aɣbalu]

Rust tettwaseqdec deg waṭas n yiḥricen n tsenselkimt tatrart:

Inagrawen n Wammud:

[ẓreg | ẓreg aɣbalu]

Linux Kernel: Linus Torvalds yeqbel Rust d tameslayt tis snat deg uɣbalu n yiɣes Linux (deffir C).

Redox: D anagraw n wammud i yuran s Rust seg tazwara.

Ifecka n Izirig n Tladna: Aṭas n yifecka am ripgrep (grep atrar), bat (cat atrar), d alacritty (terminal) yuran s Rust.

Isnasen n Web: S useqdec n yifecka am Actix neɣ Axum, d uselkem ɣer WebAssembly (Wasm) i wakken isnasen ad leḥḥun deg yiminigen s temellit tameqqrant.

Imuturen n Uraren: Am Bevy, i yellan d afecku n usnulfu n wuraren am Unreal Engine neɣ Unity, maca s Rust.

Tadrimt tawgelhent d uzrar n yiḥedran: Aṭas n tɣeṛɣaṛ n crypto am Solana yuran s Rust i temellit-ines.

Amezruy d Umhaz n Rust d Wazal-is deg Tsenselkimt

[ẓreg | ẓreg aɣbalu]

Rust d tameslayt n usihel taɣarant i d-yellan deg useggas n 2006, yesnulfa-tt Graydon Hoare mi yella yettmahal deg Mozilla. Tameslayt-a tettwassen s temellit-is tameqqrant, taɣellist n tkatut, d uselkem amsadaɣ. Seg wasmi i d-teffeɣ ar ass-a, Rust tezmert ad tbeddel amezruy n tsenselkimt, yerna tuɣal d yiwen seg yifecka igejdanen deg usnulfu n yiseɣẓanen itraren.

1. Tazwara: Asnulfu d Tmuɣli Tamezwarut (2006–2010)

[ẓreg | ẓreg aɣbalu]

Deg useggas n 2006, Graydon Hoare, amessihel deg Mozilla, yebda yettmahal ɣef yiwet n tmeslayt n usihel tamaynut. Iswi-ines amezwaru yella d asnulfu n tmeslayt ara yesɛun tamellit n C++ maca war tuccḍiwin n tkatut i d-yettilin s waṭas deg tmeslayin-nni n zik.

Deg tallit-nni, tasenselkimt tella tetteddu s tmeslayin am C d C++ deg inagrawen n wammud d yiseɣẓanen imeqqranen. Maca tuccḍiwin n tkatut (am useqdec n tkatut yemmuten, neɣ tuṭṭfa ɣa n tkatut ur nettwaf ara) llant d ugur ameqqran i d-yessawḍen ar uɣelluy n yinagrawen d tɣellist.

Mozilla teɛqel azal n usenfar-a deg 2009, tefka-yas afus d tedrimt. Deg 2010, teffeɣ-d talɣa tamezwarut i medden, yerna deg useggas-nni kan, Rust tebda tettwassen gar yimessihelen.

2. Tallit n Usnulfu d Ubeddel (2010–2015)

[ẓreg | ẓreg aɣbalu]

Gar 2010 d 2015, Rust tella deg tallit n ubeddel d usnerni. Aṭas n tɣawsiwin i yettwabedlen deg tmeslayt:

Anagraw n warḍal (Ownership): Yettwasnulfu-d amenzay n "amli" d "urḍal" (borrowing), i yettḥazen taɣellist n tkatut deg wakud n usefsu, war ma yesseqdac amsizdeg n tkatut (garbage collector).

Amsenqad n warḍal (Borrow Checker): D afecku i yettsenqaden yal tangalt send ad tettwasfeḍ, ur yettaǧǧa ara tuccḍiwin n tkatut ad ɛeddint.

Taseddast tamaynut: Taseddast n Rust tettwabeddel aṭas, tebda tettemcabi ɣer C++ maca tesɛa tilmusin timaynutin.

Cargo: Yettwasnulfu-d Cargo, afecku n usefrek n yikemmusen d usali n yiseɣẓanen, i yerran asihel s Rust fessus yerna yettwaḍfar.

Deg 2015, yeffeɣ-d lqem 1.0 i yellan d lqem urkid. Aya yella d tazwara n tallit tamaynut: seg wass-nni, tangalt ur tettbeddil ara s waṭas gar yilqem, yerna imessihelen zmren ad bnun isnasen-nsen ɣef llsas urkid.

3. Tallit n Gemmu (2015–2020)

[ẓreg | ẓreg aɣbalu]

Seg 2015 ar 2020, Rust tebda tettimɣur s waṭas:

Tuddsa Rust: Deg 2021, Mozilla, AWS, Google, Microsoft, d Huawei snulfan-d "Rust Foundation".

Tawennaṭ n yifecka: Terna-d tawennaṭ n Rust s waṭas n yikemmusen (libraries) i yal aḥric: web, anagrawen n wammud, uraren, tussna n yisefka, d wayen nniḍen.

Ismersen imeqqranen: Tikebbaniyin timeqqranin am Mozilla (Firefox), Cloudflare, Dropbox, d Discord bdant sseqdacent Rust deg yiseɣẓanen-nsent.

Iɣes n Linux: Linus Torvalds yeqbel Rust d tameslayt tis snat deg uɣbalu n Linux, deffir C. Aya yella d azal ameqqran i Rust deg umaḍal n tsenselkimt.

4. Tallit Tatrart: Rust deg Yal Aḥric (2020–Ass-a)

[ẓreg | ẓreg aɣbalu]

Ass-a, Rust tella deg yal aḥric n tsenselkimt:

Anagrawen n Wammud

[ẓreg | ẓreg aɣbalu]

Rust tettwaseqdec deg usnulfu n yinagrawen n wammud am Redox, yerna deg uɣbalu n Linux. Taɣellist n tkatut i d-ttmuddu Rust tettɛawan deg usenqes n tuccḍiwin d tɣellist.

Asnas n Web

[ẓreg | ẓreg aɣbalu]

S yifecka am Actix, Axum, d WebAssembly, Rust tezmer ad tessewseɛ isnasen n web s temellit tameqqrant. Aṭas n yismal n web bdan sseqdacent Rust i uɣbalu-nsen.

Tigzi Taragmawant (AI)

[ẓreg | ẓreg aɣbalu]

Deg tallit n tigzi taragmawant, Rust tezmer ad tessewseɣ isnasen n ulmad n tmacint s temellit tameqqrant. Iḥricen am tokenizers n HuggingFace yuran s Rust.

Taɣellist Tasenselkamt

[ẓreg | ẓreg aɣbalu]

Imi Rust ur tesɛi ara tuccḍiwin n tkatut, tezmer ad ttaḥrez iseɣẓanen n tɣellist s wudem ufrir. Aṭas n yifecka n tɣellist bdan sseqdacent Rust.

Uraren d Udlif

[ẓreg | ẓreg aɣbalu]

Ifecka am Bevy d wiyiḍ bdan sseqdacent Rust deg usnulfu n wuraren n yisensa, imi tamellit-is tcuba ɣer C++ maca war tuccḍiwin-is.