Rust (język programowania)
Rust – kompilowany język programowania ogólnego przeznaczenia rozwijany przez Fundację Mozilla. Stworzony z myślą, aby był „bezpieczny, współbieżny i praktyczny”.
| ||
![]() Logo języka | ||
Pojawienie się | 2010 | |
Paradygmat | wieloparadygmatowy (obiektowy, imperatywny, funkcyjny, strukturalny, współbieżny) | |
Aktualna wersja stabilna | 1.50.0 (11 lutego 2021) [±] | |
Twórca | Graydon Hoare | |
Licencja | Apache 2.0, MIT[1] | |
Platforma sprzętowa | wieloplatformowy | |
Platforma systemowa | wieloplatformowy | |
Strona internetowa |
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ładyEdytuj
fn main() {
println!("Hello, world!");
}
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)
}
}
}
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");
}
PrzypisyEdytuj
- ↑ Copyright (ang.). GitHub. [dostęp 2018-05-31].
- ↑ Michał Olber: Rust 0.1 – nowy język programowania od Fundacji Mozilla (pol.). OSWorld.pl, 2012-01-27. [dostęp 2018-12-08].
- ↑ Chris Double: A Quick Look at the Rust Programming Language (ang.). Bluish Coder, 2011-03-31. [dostęp 2017-02-05].
- ↑ Brian Anderson: The Rust compiler 0.1 is unleashed (ang.). Mozilla Mailing Lists, 2012-01-20. [dostęp 2017-02-05].
- ↑ The Rust Core Team: Announcing Rust 1.0 (ang.). The Rust Programming Language Blog, 2015-05-15. [dostęp 2019-07-11].
- ↑ Users (ang.). The Rust Programming Language. [dostęp 2018-12-08].
- ↑ 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)].