Rust (bahasa pemrograman)

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Loncat ke navigasi Loncat ke pencarian
Rust
Rust programming language black logo.svg
ParadigmaBahasa pemrograman berparadigma jamak, Terkompilasi, Konkuren, Fungsional, Imperatif, Terstruktur, dan Generik
Dirancang olehawalnya oleh Graydon Hoare, kemudian oleh para pengembang proyek Rust.
Pengembang perangkat lunakRust Project Developers
Rilis perdana2010; 9 tahun lalu (2010)
Rilis stabil
1.39.0[1] / 2019-11-07; 37 hari lalu (2019-11-07)
Sistem Tipepenulisan yang Statis, Kuat, Terinferensi, Nominal, dan Linear.
Implementasi dariRust
OSLinux, macOS, Windows, FreeBSD, Android, iOS (sebagian)[2]
LisensiApache License 2.0 atau lisensi MIT[3]
Ekstensi nama berkas.rs, .rlib
Websitewww.rust-lang.org
Terpengaruh oleh
Alef,[4] C#,[4] C++,[4] Cyclone,[4][5] Erlang,[4] Haskell,[4] Hermes,[4] Limbo,[4] Newsqueak,[4] NIL,[4] OCaml,[4] Ruby,[4] Scheme,[4] Standard ML,[4] Swift[4][6]
Mempengaruhi:
Crystal, Elm,[7] Idris[8]
www.rust-lang.org

Rust adalah sebuah bahasa pemrograman sistem[9] yang pengembangannya didukung oleh penelitian dari Mozilla.[10] Bahasa ini dirancang agar menjadi pemrograman yang "aman, konkuren (bekerja bersamaan) dan praktis".[11] 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.

Bahasa Rust ini tergolong pada piranti lunak sumber terbuka. Desainnya merupakan perbaikan bedasarkan pengalaman-pengalaman yang dialami ketika mengembangkan Servo, sebuah perangkat layout untuk peramban web dan kompilator Rust.[12]

Kebanyakan commit kode program yang masuk pada proyek Rust saat ini berasal dari kontribusi anggota komunitas.[13] Bahasa Rust mendapatkan posisi pertama dengan predikat sebagai "Bahasa pemrograman paling disukai" pada survei pengembang di Stack Oveflow tahun 2016 dan 2017.[14][15]

Contoh kode[sunting | sunting sumber]

Hello World[sunting | sunting sumber]

Berikut ini adalah contoh baris kode sederhana untuk menampilkan Hello World

fn main() {
    println!("Hello World");
}

Fungsi Faktorial[sunting | sunting sumber]

Rekursif[sunting | sunting sumber]

fn factorial(i: u64) -> u64 {
    match i {
        0 => 1,
        n => n * factorial(n-1)
    }
}

Iteratif[sunting | sunting sumber]

fn factorial(i: u64) -> u64 {
    let mut acc = 1;
    for num in 2..=i {
        acc *= num;
    }
    acc
}

Lihat pula[sunting | sunting sumber]

Rujukan[sunting | sunting sumber]

  1. ^ "Announcing Rust 1.39.0". blog.rust-lang.org. 2019-11-07. Diakses tanggal 2019-11-07. 
  2. ^ "Rust on iOS". GitHub. 2015-01-09. Diarsipkan dari versi asli tanggal 2015-01-09. Diakses tanggal 2017-06-22. 
  3. ^ "Copyright". Rust compiler source repository. Diakses tanggal 2015-11-09. 
  4. ^ 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 
  5. ^ "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 
  6. ^ "RFC for 'if let' expression". Diakses tanggal December 4, 2014. 
  7. ^ "Command Optimizations?". 2014-06-26. Diakses tanggal 2014-12-10. I just added the outline of a Result library that lets you use richer error messages. It's like Either except the names are more helpful. The names are inspired by Rust's Result library. 
  8. ^ "Uniqueness Types". 2014-08-22. Diarsipkan dari versi asli tanggal December 25, 2014. Diakses tanggal 2014-10-27. They are inspired by linear types, Uniqueness Types in the Clean programming language, and ownership types and borrowed pointers in the Rust programming language. 
  9. ^ "Rust is a systems programming language". Rust-lang.org. Diakses tanggal 2017-07-17. 
  10. ^ Noel (2010-07-08). "The Rust Language". Lambda the Ultimate. Diakses tanggal 2010-10-30. 
  11. ^ "FAQ - The Rust Project". Rust-lang.org. Diakses tanggal 2 March 2016. 
  12. ^ Peter Bright (2013-04-03). "Samsung teams up with Mozilla to build browser engine for multicore machines". Arstechnica.com. Diakses tanggal 2013-04-04. 
  13. ^ "Contributors to rust-lang/rust · GitHub". Github.com. Diakses tanggal 2016-11-03. 
  14. ^ "Stack Overflow Developer Survey 2016 Results". Stack Overflow. Diakses tanggal 2017-03-22. 
  15. ^ "Stack Overflow Developer Survey 2017". Stack Overflow. Diakses tanggal 2017-03-22. 

Pranala luar[sunting | sunting sumber]