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
Logo języka
Logo języka
Pojawienie się 2010
Paradygmat wieloparadygmatowy (obiektowy, imperatywny, funkcyjny, strukturalny, współbieżny)
Aktualna wersja stabilna 1.26.2 (5 czerwca 2018; 16 dni temu)[1]
Twórca Graydon Hoare
Licencja Apache 2.0, MIT[2]
Platforma sprzętowa wieloplatformowy
Platforma systemowa wieloplatformowy
Strona internetowa

Rustkompilowalny język programowania ogólnego przeznaczenia rozwijany obecnie przez Fundację Mozilla. 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 Fundacji Mozilla[3]. W 2010 Mozilla upubliczniła informację o języku[4]. 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[5]. 15 maja 2015 ukazała się wersja 1.0[6].

Rust wykorzystuje Cargo jako menadżer pakietów.

Wiele organizacji wykorzystuje ten język programowania w zastosowaniach produkcyjnych[7]. Obecnie dwoma największymi otwartymi projektami korzystającymi z Rusta są: Servo (silnik przeglądarki internetowej) oraz kompilator Rusta[8].

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. The Rust Core Team: Announcing Rust 1.26.2 (ang.). The Rust Programming Language Blog, 2018-06-05. [dostęp 2018-06-07].
  2. Copyright (ang.). GitHub. [dostęp 2018-05-31].
  3. Michał Olber: Rust 0.1 – nowy język programowania od Fundacji Mozilla (pol.). OSWorld.pl, 2012-01-27. [dostęp 2017-02-05].
  4. Chris Double: A Quick Look at the Rust Programming Language (ang.). Bluish Coder, 2011-03-31. [dostęp 2017-02-05].
  5. Brian Anderson: The Rust compiler 0.1 is unleashed (ang.). Mozilla Mailing Lists, 2012-01-20. [dostęp 2017-02-05].
  6. The Rust Core Team: Announcing Rust 1.0 (ang.). The Rust Programming Language Blog, 2015-05-15. [dostęp 2017-02-05].
  7. Friends of Rust (ang.). The Rust Programming Language. [dostęp 2018-01-13].
  8. Frequently Asked Questions – What examples are there of large Rust projects? (ang.). The Rust Programming Language. [dostęp 2018-01-13].

Linki zewnętrzne[edytuj | edytuj kod]