SYSTEMS PROGRAMMING

Rust

Rust adalah bahasa pemrograman sistem modern yang menjamin keamanan memori (memory safety) tanpa garbage collector. Sangat efisien untuk aplikasi performa tinggi.

  • Zero-cost Abstractions: Kecepatan level Assembly dengan sintaks modern.
  • Borrow Checker: Mencegah data races saat kompilasi.
  • Ecosystem: Cargo package manager yang modern.
  • Use Case: Game Engine (Bevy), Browser (Servo), Blockchain (Polkadot).
DISTRIBUTED SYSTEMS

Erlang

Erlang (dan Elixir) dibangun di atas BEAM VM untuk sistem terdistribusi yang fault-tolerant. Filosofi "Let it crash" membuat sistem pulih otomatis dari error.

  • Actor Model: Jutaan proses ringan berjalan bersamaan.
  • Hot Code Reloading: Update aplikasi tanpa downtime server.
  • Reliability: Dirancang untuk uptime 99.9999999%.
  • Use Case: WhatsApp, Discord, RabbitMQ, Jaringan 5G.

Perbandingan Sintaks Kode

Lihat perbedaan pendekatan konkurensi antara Threading (Rust) dan Message Passing (Erlang).

// Rust: Konkurensi Aman dengan Threads & Move Semantics
use std::thread;
use std::time::Duration;

fn main() {
    // 'move' memindahkan kepemilikan data ke thread baru
    let handle = thread::spawn(move || {
        for i in 1..10 {
            println!("Rust Worker: {}", i);
            thread::sleep(Duration::from_millis(1));
        }
    });

    handle.join().unwrap(); // Tunggu thread selesai
}
% Erlang: Konkurensi Murni dengan Message Passing (Actor Model)
-module(demo).
-export([start/0, loop/0]).

start() ->
    Pid = spawn(demo, loop, []),
    Pid ! {hello, "World"}, % Kirim pesan asinkron
    ok.

loop() ->
    receive
        {hello, Msg} ->
            io:format("Erlang Actor received: ~p~n", [Msg]),
            loop(); % Rekursi ekor (Tail recursion)
        stop ->
            ok
    end.