🦀 Car..Goo!!

Alt Text

Rust punya beberapa keunggulan dibanding Haskell untuk tugas tertentu. Salah satu perbedaannya adalah Rust memberi kontrol lebih besar atas alokasi memori.

Haskell menggunakan garbage collector, jadi programmer nggak perlu mikirin kapan memori dialokasikan atau dilepas. Tapi ini bikin program bisa tiba-tiba berhenti untuk bersih-bersih memori, yang bikin performanya nggak stabil. Ini oke untuk fitur seperti lazy evaluation, tapi kurang cocok untuk sistem real-time yang butuh performa konsisten.

Rust beda. Dengan kontrol memori yang lebih, programmer bisa memastikan program nggak boros memori dan nggak bakal nge-freeze di tengah proses. Rust juga dirancang untuk performa tinggi, mirip C/C++, dan lebih populer di kalangan developer. Komunitasnya gede, jadi ekosistemnya luas, dan perusahaan lebih gampang rekrut engineer Rust dibanding Haskell.

Uuuwanjaay...muncul-muncul langsung Haskell boskuh..
Itukan yang ada di benak kalian, sama aku juga gitu mikirnya, muncul-muncul langsung horni 🦅kwaakk...kwakk....

Kenapa di sandingkan dengan haskell

ya karena menurutku haskell sama-sama bahasa pemrograman yang di compile juga, sama dengan C dan Rust. Haskell di kompilasi menjadi kode mesin oleh GHC (Glasgow Haskell Compiler), kompiler Haskell yang populer dan banyak digunakan. dah itu aja yang saya tahu...

LANJOOTT.....

Sedangkan Rust dikompile menggunakan rustc, yaitu kompiler bawaan yang disertakan dalam distribusi Rust.

Beberapa point penting tentang kompilasi Rust.......kuak kuak

  1. LLVM Backend:
    Rustc memanfaatkan LLVM (Low-Level Virtual Machine) sebagai backend buat mengubah kode Rust jadi kode mesin. LLVM ini semacam mesin turbo yang juga dipakai oleh bahasa lain seperti C/C++ (dengan Clang) dan Swift.

LLVM loh ges bukan LSM, LSM mah meresahkan 🦅kwaakk...kwakk....

  1. Kompilasi Ahead-of-Time (AOT):
    Rust pakai metode Ahead-of-Time (AOT), artinya kode Rust dikompilasi jadi biner mesin lengkap sebelum dieksekusi. Nggak ada istilah "ngaret" di runtime.

  2. Optimalisasi Maksimal:
    Rustc nggak main-main soal optimasi. Dengan LLVM, dia bisa melakukan inlining, loop unrolling, dan vectorization, biar performa program kamu makin ngebut.

  3. Hasil Akhir:
    Output dari kompilasi Rust adalah file biner yang bisa langsung dijalanin di sistem target kamu. Tanpa garbage collector atau runtime besar yang bikin berat, Rust jalan ringan dan efisien, cocok banget buat aplikasi sistem atau real-time.

Dan jangan lupa, Rust punya Cargo, semacam manajer proyek yang bikin hidup lebih gampang, mulai dari kompilasi, ngatur dependensi, sampai testing. 🛻

CarGooo!!!

Bayangkan kamu baru aja mulai petualangan di dunia Rust. Nah, di sinilah Cargo datang sebagai sidekick setia kamu, siap bantuin setiap langkah perjalanan codingmu.

Jadi, Cargo ini semacam sidekick multifungsi yang selalu siap bantu kamu jadi pahlawan di dunia Rust. Apapun yang kamu butuhkan, dari bikin proyek, ngurusin dependensi, sampe testing, Cargo punya punggung kamu. Nggak heran banyak programmer Rust yang nggak bisa hidup tanpa Cargo.

Cara lain selain cargo ada juga sih...tapi....kebetulan aku sangat malas untuk menulisnya disini penjang booiiii......kayak cicilan KPR 🦅kwaakk...kwakk....