Lompat ke isi

Rust (bahasa pemrograman): Perbedaan antara revisi

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Konten dihapus Konten ditambahkan
InternetArchiveBot (bicara | kontrib)
Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.8
Laux99 (bicara | kontrib)
k sejarah rust
Tag: halaman dengan galat kutipan VisualEditor
 
(27 revisi perantara oleh 9 pengguna tidak ditampilkan)
Baris 1: Baris 1:
{{Infobox programming language
{{Infobox programming language
| name = Rust
| name = Rust
| logo = [[Berkas:Rust programming language black logo.svg|144px]]
| logo = [[Berkas:Rust programming language black logo.svg|144px]]
| caption =
| caption =
| paradigm = [[Bahasa pemrograman berparadigma jamak]], Terkompilasi, Konkuren, Fungsional, Imperatif, Terstruktur, dan Generik
| paradigm = [[Bahasa pemrograman berparadigma jamak]], Terkompilasi, Konkuren, Fungsional, Imperatif, Terstruktur, dan Generik
| designer = awalnya oleh Graydon Hoare, kemudian oleh para pengembang proyek Rust.
| designer = [[Graydon Hoare]]
| developer = Rust Project Developers
| developer = Rust Project Developers
| typing = penulisan yang Statis, Kuat, Terinferensi, Nominal, dan Linear.
| typing = Statis, Kuat, Terinferensi, Nominal, dan Linear.
| dialects =
| dialects =
| influenced = {{cslist|
| influenced = Crystal, [[Elm (bahasa pemrograman)|Elm]],<ref name="elmresult">{{cite web|url=https://groups.google.com/forum/?fromgroups#!searchin/elm-discuss/rust/elm-discuss/lMX_9miTD2E/QBwdvL4JD9wJ|title=Command Optimizations?|date=2014-06-26|accessdate=2014-12-10|quote=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.}}</ref> [[Idris (bahasa pemrograman)|Idris]]<ref name="idrisunique">{{cite web|url=https://github.com/idris-lang/Idris-dev/wiki/Uniqueness-Types |title=Uniqueness Types |date=2014-08-22 |accessdate=2014-10-27 |quote=They are inspired by linear types, Uniqueness Types in the Clean programming language, and ownership types and borrowed pointers in the Rust programming language. |deadurl=yes |archiveurl=https://web.archive.org/web/20141225103820/https://github.com/idris-lang/Idris-dev/wiki/Uniqueness-Types |archivedate=December 25, 2014 }}</ref>
[[Crystal (bahasa pemrograman)|Crystal]]|
| license = Lisensi [[Lisensi Apache|Apache]] 2.0 atau [[Lisensi MIT|MIT]]<ref name='license'>{{cite web | url = https://github.com/rust-lang/rust/blob/master/COPYRIGHT | title = Copyright | accessdate = 2015-11-09 | publisher=Rust compiler source repository}}</ref>
[[Idris (bahasa pemrograman)|Idris]]<ref>{{Cite web |title=Uniqueness Types |url=http://docs.idris-lang.org/en/latest/reference/uniqueness-types.html |access-date=2022-07-14 |website=Idris 1.3.3 documentation |quote="They are inspired by ... ownership types and borrowed pointers in the Rust programming language."}}</ref>|
| website = {{URL|https://www.rust-lang.org}}
[[SPARK (bahasa pemrograman)|Spark]]<ref name="Jaloyan" />|
| year = {{release date and age|2010}}
[[Swift (bahasa pemrograman)|Swift]]<ref name="Lattner" />|
[[Project Verona]]<ref name="Project Verona" />|
[[Zig (bahasa pemrograman)|Zig]]|
}}
| license = Lisensi [[Lisensi Apache|Apache]] 2.0 dan [[Lisensi MIT|MIT]]<ref name='license'>{{cite web | url = https://github.com/rust-lang/rust/blob/master/COPYRIGHT | title = Copyright | accessdate = 2015-11-09 | publisher=Rust compiler source repository}}</ref>
| website = {{URL|https://www.rust-lang.org}}
| year = {{release date and age|2010}}
| programming_language = Rust
| programming_language = Rust
| latest_release_version = {{wikidata|property|edit|reference|P548=Q2804309|P348}}
| latest_release_version = 1.50.0<ref>{{cite web|title=Announcing Rust 1.50.0|url=https://blog.rust-lang.org/2021/02/11/Rust-1.50.0.html|website=blog.rust-lang.org|date=2021-02-11|accessdate=2021-02-21}}</ref>
| latest_release_date = {{release date and age|2021|02|11}}
| latest_release_date = {{start date and age|{{wikidata|qualifier|mdy|P548=Q2804309|P348|P577}}}}
| influenced_by = [[Alef (programming language)|Alef]],<ref name="referenceinfluences">{{cite web|title=The Rust Reference: Appendix: Influences|url=https://doc.rust-lang.org/reference/influences.html|accessdate=July 14, 2017 |quote=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}}</ref> [[C Sharp|C#]],<ref name="referenceinfluences" /> [[C++]],<ref name="referenceinfluences" /> [[Cyclone (programming language)|Cyclone]],<ref name="referenceinfluences" /><ref name="rustwiki-noteresearch-typesystem">{{cite web|url=https://github.com/rust-lang/rust-wiki-backup/blob/master/Note-research.md#type-system|title=Note Research: Type System | date = 2015-02-01 | accessdate = 2015-03-25 | quote = 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''}}</ref> [[Erlang (programming language)|Erlang]],<ref name="referenceinfluences" /> [[Haskell (bahasa pemrograman)|Haskell]],<ref name="referenceinfluences" /> [[Hermes (programming language)|Hermes]],<ref name="referenceinfluences" /> [[Limbo (programming language)|Limbo]],<ref name="referenceinfluences" /> [[Newsqueak]],<ref name="referenceinfluences" /> [[NIL (programming language)|NIL]],<ref name="referenceinfluences" /> [[Ocaml|OCaml]],<ref name="referenceinfluences" /> [[Ruby (bahasa pemrograman)|Ruby]],<ref name="referenceinfluences" /> [[Scheme (programming language)|Scheme]],<ref name="referenceinfluences" /> [[Standard ML]],<ref name="referenceinfluences" /> [[Swift (bahasa pemrograman)|Swift]]<ref name="referenceinfluences" /><ref name="rust-if-let">{{cite web|title=RFC for 'if let' expression|url=https://github.com/rust-lang/rfcs/pull/160|accessdate=December 4, 2014 }}</ref>
| influenced_by = [[Alef (bahasa pemrograman)|Alef]],<ref name="referenceinfluences">{{cite web|title=The Rust Reference: Appendix: Influences|url=https://doc.rust-lang.org/reference/influences.html|accessdate=July 14, 2017 |quote=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}}</ref> [[C Sharp|C#]],<ref name="referenceinfluences" /> [[C++]],<ref name="referenceinfluences" /> [[Cyclone (programming language)|Cyclone]],<ref name="referenceinfluences" /><ref name="rustwiki-noteresearch-typesystem">{{cite web|url=https://github.com/rust-lang/rust-wiki-backup/blob/master/Note-research.md#type-system|title=Note Research: Type System | date = 2015-02-01 | accessdate = 2015-03-25 | quote = 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''}}</ref> [[Erlang (bahasa pemrograman)|Erlang]],<ref name="referenceinfluences" /> [[Haskell (bahasa pemrograman)|Haskell]],<ref name="referenceinfluences" /> [[Hermes (programming language)|Hermes]],<ref name="referenceinfluences" /> [[Limbo (programming language)|Limbo]],<ref name="referenceinfluences" /> [[Newsqueak]],<ref name="referenceinfluences" /> [[NIL (programming language)|NIL]],<ref name="referenceinfluences" /> [[Ocaml|OCaml]],<ref name="referenceinfluences" /> [[Ruby (bahasa pemrograman)|Ruby]],<ref name="referenceinfluences" /> [[Scheme (bahasa pemrograman)|Scheme]],<ref name="referenceinfluences" /> [[Standard ML]],<ref name="referenceinfluences" /> [[Swift (bahasa pemrograman)|Swift]]<ref name="referenceinfluences" /><ref name="rust-if-let">{{cite web|title=RFC for 'if let' expression|url=https://github.com/rust-lang/rfcs/pull/160|accessdate=December 4, 2014 }}</ref>
| platform = [[Lintas platform]]<ref name=CrossPlatform/>{{refn|group=note|Termasuk [[Windows]], [[Linux]], [[macOS]], [[FreeBSD]], [[NetBSD]], dan [[Illumos]]. Alat pembuatan host aktif pada [[Android (sistem operasi)|Android]], [[iOS]], [[Haiku (sistem operasi)|Haiku]], [[Redox (sistem operasi)|Redox]], dan [[Fuchsia (sistem operasi)|Fuchsia]] tidak dikirim secara resmi; sistem operasi ini didukung sebagai target.<ref name="CrossPlatform" />}}
| operating_system = [[Linux]], [[macOS]], [[Microsoft Windows|Windows]], [[FreeBSD]], [[Android (operating system)|Android]], [[iOS]] (sebagian)<ref>{{cite web |url=https://github.com/rust-lang/rust/wiki/Doc-building-for-ios |title=Rust on iOS |website=[[GitHub]] |deadurl=yes |archiveurl=https://web.archive.org/web/20140723023232/https://github.com/rust-lang/rust/wiki/Doc-building-for-ios |date=2015-01-09 |archivedate=2014-07-23 |accessdate=2017-06-22 }}</ref>
| operating_system = [[Linux]], [[macOS]], [[Microsoft Windows|Windows]], [[FreeBSD]], [[Android (operating system)|Android]], [[iOS]] (sebagian)<ref>{{cite web |url=https://github.com/rust-lang/rust/wiki/Doc-building-for-ios |title=Rust on iOS |website=[[GitHub]] |deadurl=yes |archiveurl=https://web.archive.org/web/20140723023232/https://github.com/rust-lang/rust/wiki/Doc-building-for-ios |date=2015-01-09 |archivedate=2014-07-23 |accessdate=2017-06-22 }}</ref>
| file_ext = .rs, .rlib
| file_ext = <code>.rs</code>, <code>.rlib</code>
}}
}}


'''Rust''' adalah sebuah [[bahasa pemrograman sistem]]<ref>{{cite web |title=Rust is a systems programming language |url=https://www.rust-lang.org |work=Rust-lang.org |accessdate=2017-07-17}}</ref> yang pengembangannya didukung oleh penelitian dari [[Mozilla]].<ref name="lamda">{{cite web|url=http://lambda-the-ultimate.org/node/4009|title=The Rust Language|author=Noel|date=2010-07-08|publisher=Lambda the Ultimate|accessdate=2010-10-30}}</ref> Bahasa ini dirancang agar menjadi pemrograman yang "aman, konkuren (bekerja bersamaan) dan praktis".<ref name="FAQ - The Rust Project">{{cite web|title=FAQ - The Rust Project|url=https://www.rust-lang.org/faq.html#project|accessdate=2 March 2016|website=Rust-lang.org|archive-date=2016-02-23|archive-url=https://web.archive.org/web/20160223194439/https://www.rust-lang.org/faq.html#project|dead-url=yes}}</ref> 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''' adalah sebuah [[bahasa pemrograman sistem]]<ref>{{cite web |title=Rust is a systems programming language |url=https://www.rust-lang.org |work=Rust-lang.org |accessdate=2017-07-17}}</ref> yang pengembangannya didukung oleh penelitian dari [[Mozilla]].<ref name="lamda">{{cite web|url=http://lambda-the-ultimate.org/node/4009|title=The Rust Language|author=Noel|date=2010-07-08|publisher=Lambda the Ultimate|accessdate=2010-10-30}}</ref> Bahasa ini dirancang agar menjadi pemrograman yang "aman, konkuren (bekerja bersamaan) dan praktis".<ref name="FAQ - The Rust Project">{{cite web|title=FAQ - The Rust Project|url=https://www.rust-lang.org/faq.html#project|accessdate=2 March 2016|website=Rust-lang.org|archive-date=2016-02-23|archive-url=https://web.archive.org/web/20160223194439/https://www.rust-lang.org/faq.html#project|dead-url=yes}}</ref> 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.<ref name="rustinservo">{{cite web|url=https://arstechnica.com/information-technology/2013/04/samsung-teams-up-with-mozilla-to-build-browser-engine-for-multicore-machines/|title=Samsung teams up with Mozilla to build browser engine for multicore machines|author=Peter Bright|website=Arstechnica.com|date=2013-04-03|accessdate=2013-04-04}}</ref>
Bahasa Rust ini tergolong pada [[Perangkat lunak|peranti lunak]] sumber terbuka. Desainnya merupakan perbaikan bedasarkan pengalaman-pengalaman yang dialami ketika mengembangkan Servo, sebuah perangkat ''layout'' untuk peramban web dan [[kompilator]] Rust.<ref name="rustinservo">{{cite web|url=https://arstechnica.com/information-technology/2013/04/samsung-teams-up-with-mozilla-to-build-browser-engine-for-multicore-machines/|title=Samsung teams up with Mozilla to build browser engine for multicore machines|author=Peter Bright|website=Arstechnica.com|date=2013-04-03|accessdate=2013-04-04}}</ref>
Kebanyakan ''commit'' kode program yang masuk pada proyek Rust saat ini berasal dari kontribusi anggota komunitas.<ref name="contributors">{{cite web|author= |url=https://github.com/mozilla/rust/contributors |title=Contributors to rust-lang/rust · GitHub |website=Github.com |date= |accessdate=2016-11-03}}</ref> Bahasa Rust mendapatkan posisi pertama dengan predikat sebagai "Bahasa pemrograman paling disukai" pada survei pengembang di [[Stack Oveflow]] tahun 2016 dan 2017.<ref>{{Cite web|url=https://stackoverflow.com/insights/survey/2016#technology-most-loved-dreaded-and-wanted|title=Stack Overflow Developer Survey 2016 Results|website=Stack Overflow|access-date=2017-03-22}}</ref><ref>{{Cite web|url=https://stackoverflow.com/insights/survey/2017#most-loved-dreaded-and-wanted|title=Stack Overflow Developer Survey 2017|website=Stack Overflow|access-date=2017-03-22}}</ref>
Kebanyakan ''commit'' kode program yang masuk pada proyek Rust saat ini berasal dari kontribusi anggota komunitas.<ref name="contributors">{{cite web|author= |url=https://github.com/mozilla/rust/contributors |title=Contributors to rust-lang/rust · GitHub |website=Github.com |date= |accessdate=2016-11-03}}</ref> Bahasa Rust mendapatkan posisi pertama dengan predikat sebagai "Bahasa pemrograman paling disukai" pada survei pengembang di [[Stack Overflow|Stack Oveflow]] tahun 2016 dan 2017.<ref>{{Cite web|url=https://stackoverflow.com/insights/survey/2016#technology-most-loved-dreaded-and-wanted|title=Stack Overflow Developer Survey 2016 Results|website=Stack Overflow|access-date=2017-03-22}}</ref><ref>{{Cite web|url=https://stackoverflow.com/insights/survey/2017#most-loved-dreaded-and-wanted|title=Stack Overflow Developer Survey 2017|website=Stack Overflow|access-date=2017-03-22}}</ref>

== Sejarah ==
Rust adalah bahasa pemrograman yang diciptakan oleh Graydon Hoare sebagai proyek pribadi pada tahun 2006 saat ia bekerja di Mozilla. Bahasa ini diumumkan kepada publik pada tahun 2010, dan versi stabil pertamanya, Rust 1.0, dirilis pada tahun 2015.

Pada awal peluncurannya, Rust menghadapi beberapa kritik, yang merupakan hal yang umum dalam dunia pemrograman. Kritik tersebut terutama berfokus pada kompleksitas bahasa ini, kurva pembelajaran yang curam, verbosity (adanya banyak kode boilerplate), dan kurangnya kematangan serta ekosistem yang masih terbatas.

Sejak saat itu, Rust telah mengalami banyak perbaikan signifikan. Komunitas pengguna dan pengembang Rust telah berkembang pesat, dan banyak kritik awal mengenai bahasa ini telah diatasi. Rust kini dikenal sebagai bahasa pemrograman yang lebih matang dan memiliki ekosistem yang lebih luas.<ref>{{Cite web|date=2023-01-21|title=Data With Rust|url=https://datawithrust.com/|website=Data With Rust|language=en|access-date=2024-05-21}}</ref>


== Contoh kode ==
== Contoh kode ==
Baris 30: Baris 45:
Berikut ini adalah contoh baris kode sederhana untuk menampilkan [[Hello World]]
Berikut ini adalah contoh baris kode sederhana untuk menampilkan [[Hello World]]


<syntaxhighlight lang="rust">
<syntaxhighlight lang="rust" line="1">
fn main() {
fn main() {
println!("Hello World");
println!("Hello World");
Baris 39: Baris 54:


==== Rekursif ====
==== Rekursif ====
<syntaxhighlight lang="rust">
<syntaxhighlight lang="rust" line="1">
fn factorial(i: u64) -> u64 {
fn factorial(i: u64) -> u64 {
match i {
match i {
Baris 49: Baris 64:


==== Iteratif ====
==== Iteratif ====
<syntaxhighlight lang="rust">
<syntaxhighlight lang="rust" line="1">
fn factorial(i: u64) -> u64 {
fn factorial(i: u64) -> u64 {
let mut acc = 1;
let mut acc = 1;
Baris 60: Baris 75:


== Lihat pula ==
== Lihat pula ==
* [[Redox (sistem operasi)]], Sistem Operasi menggunakan bahasa Rust,
* [[Redox (sistem operasi)]], [[Sistem operasi|Sistem Operasi]] menggunakan bahasa Rust,
* [[Rocket (web framework)]], kerangka kerja pembangun aplikasi web menggunakan bahasa Rust.
* [[Rocket (web framework)]], [[Framework|kerangka kerja]] pembangun [[aplikasi web]] menggunakan bahasa Rust.
* [[Carbon (bahasa pemrograman)]]
* [[Quantum (Mozilla)]], proyek yang dikembangkan oleh [[Mozilla]] untuk menggantikan [[Gecko]] sebagai mesin utama peramban [[Firefox]].
* [[Quantum (Mozilla)]], proyek yang dikembangkan oleh [[Mozilla]] untuk menggantikan [[Gecko]] sebagai mesin utama peramban [[Firefox]].

== Catatan ==
{{Reflist|group=note}}{{Clear|right}}


== Rujukan ==
== Rujukan ==
Baris 81: Baris 100:
* {{GitHub|rust-rosetta/rust-rosetta|rust-rosetta}} – Implementasi dari algoritme-algoritme umum dan penyelesaiannya
* {{GitHub|rust-rosetta/rust-rosetta|rust-rosetta}} – Implementasi dari algoritme-algoritme umum dan penyelesaiannya
* [http://christianrubiales.com/hyperpoly/?q=rust Rust diperbandingkan dengan bahasa-bahasa pemrograman lain] – Perbandingan interaktif
* [http://christianrubiales.com/hyperpoly/?q=rust Rust diperbandingkan dengan bahasa-bahasa pemrograman lain] – Perbandingan interaktif
{{Authority control}}


[[Kategori:Bahasa pemrograman sistem]]
[[Kategori:Rust (bahasa pemrograman)| ]]
[[Kategori:Mozilla]]
[[Kategori:Mozilla]]
[[Kategori:Bahasa pemrograman]]
[[Kategori:Bahasa pemrograman sistem]]
[[Kategori:Bahasa pemrograman tingkat tinggi]]
[[Kategori:Perangkat lunak menggunakan lisensi MIT]]
[[Kategori:Perangkat lunak menggunakan lisensi Apache]]
[[Kategori:Bahasa pemrograman berorientasi objek]]

Revisi terkini sejak 21 Mei 2024 00.59

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.82.0[1] Sunting di Wikidata / Oktober 17, 2024; Galat: first parameter cannot be parsed as a date or time. (Oktober 17, 2024)
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]

Rust adalah bahasa pemrograman yang diciptakan oleh Graydon Hoare sebagai proyek pribadi pada tahun 2006 saat ia bekerja di Mozilla. Bahasa ini diumumkan kepada publik pada tahun 2010, dan versi stabil pertamanya, Rust 1.0, dirilis pada tahun 2015.

Pada awal peluncurannya, Rust menghadapi beberapa kritik, yang merupakan hal yang umum dalam dunia pemrograman. Kritik tersebut terutama berfokus pada kompleksitas bahasa ini, kurva pembelajaran yang curam, verbosity (adanya banyak kode boilerplate), dan kurangnya kematangan serta ekosistem yang masih terbatas.

Sejak saat itu, Rust telah mengalami banyak perbaikan signifikan. Komunitas pengguna dan pengembang Rust telah berkembang pesat, dan banyak kritik awal mengenai bahasa ini telah diatasi. Rust kini dikenal sebagai bahasa pemrograman yang lebih matang dan memiliki ekosistem yang lebih luas.[19]

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]
fn factorial(i: u64) -> u64 {
    match i {
        0 => 1,
        n => n * factorial(n-1)
    }
}
fn factorial(i: u64) -> u64 {
    let mut acc = 1;
    for num in 2..=i {
        acc *= num;
    }
    acc
}

Lihat pula

[sunting | sunting sumber]
  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]
  1. ^ "Announcing Rust 1.82.0" (dalam bahasa bahasa Inggris). 17 Oktober 2024. Diakses tanggal 17 Oktober 2024. 
  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. 
  19. ^ "Data With Rust". Data With Rust (dalam bahasa Inggris). 2023-01-21. Diakses tanggal 2024-05-21. 

Pranala luar

[sunting | sunting sumber]