Lompat ke isi

Rust (bahasa pemrograman)

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Revisi sejak 23 Februari 2023 14.20 oleh Innitiative.35 (bicara | kontrib) (Menambah daftar "Lihat pula")
Rust
Edit nilai pada Wikidata
ParadigmaBahasa pemrograman berparadigma jamak, Terkompilasi, Konkuren, Fungsional, Imperatif, Terstruktur, dan Generik
Dirancang olehGraydon Hoare
PengembangRust Project Developers
Rilis perdana2010; 14 tahun lalu (2010)
Rilis stabil
1.58.1[1] / 20 Januari 2022; 2 tahun lalu (2022-01-20)
Tipe sistemStatis, Kuat, Terinferensi, Nominal, dan Linear.
Implementasi dariRust
PlatformLintas platform[2][note 1]
Sistem operasiLinux, macOS, Windows, FreeBSD, Android, iOS (sebagian)[3]
LisensiLisensi Apache 2.0 dan MIT[4]
Ekstensi nama berkas.rs, .rlib
Situs webwww.rust-lang.org
Repositoriwww.rust-lang.org
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
Sunting kotak info • L • B
Info templat
Bantuan penggunaan templat ini


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.

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

Catatan

  1. ^ Termasuk Windows, Linux, macOS, FreeBSD, NetBSD, dan Illumos. Alat pembuatan host aktif pada Android, iOS, Haiku, Redox, dan Fuchsia tidak dikirim secara resmi; sistem operasi ini didukung sebagai target.[2]

Rujukan

  1. ^ "Announcing Rust 1.58.1". blog.rust-lang.org. 2022-01-20. Diakses tanggal 2022-02-01. 
  2. ^ a b Kesalahan pengutipan: Tag <ref> tidak sah; tidak ditemukan teks untuk ref bernama CrossPlatform
  3. ^ "Rust on iOS". GitHub. 2015-01-09. Diarsipkan dari versi asli tanggal 2014-07-23. Diakses tanggal 2017-06-22. 
  4. ^ "Copyright". Rust compiler source repository. Diakses tanggal 2015-11-09. 
  5. ^ 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 
  6. ^ "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 
  7. ^ "RFC for 'if let' expression". Diakses tanggal December 4, 2014. 
  8. ^ "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. 
  9. ^ Kesalahan pengutipan: Tag <ref> tidak sah; tidak ditemukan teks untuk ref bernama Jaloyan
  10. ^ Kesalahan pengutipan: Tag <ref> tidak sah; tidak ditemukan teks untuk ref bernama Lattner
  11. ^ Kesalahan pengutipan: Tag <ref> tidak sah; tidak ditemukan teks untuk ref bernama Project Verona
  12. ^ "Rust is a systems programming language". Rust-lang.org. Diakses tanggal 2017-07-17. 
  13. ^ Noel (2010-07-08). "The Rust Language". Lambda the Ultimate. Diakses tanggal 2010-10-30. 
  14. ^ "FAQ - The Rust Project". Rust-lang.org. Diarsipkan dari versi asli tanggal 2016-02-23. Diakses tanggal 2 March 2016. 
  15. ^ Peter Bright (2013-04-03). "Samsung teams up with Mozilla to build browser engine for multicore machines". Arstechnica.com. Diakses tanggal 2013-04-04. 
  16. ^ "Contributors to rust-lang/rust · GitHub". Github.com. Diakses tanggal 2016-11-03. 
  17. ^ "Stack Overflow Developer Survey 2016 Results". Stack Overflow. Diakses tanggal 2017-03-22. 
  18. ^ "Stack Overflow Developer Survey 2017". Stack Overflow. Diakses tanggal 2017-03-22. 

Pranala luar