Rust (bahasa pemrograman)
Rust adalah sebuah bahasa pemrograman sistem[12] yang pengembangannya didukung oleh penelitian dari Mozilla.[13] Bahasa ini dirancang agar menjadi pemrograman yang "aman, konkuren (bekerja bersamaan) dan praktis".[14] Bahasa ini mendukung paradigma pemrograman fungsional dan prosedural-imperatif. Sintaksis bahasa Rust serupa dengan bahasa C++ namun dirancang dengan keamanan memori yang lebih baik sembari tetap menjaga performa kerja.
Rust | |
---|---|
Paradigma | Bahasa pemrograman berparadigma jamak, Terkompilasi, Konkuren, Fungsional, Imperatif, Terstruktur, dan Generik |
Dirancang oleh | Graydon Hoare |
Pengembang | Rust Project Developers |
Rilis perdana | 2010 |
Rilis stabil | 1.58.1[1]
/ 20 Januari 2022 |
Tipe sistem | Statis, Kuat, Terinferensi, Nominal, dan Linear. |
Implementasi dari | Rust |
Platform | Lintas platform[2][note 1] |
Sistem operasi | Linux, macOS, Windows, FreeBSD, Android, iOS (sebagian)[3] |
Lisensi | Lisensi Apache 2.0 dan MIT[4] |
Ekstensi nama berkas | .rs , .rlib |
Situs web | www |
Repositori | www |
Terpengaruh oleh | |
Alef,[5] C#,[5] C++,[5] Cyclone,[5][6] Erlang,[5] Haskell,[5] Hermes,[5] Limbo,[5] Newsqueak,[5] NIL,[5] OCaml,[5] Ruby,[5] Scheme,[5] Standard ML,[5] Swift[5][7] | |
Mempengaruhi | |
Sunting kotak info • L • B |
Bahasa Rust ini tergolong pada peranti lunak sumber terbuka. Desainnya merupakan perbaikan bedasarkan pengalaman-pengalaman yang dialami ketika mengembangkan Servo, sebuah perangkat layout untuk peramban web dan kompilator Rust.[15]
Kebanyakan commit kode program yang masuk pada proyek Rust saat ini berasal dari kontribusi anggota komunitas.[16] Bahasa Rust mendapatkan posisi pertama dengan predikat sebagai "Bahasa pemrograman paling disukai" pada survei pengembang di Stack Oveflow tahun 2016 dan 2017.[17][18]
Contoh kode
Hello World
Berikut ini adalah contoh baris kode sederhana untuk menampilkan Hello World
fn main() {
println!("Hello World");
}
Fungsi Faktorial
Rekursif
fn factorial(i: u64) -> u64 {
match i {
0 => 1,
n => n * factorial(n-1)
}
}
Iteratif
fn factorial(i: u64) -> u64 {
let mut acc = 1;
for num in 2..=i {
acc *= num;
}
acc
}
Lihat pula
- Redox (sistem operasi), Sistem Operasi menggunakan bahasa Rust,
- Rocket (web framework), kerangka kerja pembangun aplikasi web menggunakan bahasa Rust.
- Quantum (Mozilla), proyek yang dikembangkan oleh Mozilla untuk menggantikan Gecko sebagai mesin utama peramban Firefox.
Catatan
Rujukan
- ^ "Announcing Rust 1.58.1". blog.rust-lang.org. 2022-01-20. Diakses tanggal 2022-02-01.
- ^ a b Kesalahan pengutipan: Tag
<ref>
tidak sah; tidak ditemukan teks untuk ref bernamaCrossPlatform
- ^ "Rust on iOS". GitHub. 2015-01-09. Diarsipkan dari versi asli tanggal 2014-07-23. Diakses tanggal 2017-06-22.
- ^ "Copyright". Rust compiler source repository. Diakses tanggal 2015-11-09.
- ^ a b c d e f g h i j k l m n o "The Rust Reference: Appendix: Influences". Diakses tanggal July 14, 2017.
Rust is not a particularly original language, with design elements coming from a wide range of sources. Some of these are listed below (including elements that have since been removed): SML, OCaml [...] C++ [...] ML Kit, Cyclone [...] Haskell [...] Newsqueak, Alef, Limbo [...] Erlang [...] Swift [...] Scheme [...] C# [...] Ruby [...] NIL, Hermes
- ^ "Note Research: Type System". 2015-02-01. Diakses tanggal 2015-03-25.
Papers that have had more or less influence on Rust, or which one might want to consult for inspiration or to understand Rust's background. [...] Region based memory management in Cyclone [...] Safe memory management in Cyclone
- ^ "RFC for 'if let' expression". Diakses tanggal December 4, 2014.
- ^ "Uniqueness Types". Idris 1.3.3 documentation. Diakses tanggal 2022-07-14.
They are inspired by ... ownership types and borrowed pointers in the Rust programming language.
- ^ Kesalahan pengutipan: Tag
<ref>
tidak sah; tidak ditemukan teks untuk ref bernamaJaloyan
- ^ Kesalahan pengutipan: Tag
<ref>
tidak sah; tidak ditemukan teks untuk ref bernamaLattner
- ^ Kesalahan pengutipan: Tag
<ref>
tidak sah; tidak ditemukan teks untuk ref bernamaProject Verona
- ^ "Rust is a systems programming language". Rust-lang.org. Diakses tanggal 2017-07-17.
- ^ Noel (2010-07-08). "The Rust Language". Lambda the Ultimate. Diakses tanggal 2010-10-30.
- ^ "FAQ - The Rust Project". Rust-lang.org. Diarsipkan dari versi asli tanggal 2016-02-23. Diakses tanggal 2 March 2016.
- ^ Peter Bright (2013-04-03). "Samsung teams up with Mozilla to build browser engine for multicore machines". Arstechnica.com. Diakses tanggal 2013-04-04.
- ^ "Contributors to rust-lang/rust · GitHub". Github.com. Diakses tanggal 2016-11-03.
- ^ "Stack Overflow Developer Survey 2016 Results". Stack Overflow. Diakses tanggal 2017-03-22.
- ^ "Stack Overflow Developer Survey 2017". Stack Overflow. Diakses tanggal 2017-03-22.
Pranala luar
- Situs web resmi
- Dokumentasi Rust
- Rust by Example – Contoh program kecil di Rust
- Blog Rust
- Belajar Rust
- Forum Rust
- Portal komunitas Rust
- Milis Rust-dev
- Komunitas Rust di Reddit
- Komunitas Rust di Discord
- Repositori Rust di GitHub
- Repositori rust-rosetta di GitHub – Implementasi dari algoritme-algoritme umum dan penyelesaiannya
- Rust diperbandingkan dengan bahasa-bahasa pemrograman lain – Perbandingan interaktif