Bun Tulis Ulang 960K Baris dari Zig ke Rust dalam 6 Hari — AI yang Lakukan Bagian Berat
Pada 14 Mei 2026, kreator Bun Jarred Sumner menggabungkan PR #30412 — cabang 6755 commit yang menulis ulang inti Bun dari Zig ke Rust. Cabang claude/phase-a-p... hampir seluruhnya dihasilkan oleh agen AI Anthropic’s Claude.
Angkanya mencengangkan:
| Metrik | Nilai |
|---|---|
| Commit | 6.755 |
| Kode diterjemahkan | ~960K baris Zig → Rust |
| Waktu | 6 hari |
| Kompatibilitas tes | 99.8% (Linux x64 glibc) |
| Cabang sumber | claude/phase-a-p... |
Apa yang Sebenarnya Terjadi
Bun awalnya ditulis dalam Zig, bahasa pemrograman sistem yang dirancang oleh Andrew Kelley. Zig memberi Bun kecepatannya — tapi juga membatasi kumpulan kontributor. Rust, sebaliknya, memiliki ekosistem besar, tooling matang, dan integrasi LLVM yang dalam.
Setelah akuisisi Bun oleh Anthropic, tim bereksperimen menggunakan agen Claude untuk menerjemahkan seluruh codebase Zig ke Rust. Eksperimen berjalan selama 6 hari di cluster node memori tinggi, menghasilkan 6755 commit.
Hasilnya: codebase Rust yang lolos 99.8% dari suite tes Bun yang ada di Linux x64 glibc.
Migrasi Berbasis AI di Skala Besar
Ini adalah salah satu demonstrasi skala besar pertama migrasi codebase berbasis AI. Pendekatannya:
- Analisis sumber: Claude menganalisis pola kode Zig, idiom manajemen memori, dan permukaan API publik
- Terjemahan inkremental: Setiap file Zig diterjemahkan ke Rust secara inkremental, mempertahankan perilaku melalui pengujian berbasis properti
- Eksekusi paralel: Banyak instance agen Claude bekerja paralel di seluruh codebase
- Validasi CI: Setiap modul yang diterjemahkan divalidasi terhadap suite tes Bun yang ada
Kontroversi
Gabungan ini telah memicu perdebatan intens di komunitas developer:
Komunitas Zig
Bun adalah proyek flagship Zig — deployment produksi terbesar dan paling terlihat dari bahasa tersebut. Loris Cro, anggota Zig Software Foundation, sebelumnya menggambarkan kontribusi LLM ke Zig sebagai “sebagian besar negatif.” Migrasi ini dipandang oleh sebagian sebagai pengkhianatan terhadap bahasa yang memungkinkan Bun ada.
Kritik “Vibe Porting”
Di Lobste.rs, developer menciptakan istilah “vibe porting” — terjemahan berbasis AI yang bekerja secara statistik tapi kurang pemahaman mendalam. Kritikus berpendapat bahwa kode Rust yang dihasilkan AI mengikuti pola superfisial dan melewatkan cara Rust idiomatis.
Sikap Hati-hati Jarred
Dalam komentar HN sebelumnya, Sumner menekankan: “Kami belum berkomitmen untuk menulis ulang. Ada kemungkinan sangat tinggi semua kode ini dibuang sepenuhnya.” Namun penggabungan ke main menunjukkan bahwa eksperimen melampaui ekspektasi — atau bahwa strateginya bergeser.
Arti Ini
Bagi Pengguna Bun
Jangka pendek: tidak ada yang berubah. Port Rust mempertahankan kompatibilitas API. Jangka panjang: kumpulan kontributor yang lebih besar, integrasi lebih baik dengan ekosistem Rust (crates seperti tokio, hyper, reqwest), dan potensi iterasi lebih cepat.
Bagi Zig
Zig kehilangan proyek flagship-nya. Tapi bahasa ini terus berevolusi — dan port Bun mungkin menarik developer yang ingin bekerja di runtime berbasis Rust.
Bagi Migrasi Kode AI
Ini momen penting. Jika runtime tingkat sistem 960K baris bisa di-port dalam 6 hari oleh AI, ekonomi penulisan ulang perangkat lunak berubah secara fundamental. Pemeliharaan, migrasi warisan, dan porting bahasa — yang secara historis mahal dan berisiko — menjadi dapat dikerjakan.
Reaksi Komunitas
| Sumber | Sentimen |
|---|---|
| Hacker News | Terbelah — terkesan dengan kemampuan AI, skeptis terhadap kualitas kode |
| Lobste.rs | Kritis — diskusi “vibe porting”, kekhawatiran tentang Rust idiomatis |
| Stork.ai analysis | Analisis strategis dinamika Zig vs Rust |
Melihat ke Depan
Tulis ulang Bun Rust belum selesai — 99.8% bukan 100%, dan reviewer telah menandai area di mana terjemahan AI kurang. Tapi fakta bahwa eksperimen ini mencapai main sama sekali menandakan babak baru bukan hanya untuk Bun, tapi untuk cara kita berpikir tentang penulisan ulang perangkat lunak.
Seperti kata komentator di HN: “Pertanyaan lama adalah ‘haruskah kita menulis ulang di Rust?’ Pertanyaan baru adalah ‘haruskah kita biarkan AI menulis ulang di Rust untuk kita?’”