factograf
EU
Sign in

programazio-lengoaia

Rust (programazio-lengoaia)

Rust (programazio-lengoaia)

Key facts

sorrera data2006
argitaratze-data2010(e)ko uztailaren 7(a)
honako hau daprogramazio-lengoaia
All data from the card 16
Sorrera-urtea
2006
Argitaratze-data
2010
Azken bertsioa
1.99.1
Honen izena darama
Herdoil
Aurkitzailea edo asmatzailea
Graydon Hoare
Euskarria
Microsoft Windows, Linux, MacOS X, FreeBSD, iOS, Android, plataforma-anitz, WebAssembly eta Redox
Programazio paradigma
Programazio funtzional, programazio konkurrente, generic programming (en) , Programazio inperatibo, objektuetara bideratutako programazioa eta procedural programming (en)
Sistema eragilea
plataforma-anitz
Egile-eskubideak
copyrightduna
Lizentzia
Apache Lizentzia 2.0. eta MIT lizentzia
Honen eragina jaso du
Alef, C++, C Sharp, Cyclone, Erlang, Haskell, Limbo (en) , Newsqueak, OCaml (en) , Ruby, Scheme, Standard ML (en) eta Swift
Diseinatzailea
Graydon Hoare
Garatzailea
Mozilla, Graydon Hoare eta Rust Foundation
Maskota
Ferrisa
Jasotako sariak
Programming Languages Software Award (en)
Iturburu-kodea
https://github.com/rust-lang/rust

Rust programazio-lengoaia konpilatu bat da, xede orokorrekoa eta paradigma anitzekoa, eta Rust Fundazioaren eskutik garatzen ari dena. Programazio-lengoaia multiparadigmatikoa izanik, programazio funtzional purua onartzen du, baita inperatiboa eta objektuetara bideratua ere.

Mozillaren politikari jarraituz, Rust modu irekian garatzen da eta komunitatearen iritziak eta ekarpenak sustatzen ditu. Lengoaiaren diseinua hobetuz joan da Servo nabigatzailearen motorra garatu ahala, baita Rust-en konpiladorearen garapenean metatutako esperientzian oinarrituta. Mozillak eta Samsung-ek garatu eta babesten badute ere, proiektu komunitarioa da. Kontribuzio gehienak komunitateko kideenak dira.

Helburua C eta C++-ren ezaugarriekin baina segurtasun arazoak konpontzen dituen lengoaia bat sortzea izan zen. Horregatik, sistema eragileen garatzaileen interesa ere piztu du. Linuxeko kernelean laster integratuko dutela esan du Linus Torlvaldsek.

Deskribapena

Rust lengoaiaren helburua da Interneteko bezero zein zerbitzarietako programa handiak sortzeko lengoaia egokia izatea. Horri begira ezaugarri multzo bat definitu da, garrantzia berezia emanez segurtasunari, memoriaren banaketaren kontrolari eta konkurrentziari. Kode seguruaren errendimendua C++ lengoaiaren bidezkoarena baino motelagoa izan daiteke, baina C++ kodea egokituz gero Rust-ek hartzen dituen segurtasuneko neurriak har ditzan, Rust azkarrago ere izan dezake.

Rust-aren sintaxia Cren eta C++-en antzekoa da: giltzek mugatzen dituzte kode-blokeak, eta if, else, do, while eta for egiturak erabiltzen dira fluxu-kontrolerako. C eta C++-en egitura guztiak ez dira onartzen, eta beste batzuk, baldintza anitzeko adarkatzerako match gakoa esaterako, ez dira hain familiarrak izango lengoaia haietako programatzaileentzat.

Memoriarako atzipen segurua izateko diseinatuta dago, eta ez du onartzen erakusle nulurik edo erakusle esekirik. Datuen balioak balio-multzo finko baten bidez baino ezin dira hasieratu, eta beti hasieratuta egon behar dute.

Datu-moten aldetik "traits" izeneko klaseak onartzen ditu, Haskell lengoaian zuzenean oinarrituta. Poliformismo berezia onartzen du (ad-hoc polimorfismoa), non aldagaien erazagupenean murriztapenak erants daitezkeen. Haskellen beste ezaugarri batzuk, mota desberdineko polimorfismoa (higher-kinded) barne, ez dira onartzen.

Historia

Rust-en erabiltzaileek (k)rustazeo izena erabiltzen dute haien burua dfinitzeko, eta Ferris maskota ikur gisa.
Rust-en erabiltzaileek (k)rustazeo izena erabiltzen dute haien burua dfinitzeko, eta Ferris maskota ikur gisa.

Graydon Hoare Mozillako langileak 2006an hasitako proiektu pertsonal batetik sortu zen lengoaia. 2009an Mozilla hasi zen proiektua babesten eta 2010ean iragarri zuen. Rust-en konpiladorearen alfa aurreko lehen bertsio zenbakitua 2012ko urtarrilean sortu zen, eta Rust 1.0 egonkorra 2015eko maiatzaren 15ean. Ondoren, sei astean behin bertsio berriak agertzen dira.

Rust hirugarren lengoaia maitatuena izan zen Stack Overflow-en 2015eko urteko inkestan, eta lehena 2016-2020 tartean.

2020rako, programazio-lengoaia erabilienetako bat da kriptodiruaren arloan, bereziki meatze-lanetarako.

Sintaxia eta semantika

Kaixo mundua programa

Kaixo mundua da lengoaien sintaxia adierazteko erabili ohi den lehen adibidea.

fn main() {
    println!("Kaixo mundua!");
}

Kode-blokeak eta egiturak

fn main() {
    let mut values = vec![1, 2, 3, 4];

    for value in &values {
        println!("balioak = {}", value);
    }

    if values.len() > 5 {
        println!("Zerrendak bost osagai baino gehiago ditu");
    }

    // Pattern matching
    match values.len() {
        0 => println!("Hutsa"),
        1 => println!("Balio bat"),
        2..=10 => println!("Bi eta hamar balioen artean"),
        _ => println!("Balio asko"),
    };

    // while gakoa begiztarako eta let gakoa pattern matching-erako
    while let Some(value) = values.pop() {
        println!("value = {value}"); // giltzak erabiltzen dira aldagai lokalak formateatzeko    }
}

Read next

In 60 languages

Text from Wikipedia, CC BY-SA 4.0 · Source article