Episode ini menelusuri sejarah Rust dari inisiatif pribadi Graydon Hoare di Mozilla hingga rilis stabil 1.0, proses RFC dan sistem edition. Kalian juga membandingkan Rust dengan C dan C++ dari sisi memory safety, null safety, dan thread safety, serta menentukan kapan Rust menjadi pilihan yang tepat.

Sebelum menulis banyak kode, penting untuk memahami mengapa Rust ada. Bahasa ini bukan sekadar tren: dia lahir dari masalah nyata di dunia pemrograman sistem, terutama bug memori dan race condition yang selama puluhan tahun menjadi sumber utama kerentanan di C dan C++.
Episode 1 menelusuri sejarah Rust dari tahun 2006 sampai saat ini, filosofi desain yang membuatnya unik, serta perbandingan dengan pendekatan tradisional. Kalian akan paham kapan Rust menjadi pilihan tepat dan kapan kalian lebih baik memilih bahasa lain.
Rust pertama kali dirancang oleh Graydon Hoare pada tahun 2006 sebagai proyek pribadi, lalu mulai dikembangkan oleh Mozilla Research pada tahun 2009. Motivasi awalnya adalah membangun komponen browser — khususnya Servo, engine paralel untuk Firefox — yang lebih aman tanpa mengorbankan performa.
Rust mencapai rilis stabil 1.0 pada 15 Mei 2015. Sejak saat itu, Rust dikelola secara terbuka oleh tim inti dan komunitas, dengan dukungan resmi dari Mozilla hingga pendirian Rust Foundation pada tahun 2021 yang menaungi pengembangannya bersama Amazon, Microsoft, Google, dan Huawei.
Perubahan besar di Rust melewati proses RFC (Request for Comments): sebuah proposal ditulis, didiskusikan di forum dan GitHub, lalu diputuskan oleh tim terkait. Proses ini membuat Rust matang secara desain — tidak banyak fitur yang masuk lalu ditarik kembali. Ekosistemnya dikelola dengan model governance yang jelas, termasuk working groups untuk spesifik bidang seperti async dan embedded.
Rust tidak berubah secara inkremental semrawut, melainkan lewat edition: pilihan besar yang bisa mengubah perilaku bahasa tanpa memecah kode lama. Edition yang sudah rilis adalah 2015, 2018, 2021, dan 2024.
rustc --version
rustup toolchain listrustup toolchain list menampilkan toolchain yang terinstall di mesin kalian. Edition dipilih per crate di field edition pada Cargo.toml, sehingga kode dengan edition lama tetap terkompilasi di toolchain baru. Edition 2024 hadir bersama Rust 1.85 dan menjadi default untuk project baru.
Desain Rust berakar pada empat nilai: safety, concurrency, performance, dan productivity.
Bahasa aman seperti Java dan Go memakai garbage collector yang menyapu memori saat runtime. Rust mengambil jalan berbeda: aturan ownership dan borrowing diverifikasi saat kompilasi, lalu menghasilkan binary tanpa runtime tambahan. Hasilnya, Rust menawarkan keamanan memori dan kontrol penuh atas performa.
C dan C++ memberi programmer kontrol penuh atas pointer, yang juga berarti bebas membuat kesalahan: use-after-free, buffer overflow, dan double free. Rust mengubah kesalahan ini menjadi error kompilasi. Jika sebuah referensi bisa menjadi invalid, kompiler menolak programnya.
null di C dan C++ adalah sumber segudang crash. Rust tidak memiliki null: nilai yang mungkin tidak ada direpresentasikan sebagai Option<T>, dan kompiler memaksa kalian menangani kedua kasus.
Data race di C dan C++ hanya bisa dihindari dengan disiplin manual. Rust memakai trait Send dan Sync untuk memastikan data yang dibagi antar thread sudah aman — lagi-lagi di waktu kompilasi.
cat > bandingkan.rs <<'EOF'
fn main() {
let pesan = "Rust: aman, cepat, konkuren";
println!("{}", pesan);
}
EOF
rustc bandingkan.rs -o bandingkan
./bandingkanProgram di atas dikompilasi langsung dengan rustc tanpa dependency apa pun. rustc bandingkan.rs -o bandingkan menghasilkan binary statis yang bisa dijalankan di mesin yang sama.
Rust unggul untuk beberapa kategori:
Rust bukan jawaban untuk semua masalah. Untuk prototyping cepat, bahasa dengan GC seperti Python atau Go bisa jauh lebih produktif. Untuk aplikasi enterprise dengan ekosistem framework yang sangat matang, Java atau C# mungkin lebih nyaman. Rust menuntut kurva belajar yang curam — keuntungannya baru terasa pada project yang besar, penting, dan berumur panjang.
Tip
Adopsi industri Rust sudah sangat nyata: AWS Lambda dan Firecracker, core networking Cloudflare, penggerak sistem pembayaran, kernel Linux mulai menampung driver Rust, dan browser seperti Firefox memakai komponen Rust. Ini bukan bahasa eksperimental.
Rust menempati posisi unik: kinerja seperti C dan C++, keamanan memori seperti bahasa managed, dan dukungan concurrency yang dijamin oleh tipe. Inilah mengapa banyak tim memilih Rust untuk fondasi sistem yang sulit digantikan. Di episode 2 kita akan membedah bagaimana semua itu bekerja di balik layar.
Inti yang harus dibawa pulang:
Di episode 2 selanjutnya kita akan membahas konsep dasar dan arsitektur utama — kompilasi lewat LLVM, borrow checker, model ownership, serta peran cargo sebagai build system, package manager, dan workspace manager. Kalian akan melihat bagaimana mesin di balik Rust benar-benar bekerja.