~/VibeHandbook
PDF Gratis

Bahasa

rust-lang.org

Rust

Apa itu ini

Rust adalah bahasa sistem yang dikompilasi (compiled) dengan fokus pada keamanan memori. Kebanyakan bahasa menjalankan garbage collector — pembersih memori otomatis yang bekerja di latar belakang untuk membebaskan memori yang tidak terpakai. Rust melewati itu dan justru membuktikan bahwa memori Anda ditangani dengan benar saat program sedang dibangun (di-compile). Bayangkan buku perpustakaan: hanya satu orang yang boleh memegang dan menulis di dalamnya pada satu waktu, dan sistem menolak meminjamkan buku yang sudah dikembalikan dan dibuang — jadi Anda tidak akan pernah tanpa sengaja memakai sesuatu yang sudah tidak ada. Itulah yang dilakukan model ownership (kepemilikan) dan borrowing (peminjaman) Rust terhadap data Anda. Model ini menjamin, sebelum program Anda pernah dijalankan sekali pun, bahwa Anda tidak akan mengalami data race (dua bagian kode mengubah hal yang sama secara bersamaan) atau bug use-after-free (memakai memori yang sudah dibersihkan). Hasilnya adalah kecepatan setara C dengan jauh lebih sedikit cara untuk menembak kaki sendiri.

Kekuatan

  • Keamanan memori dan keamanan thread diperiksa saat program sedang dibangun, tanpa perlu garbage collector (pembersih memori latar belakang yang dijalankan kebanyakan bahasa lain).
  • Performa setara dengan C dan C++.
  • Sistem tipe yang kaya, pattern matching, dan manager kelas satu (Cargo, alat build-and-package bawaan Rust).
  • Pesan error compiler yang sangat baik, menjelaskan apa yang salah dan cara memperbaikinya.

Trade-off

  • Kurva belajar yang curam — borrow checker (bagian Rust yang menegakkan aturan "satu pemegang pada satu waktu" seperti buku di atas) butuh waktu nyata untuk dibiasakan.
  • Lebih lambat ditulis dan lebih lama dikompilasi dibanding bahasa level tinggi.
  • Berlebihan untuk skrip sederhana atau prototipe cepat.
  • Rust async dan kode generik yang sarat lifetime bisa menjadi benar-benar rumit.

Kapan menggunakannya

Gunakan Rust ketika performa, keandalan, dan kontrol sumber daya semuanya penting sekaligus: perangkat lunak sistem, engine game, alat command-line, WebAssembly, embedded, atau layanan yang kritis terhadap performa. Rust kurang cocok untuk skrip sekali pakai, di mana jaminan keamanannya tidak sebanding dengan friksi yang ditimbulkan.

Kecocokan dengan vibe coding

Asisten AI bisa menghasilkan kode Rust yang tampak masuk akal, tapi borrow checker adalah wasit sesungguhnya — siapkan diri untuk menempelkan (paste) error compiler kembali ke AI dan beriterasi, dan ini bekerja dengan baik karena diagnostik Rust sangat presisi dan model bisa bertindak berdasarkan itu. Arahkan AI untuk mengandalkan Result dan ? untuk penanganan error, untuk memilih owned types atau borrow yang jelas ketimbang bertarung dengan lifetime, dan untuk menyarankan crate (paket kode Rust yang bisa dipakai ulang, terdaftar di Cargo.toml) secara eksplisit. Minta kasus uji cargo test supaya Anda bisa memverifikasi keamanan dan perilaku kode. Ketika model mengusulkan unsafe, tolak dan minta alternatif yang aman terlebih dahulu.

fn main() {
    let nums = vec![3, 1, 4, 1, 5, 9, 2, 6];
    let sum: i32 = nums.iter().filter(|&&n| n % 2 == 0).sum();
    println!("Sum of evens: {sum}");
}