Teknik Elektro LinksThermostat, Panel Bel, Board Mikro, Driver Relay.

Rust – Pengganti Bahasa C Bagi Saya (Dan Mungkin Anda)

Hari ini secara tidak sengaja (ketika membaca tulisan seorang blogger) perhatian saya tertuju pada Rust, yakni sebuah bahasa pemrograman sistem yang mirip dengan bahasa C/C++ dan dirancang dengan mengedepankan 3 hal penting yaitu: safety, speed dan concurrency.

Rust – Safety, Speed, Concurrency

Safety. Penggunaan memorinya dijamin aman. Tidak akan ada lagi kejadian buffer overflow atau program yang ngaco atau crash karena kesalahan penggunaan pointer seperti halnya C/C++. Dan Rust melakukannya dengan tanpa menggunakan garbage collector. Oleh karenanya semua proses pengecekan dan pemastian bahwa penggunaan memori aman dilakukan pada saat kompilasi.

Speed. Kompiler Rust dirancang untuk menghasilkan kode mesin yang efisien sehingga kecepatan proses program sangat cepat dan bisa menyaingi bahasa C/C++.

Concurrency. Rust memudahkan programmer dalam membuat program multi-threading.

Setelah membaca beberapa review dan mengunjungi situsnya, saya langsung melakukan instalasi dan mencoba Rust. Walhasil, saya langsung jatuh cinta dan memutuskan untuk mempelajarinya lebih lanjut dan menggunakan Rust sebagai pengganti C untuk pemrograman komputer.

Btw, sehari-hari, saya menggunakan bahasa C untuk pemrograman mikrokontroler dan komputer. Bahasa C saya tidaklah bagus dan sepertinya saya tidak cukup pintar untuk menguasai C++. Rust sepertinya pilihan yang pas bagi saya. Bisa menghasilkan program yang setara C/C++ dengan proses pembuatan program yang relatif lebih aman adalah tawaran yang sulit ditolak.

Instalasi Rust

1. Siapkan koneksi internet Anda.

2. Instalasi program curl bila belum terinstalasi pada sistem.

$ sudo apt-get install curl

3. Instalasi Rust

$ curl -sf -L https://static.rust-lang.org/rustup.sh | sh

teknik_elektro_links_rust_install

Cargo

cargo adalah program manajemen paket yang handy dalam proses pembuatan proyek program menggunakan Rust.

cargo new

Untuk membuat proyek baru perintahnya adalah sebagai berikut:

$ cargo new luas_persegi --bin

–bin ditambahkan karena kita akan membuat program aplikasi binary (executable). Untuk membuat library, hilangkan parameter –bin.

cargo akan menciptakan direktori luas_persegi dengan isi sebagai berikut:

teknik_elektro_links_cargo_tree

Kita bisa gunakan editor yang kita suka untuk mengedit main.rs. Saya menggunakan VIM.

teknik_elektro_links_rust_luas_persegi

cargo build

Setelah selesai mengedit kode program, kompilasi proyek dengan perintah:

$ cargo build

Rust sangat cerewet! Untuk menghasilkan program yang memory-safe dan anti-crash, semua pengecekan dilakukan dengan cermat dan cerdas oleh Rust pada saat kompilasi. Meski cerewet, Rust juga baik hati karena memberikan clue yang cukup perihal kesalahan (errors) atau hal-hal yang perlu diperhatikan (warnings).

Jika kompilasi sukses maka bisa dijamin program kita telah aman dan anti-crash.

cargo run

Untuk menjalankan program hasil kompilasi, ketikkan perintah:

$ cargo run

cargo_build_run

crate

crate adalah library dalam bahasa Rust. Tersedia buanyak crate untuk berbagai keperluan/fungsi yang dapat langsung kita gunakan. Kumpulan crate tersedia pada situs berikut ini:

https://crates.io/

cargo dapat secara otomatis mengunduh crate (library) yang kita gunakan dengan menyertakan namanya pada file Cargo.toml seperti contoh berikut ini:

[package]
name = "coba_random"
version = "0.1.0"
authors = "chandra"

[dependencies]
rand="0.3.0"

rand adalah nama library untuk membangkitkan bilangan acak. File library rand akan secara otomatis diunduh pada proses build menggunakan perintah cargo build.

Pada saat ini tersedia sebanyak 3.551 crate yang siap kita gunakan untuk proyek kita.

Rust Sebagai Pengganti C/C++

Rust telah digunakan untuk membuat kernel sistem operasi. Cek situs berikut ini:

http://www.randomhacks.net/bare-metal-rust/

Bahkan telah ada sistem operasi yang dibuat secara keseluruhan menggunakan Rust. Cek yang berikut ini:

redox

https://github.com/redox-os/redox – http://www.redox-os.org/

 

Rust adalah pengganti bahasa C/C++ – setidaknya itulah Rust bagi saya dan bagi sebagian penggunanya. Dan mungkin bagi Anda juga setelah Anda mencobanya.

Anda tertarik untuk mencobanya?

Add a Comment

Your email address will not be published. Required fields are marked *