9 poin oleh GN⁺ 9 jam lalu | 4 komentar | Bagikan ke WhatsApp
  • PR #30412 adalah perubahan untuk menulis ulang Bun dalam Rust, dan pada 14 Mei 2026 di-merge dari branch claude/phase-a-port ke main
  • Skala perubahannya tercatat sebesar 6.755 commit, 2.188 file, dan +1,009,257/-4,024 baris
  • Jarred-Sumner menyatakan bahwa tulisan blog berisi detail lengkap akan segera terbit
  • Perubahan ini dijelaskan telah meloloskan test suite Bun yang ada di semua platform, serta memperbaiki beberapa kebocoran memori dan test yang tidak stabil
  • Ukuran biner berkurang 3MB~8MB, dan benchmark disebut netral atau berada di kisaran yang lebih cepat
  • Sebagai alasan terpenting, dijelaskan bahwa bug memori yang selama bertahun-tahun menghabiskan banyak waktu pengembangan dan debugging tim kini bisa ditangkap dan dicegah dengan alat bantu compiler
  • Dijelaskan bahwa codebase pada umumnya tetap sama, dan arsitektur serta struktur data juga dipertahankan
  • Bun masih menggunakan sedikit library pihak ketiga, dan secara eksplisit disebutkan tidak menggunakan async Rust
  • Pengguna dapat mencoba perubahan ini dengan bun upgrade --canary
  • Jarred-Sumner meminta agar issue dilaporkan jika muncul masalah, dan menyatakan thread bisa dikunci bila diskusinya memanas
  • Masih ada pekerjaan optimasi yang tersisa sebelum masuk ke versi non-canary
  • Pekerjaan perapian juga masih tersisa, dan ini direncanakan berjalan sebagai rangkaian PR lanjutan

4 komentar

 
xguru 9 jam lalu

Wow, PR sejuta baris di-merge. Dari Zig ke Rust langsung pindah sekaligus ya.
Tadi bilangnya belum tahu ini bakal di-merge atau tidak~~, eh cuma seminggu kemudian langsung ganti bahasa sekaligus pada kode yang tadinya berjalan dengan baik, haha
Rasanya seperti ada sesuatu yang monumental terjadi gara-gara AI-assisted coding.

 
heycalmdown 5 jam lalu

Serius, katanya ini cuma buat uji coba dan kemungkinan besar juga tidak akan dipakai.

 
freedomzero 4 jam lalu

Karena tidak dilakukan di Zig, langsung pindah ke Rust dengan keberanian segila itu wkwk

 
GN⁺ 9 jam lalu
Komentar Hacker News
  • Jika dalam pengumuman dikatakan rewrite ini memakan waktu 1 minggu, jadi penasaran berapa lama yang dibutuhkan untuk menyiapkan berkas panduan yang sangat rinci ini untuk memetakan idiom Zig ke idiom Rust: https://github.com/oven-sh/bun/commit/46d3bc29f270fa881dd573...
    Selain itu, jika melihat bagian Pointers & ownership dan Collections, codebase Bun tampaknya sudah menggunakan tipe smart pointer internal agar siap dipetakan 1:1 ke padanan Rust, dan crate Rust bun_collections juga sudah ada
    Rewrite ini tampaknya sudah dipersiapkan sejak lama, dan seperti sesuatu yang diajukan tim Bun saat negosiasi akuisisi dengan Anthropic

    • Saat membaca tulisan soal LLM, rasanya sulit tahu mana yang benar, dan komentar Hacker News di sini juga sama
      Uang yang terlibat terlalu besar, jadi jelas ada insentif untuk menyusupkan buzzer marketing ke komunitas, dan sebagian orang juga cuma terjebak logika kubu
      Karena Anthropic sekarang memiliki Bun, mereka juga punya cukup banyak insentif untuk membuat pekerjaan ini tampak lebih mudah daripada kenyataannya
    • Terlepas dari faktor-faktor seperti apakah kualitas kode Rust hasilnya bagus, apakah jumlah barisnya masuk akal, dan seberapa siap codebase ini dari awal untuk pekerjaan semacam ini, dokumen 622 baris tampaknya biaya yang relatif kecil sebagai artefak pendahuluan yang bisa meningkatkan konsistensi atau kualitas dari keluaran sekitar 1 juta baris
      Skala output-nya sangat besar, jadi tampaknya ada efek pengganda di sini
      Tapi saya juga penasaran berapa banyak pengetahuan implisit yang dibutuhkan untuk membuat aturan ini, dan seberapa banyak file ini diiterasi dan diperbaiki
      Misalnya, saya ingin tahu berapa banyak aturan ini yang berasal dari kasus kegagalan yang ditemui selama proses iterasi translasi
    • Dikatakan using internal smart pointer types that map 1-to-1 to Rust equivalents, tapi smart pointer bukan diciptakan oleh Rust
      Kalau menulis kode dalam bahasa lain yang punya pointer, Anda sudah memodelkan tipe-tipe yang sama di kepala Anda
      Dan pernyataan bahwa crate Rust bun_collections sudah ada itu juga salah
      Itu hanya bagian dari PR codebase ini, bukan sesuatu yang sudah ada sebelumnya
    • Ini sama seperti saat demo gcc dari Anthropic
      Sangat mudah untuk mengurangi kecurigaan dan sekaligus memanaskan suasana IPO: cukup buka repositori terpisah untuk pekerjaan tersembunyi yang memang dibutuhkan untuk mendorong AI ini, lalu biarkan semua orang mereproduksi hasilnya
      Bukankah yang ingin dicapai pelanggan pada akhirnya juga kode 1 juta baris yang bisa dipakai dalam “7 hari”
      Semua orang bisa mencoba mereproduksinya dalam workflow mereka sendiri, dan metrik penggunaan Anthropic juga akan naik
      Kalau hasilnya benar-benar sekeren itu, rasanya mereka akan mulai dari sebuah posting blog lengkap dengan tautan dan instruksi
      Mungkin saat ini posting blog itu sedang ditulis dan saya akan terbukti salah
    • Tampaknya versi Zig dari Bun punya 3 tipe pointer yang bisa dipetakan dengan rapi ke tipe pointer Rust yang sudah ada, dan 7~8 sisanya perlu dibuatkan tipe baru
      Apakah itu inti dari teori konspirasinya
      bun_collections juga tidak terlihat jauh lebih tua daripada panduan porting itu
  • +1009257 -4024, jadi sekarang Bun punya 1 juta baris kode Rust
    Ukurannya mulai mendekati compiler Rust itu sendiri
    Meski begitu, BunJS pada dasarnya lebih mirip wrapper interpreter JavaScript dan reimplementasi library NodeJS, yaitu hampir seperti wrapper library standar Rust
    BunJS tampaknya mulai menjadi semacam kanaria untuk pengelolaan kompleksitas perangkat lunak di era LLM

    • mostly a JavaScript interpreter wrapper tidak akurat
      Bun adalah transpiler (parser) JavaScript dan CSS dengan baterai lengkap, minifier, bundler, package manager seperti npm, test runner seperti Jest, dan juga punya API runtime seperti klien Postgres, MySQL, dan Redis bawaan
      Wajar kalau jumlah kodenya jadi sangat besar
    • Bun bukan interpreter JavaScript, melainkan lebih dekat ke reimplementasi library NodeJS dan berbagai library lain
      Bun memakai JavaScriptCore sebagai mesin JS, jadi Bun sendiri tidak melakukan, atau setidaknya seharusnya tidak melakukan, parsing, interpretasi, dan JIT JavaScript
      Edit: saya salah baca. Tertulis “JavaScript interpreter wrapper”, jadi itu memang deskripsi yang tepat
    • Saya tidak tahu apakah iOS mendeteksinya sebagai nomor telepon karena + di depan atau ada faktor lain, tapi di seluler perubahan jumlah baris jadi bergaris bawah dan bisa ditekan untuk menelepon
      Kalau itu gara-gara ukuran diff, lumayan lucu juga
    • Codebase Bun sudah punya jumlah baris kode yang mirip bahkan sebelum rewrite
      Jadi hasil rewrite yang keluar dengan LOC serupa bukan hal yang aneh
    • Fakta bahwa wrapper JavaScriptCore bisa mencapai 1 juta baris adalah contoh yang bagus tentang apa yang bisa dilakukan agen
  • Hasil $ rg 'unsafe [{]' src/ | wc -l adalah 10428, dan hasil $ rg 'unsafe [{]' src/ -l | wc -l adalah 736
    Per bahasa: Rust 1443 file 929213 baris, Zig 1298 file 711112 baris, TypeScript 2604 file 654684 baris, JavaScript 4370 file 364928 baris, C 111 file 305123 baris, C++ 586 file 262475 baris, dan C Header 779 file 100979 baris

    • Menarik bahwa di Rust, Anda bisa mencari kode yang berpotensi tidak aman secara spesifik seperti ini
      Bagaimana cara mencari kode tidak aman di Zig?
      Atau kita cuma harus menganggap itu ada di mana-mana
    • Kalau setengah dari file berisi keyword unsafe, ini tidak terlihat seperti rewrite yang bagus
      Kalau hampir setengah kode masih unsafe, apa gunanya menulis ulang ke Rust
    • Semoga Mythos benar-benar sekelas terbaik di dunia seperti klaim mereka. Karena sekarang mereka akan sangat membutuhkannya
    • Di rumah sudah ada keamanan memori!
      Yang ada di rumah: 10428
  • Kami masih menulis posting blog yang membahas ini, dan akan membagikan lebih banyak detail
    Kalau Anda penasaran dengan latar belakangnya, lihat daftar perbaikan bug di catatan rilis Bun v1.3.14 dan rilis-rilis sebelumnya
    Rust tidak akan menangkap semuanya. Kebocoran yang terjadi karena menahan referensi terlalu lama atau masalah reentrancy saat melintasi boundary JS tetap menjadi tanggung jawab kami
    Tapi sebagian besar dari daftar itu adalah use-after-free, double-free, dan lupa membebaskan pada jalur error, dan hal-hal seperti itu akan menjadi error kompilasi atau berubah menjadi pembersihan otomatis

    • 9 hari lalu dia berkata begini[0]:
      I work on Bun and this is my branch
      This whole thread is an overreaction. 302 comments about code that does not work. We haven’t committed to rewriting. There’s a very high chance all this code gets thrown out completely.
      Mungkin ini memang bukan overreaction?
      [0]: https://news.ycombinator.com/item?id=48019226
    • Menantikan posting blog-nya
      Saya penasaran apakah ada rencana untuk menjalankan biner Zig dan Rust berdampingan pada berbagai aplikasi dunia nyata, atau kalau memungkinkan melakukan shadow run di produksi, demi menyaring bug
    • Kalau saya pelanggan berbayar, saya akan penasaran berapa biaya pekerjaan ini
      Apakah bisa memberi perkiraan kasar
    • Saya penasaran apakah mereka sudah menerapkan atau berencana menerapkan semacam fuzz test end-to-end yang membandingkan kedua biner
      Saya juga ingin tahu rencana konkret untuk merilis ini tanpa merusak workflow pengguna
    • Apakah ini berpotensi memperbaiki masalah stabilitas pada Bun Workers API? https://bun.com/docs/runtime/workers
  • Sekitar 9 hari lalu Jarred menulis bahwa sama sekali belum pasti ini akan di-merge dan bahwa reaksi ini berlebihan
    Ironis sekali

    • Ini terasa seperti contoh praktik terbaik kepemimpinan open source
      Bayangkan kegaduhan yang akan terjadi jika Linus mengatakan dia tidak akan menulis ulang kernel Linux lalu suatu hari bangun dan menggabungkan seluruh rewrite Rust berbantuan mesin
    • Kalau Anda sudah tidak lagi memiliki perusahaan itu, apa yang Anda katakan aman untuk diabaikan
      Sudah jelas dia harus membenarkan biaya token yang dikeluarkan
    • Tapi itu tidak berarti kemungkinan merge benar-benar tertutup
  • Wah, ini akan menarik untuk diikuti
    Tidak mungkin kode ini sudah direview, tapi mungkin kita sekarang sudah masuk ke era pasca-manusia di mana model bisa dipercaya untuk menulis dan mereview kode
    Ini seperti Gastown, hanya saja terjadi pada proyek yang jauh lebih terkenal
    Menarik melihat bagaimana proyek ini nanti bisa menambahkan fitur baru, atau apakah itu masih mungkin dilakukan
    Ada yang tahu sebenarnya Anthropic memakai Bun untuk apa?
    Apakah ini bagian dari Claude Code?
    Saya jadi cukup khawatir memakai Bun ke depan, walau saya kurang tahu sejauh mana kekhawatiran itu juga berlaku ke penggunaan Claude

    • Sama sekali bukan berarti model bisa dipercaya untuk menulis dan mereview kode
    • Semua tes lolos
      Kalau Anda tidak bisa mempercayai test suite untuk menangkap translasi bahasa otomatis, maka sejak awal Anda memang tidak bisa mempercayai test suite itu sama sekali :)
    • Saya tidak tahu Anthropic memakai Bun untuk apa, tapi tampaknya dipakai untuk menggeser jendela diskusi ke arah bahwa tidak apa-apa menggabungkan jutaan baris begitu saja
    • Seperti apa kondisi test suite-nya
  • Sebenarnya saya antusias melihat eksperimen translasi otomatis, tapi saya khawatir akan banyak muncul masalah kompatibilitas ke belakang
    Saya mulai melihat commit-nya, dan pada dasarnya masalah “tes tidak lolos” diselesaikan dengan mengubah tes itu sendiri
    Pekerjaan nyata untuk membuatnya benar-benar berjalan di program yang sudah terpasang sekarang barulah dimulai
    Untungnya, entah kenapa komunitas JS server-side tampaknya sudah terbiasa dengan seringnya perubahan yang merusak

    • Pikiran bahwa ada kode yang belum pernah dilihat satu orang pun masuk ke runtime yang saya pakai membuat saya tidak nyaman
      Tapi kalau ini benar-benar bekerja tanpa masalah besar, itu akan sangat mengejutkan
    • Saya tidak tahu apakah keputusan-keputusan ini dibuat oleh LLM, tapi saya selalu merasa Claude lebih cenderung melakukan hal mencurigakan seperti mengubah tes daripada menemukan solusi yang benar untuk masalahnya
      GPT/Codex lebih jujur dalam hal ini
    • Rasanya ini tidak akan langsung jadi rilis stabil, tapi saya akan senang jika terbukti salah
      Saya skeptis pada seluruh rewrite ini, dan Jarred Sumner punya pengikut internet yang sangat besar sehingga ini terasa seperti iklan
    • Contoh penyelesaian masalah “tes tidak lolos” dengan mengubah tes itu sendiri: https://github.com/oven-sh/bun/pull/30412/changes/68a34bf8ed...
      Hebat! Tinggal tambahkan sleep(1) secara sembarang ke tes. Tenang saja, semua akan baik-baik saja!
    • Saya ingin menelusuri tesnya untuk melihat apakah ada perubahan yang benar-benar penting, tapi GitHub bahkan tidak bisa memuat diff-nya
  • Beberapa proyek saya yang memakai Bun akan saya pindahkan ke hal lain
    Saya tidak percaya pada tata kelola yang membiarkan perubahan nekat seperti ini

    • Deno itu bagus, hanya saja menurut saya kurang mendapat cinta yang layak
      Dari awal sudah ditulis dengan baik, jadi tidak perlu di-rewrite
    • Saya sendiri akan tetap memakai node
      Di sisi lain, akan menarik melihat bagaimana baptisan api ini berjalan, dan dalam jangka panjang rasanya masalah-masalahnya pada akhirnya akan terselesaikan juga
  • Ada thread yang layak dilihat sebagai bahan pembelajaran. Seminggu lalu Jarred lagi-lagi menjaga jarak dari keputusan merge, sementara banyak pasukan pejalan kaki menyerang orang-orang yang memprediksi ini akan segera di-merge:
    https://news.ycombinator.com/item?id=48073680
    Kalau dilihat sekarang, ucapan itu jelas tidak bertahan dengan baik, ya?

    • Dari “Seluruh thread ini adalah overreaction. 302 komentar tentang kode yang tidak berfungsi. Kami belum berkomitmen untuk rewrite. Kemungkinan besar semua kode ini akan dibuang total” menjadi merge penuh hanya dalam 10 hari, bahkan termasuk hal-hal yang sebelumnya tampak seperti sekadar rasa ingin tahu eksperimental, itu terlihat benar-benar gila
    • Saya selalu terkejut melihat betapa banyak penjilat kekuasaan di dunia yang tampaknya tidak terlalu peduli sepatu bot siapa yang mereka jilati
  • Kalau ini sedikit saja salah, ejekan bahwa mereka bandar narkoba yang mabuk barang sendiri akan berlangsung tanpa akhir dan terasa muram

    • Terlalu banyak orang yang secara emosional tidak siap menghadapi kemungkinan bahwa ini sama sekali tidak salah
    • Bukankah hanya dengan melihat source Claude Code yang bocor saja sudah cukup untuk bahan ejekan
    • Mereka memang sudah mabuk barang sendiri
      Sudah baca makalah Mythos? Antropomorfismenya benar-benar parah
      Mungkin itu cuma cari perhatian murahan, tapi kalau mereka benar-benar percaya LLM itu punya kesadaran… wow