Rust (język programowania)

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania
Ten artykuł dotyczy języka programowania. Zobacz też: inne znaczenia słowa „Rust”.
Rust
Ilustracja
Logo języka
Pojawienie się 2010
Paradygmat wieloparadygmatowy (obiektowy, imperatywny, funkcyjny, strukturalny, współbieżny)
Aktualna wersja stabilna 1.31.0
(6 grudnia 2018) [±]
Twórca Graydon Hoare
Licencja Apache 2.0, MIT[1]
Platforma sprzętowa wieloplatformowy
Platforma systemowa wieloplatformowy
Strona internetowa

Rustkompilowalny język programowania ogólnego przeznaczenia rozwijany obecnie przez Mozilla Foundation. Stworzony z myślą, aby był „bezpieczny, współbieżny i praktyczny”.

Język zaprojektował Graydon Hoare w 2006 roku, w 2009 projekt został przyjęty pod skrzydła Mozilla Foundation[2]. W 2010 Mozilla upubliczniła informację o języku[3]. W 2011 roku kompilator języka, znany jako rustc, został z powodzeniem skompilowany przez samego siebie.

Pierwsza numerowana wersja alfa została wydana w 2012 roku[4]. 15 maja 2015 ukazała się wersja 1.0[5].

Rust wykorzystuje Cargo jako menadżer pakietów.

Wiele organizacji wykorzystuje ten język programowania w zastosowaniach produkcyjnych[6]. Obecnie dwoma największymi otwartymi projektami korzystającymi z języka Rust są: Servo oraz kompilator Rusta[7].

Przykłady[edytuj | edytuj kod]

Hello world:

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

Fizz buzz:

fn main() {
    let max = 101;
    for i in 1..max {
        if i % 15 == 0 {
            println!("{}", "FizzBuzz")
        } else if i % 5 == 0 {
            println!("{}", "Buzz")
        } else if i % 3 == 0 {
            println!("{}", "Fizz")
        } else {
            println!("{}", i)
        }
    }
}

ROT13:

fn rot13(string: String) -> String {
    let mut bytes: Vec<u8> = string.into();
    for byte in &mut bytes {
        match *byte {
            b'a'...b'm' | b'A'...b'M' => *byte += 13,
            b'n'...b'z' | b'N'...b'Z' => *byte -= 13,
            _ => {}, //nic nie rób
        }
    }
    String::from_utf8(bytes).unwrap()
}

fn main() {
    let a = rot13("abc".to_owned());
    assert_eq!(a, "nop");
}

Przypisy[edytuj | edytuj kod]

  1. Copyright (ang.). GitHub. [dostęp 2018-05-31].
  2. Michał Olber: Rust 0.1 – nowy język programowania od Fundacji Mozilla (pol.). OSWorld.pl, 2012-01-27. [dostęp 2018-12-08].
  3. Chris Double: A Quick Look at the Rust Programming Language (ang.). Bluish Coder, 2011-03-31. [dostęp 2017-02-05].
  4. Brian Anderson: The Rust compiler 0.1 is unleashed (ang.). Mozilla Mailing Lists, 2012-01-20. [dostęp 2017-02-05].
  5. Rust Team: Announcing Rust 1.0 (ang.). The Rust Programming Language Blog, 2015-05-15. [dostęp 2017-02-05].
  6. Users (ang.). The Rust Programming Language. [dostęp 2018-12-08].
  7. Frequently Asked Questions – What examples are there of large Rust projects? (ang.). The Rust Programming Language. [dostęp 2018-12-08]. [zarchiwizowane z tego adresu (2018-11-19)].

Linki zewnętrzne[edytuj | edytuj kod]