4 poin oleh GN⁺ 2023-11-04 | 1 komentar | Bagikan ke WhatsApp
  • Artikel tentang cara baru untuk menerapkan bahasa pemrograman dengan garbage collection (GC) ke WebAssembly (Wasm) secara efisien
  • Proposal garbage collection (GC) bertujuan mendukung bahasa GC di Wasm, dan ini penting karena popularitas bahasa-bahasa tersebut.
  • Artikel ini menggali detail teknis tentang bagaimana bahasa GC seperti Java, Kotlin, Dart, Python, dan C# dapat diporting ke Wasm.
  • Dua pendekatan utama dibahas: metode porting "tradisional" dan metode porting WasmGC.
  • Metode porting "tradisional" mencakup kompilasi implementasi bahasa yang sudah ada ke WebAssembly minimum viable product (WasmMVP) yang dirilis pada 2017.
  • Metode porting WasmGC mencakup kompilasi bahasa ke struktur GC milik Wasm itu sendiri, sebagaimana didefinisikan dalam proposal GC terbaru.
  • Artikel ini membahas trade-off teknis antara kedua pendekatan tersebut, terutama terkait ukuran dan kecepatan.
  • WasmGC memiliki beberapa keunggulan utama, tetapi juga memerlukan pekerjaan baru pada toolchain dan virtual machine (VM).
  • Artikel ini juga menjelaskan pekerjaan yang dilakukan tim V8 di area-area tersebut, termasuk angka benchmark.
  • Artikel ini ditutup dengan harapan bahwa WasmGC merupakan cara baru yang menjanjikan untuk mengimplementasikan bahasa GC di WebAssembly, dan bahwa port WasmGC akan menjadi teknik yang populer karena keunggulannya.

1 komentar

 
GN⁺ 2023-11-04
Komentar Hacker News
  • Artikel tentang pengenalan bahasa pemrograman dengan garbage collection ke WebAssembly (WASM)
  • Menyoroti potensi "pinggang ramping" WASM, serta antusiasme para komentator terhadap pengembangan bahwa garbage collector dan N+M lebih unggul daripada N×M
  • Rasa penasaran tentang keberadaan JVM ke WASM, dan seorang komentator menemukan salah satunya di GitHub
  • Potensi thread WASM untuk menyediakan paralelisme sejati, dengan harapan ini dapat secara efektif menyelesaikan masalah asinkron, paralelisme, dan garbage collection
  • Disebutkan bahwa alat Julia WASM mungkin dapat mendukung fitur ini, dengan contoh mengompilasi solver ODE ke WASM
  • Membandingkannya dengan sentimen "wasm adalah llvm baru", dan skeptisisme sebagian komentator yang mempertanyakan kapan penerapan yang lebih luas akan memungkinkan
  • Rilis fitur ini dianggap mengesankan, dan sebagian komentator meragukan bahwa hal ini bisa terwujud
  • Kekhawatiran tentang kompleksitas browser masa kini dan kurva pembelajaran yang curam untuk membuat browser sendiri
  • Harapan akan masa depan di mana biner wasm dapat digunakan sebagai titik masuk situs web, yang dapat meningkatkan waktu mulai aplikasi web dinamis
  • Dukungan wasm baru di Kotlin dianggap menarik, dan versi eksperimental Compose Multiplatform mendukung penargetan browser dengan menggunakan WASM
  • Sebagian skeptisisme terhadap meningkatnya kompleksitas WebAssembly akibat pengenalan garbage collector
  • Pertanyaan mengapa posting blog tersebut tidak menyebut Go, dengan dugaan bahwa Go mungkin tidak akan mendapat manfaat dari perubahan ini
  • Perbandingan dengan penciptaan ulang Java applet, serta usulan bahwa menghidupkan kembali Java applet dapat menyelesaikan banyak masalah