2 poin oleh GN⁺ 2023-07-01 | 2 komentar | Bagikan ke WhatsApp
  • Proyek Zig mengusulkan penghapusan library LLVM, Clang, dan LLD.
  • Zig berencana memiliki pass optimisasi sendiri serta menarik proyek riset dan kontribusi dari produsen chip.
  • Penghapusan kemampuan kompilasi C++, Objective-C, dan Objective-C++ dari Zig.
  • Kode mesin yang dihasilkan Zig mungkin akan kurang kompetitif dalam waktu dekat, tetapi dalam jangka panjang dapat menyamai atau melampaui LLVM dan GCC.
  • Manfaat penghapusan LLVM mencakup kepemilikan bug, build dan bootstrapping yang lebih mudah, kecepatan kompilasi yang lebih tinggi, serta kemampuan mengimplementasikan pass optimisasi kustom.
  • Muncul kekhawatiran tentang dampaknya pada proyek yang bergantung pada kompilasi C++ dan penurunan tingkat adopsi Zig.
  • Menghapus ketergantungan pada DirectXShaderCompiler dan kompiler shader Metal milik Apple mungkin akan sulit.
  • Dalam jangka panjang, didorong peralihan ke solusi Zig murni.
  • Beberapa pengguna khawatir tentang dampaknya terhadap pengalaman pengembangan game serta penggunaan library dan alat C++ yang sudah ada.
  • Kesederhanaan dan kemampuan lintas platform Zig mendapat pujian.
  • Ada usulan untuk tetap mempertahankan backend LLVM sebagai opsi default, atau mempertahankan dukungan keluarga C sambil menghapus penurunan ke LLVM IR.
  • Pengguna menekankan pentingnya kemampuan Zig untuk mengompilasi kode C/C++ dengan mulus dan menghasilkan biner berperforma baik.
  • Dibahas potensi hilangnya library yang ada dan perlunya alternatif untuk kompilasi JIT.
  • Usulan ini dipandang sebagai dampak yang sepenuhnya negatif bagi pengguna dan berpotensi sebagai umpan.
  • Ditekankan pentingnya mempertahankan kemampuan Zig untuk cross-compilation dan integrasi library yang sudah ada.
  • Ada usulan untuk menghapus ketergantungan pada LLVM dan LLD sambil mempertahankan clang sebagai ketergantungan opsional.
  • Muncul kekhawatiran tentang dampaknya terhadap performa dan kelayakan pengganti LLVM.
  • Ditekankan pentingnya dukungan kompilasi C++ untuk pengembangan game dan proyek lainnya.
  • Disebutkan kemungkinan Zig dapat menggantikan fungsi LLVM seiring waktu.
  • Dibahas kebutuhan akan jaminan performa yang masuk akal dan potensi hilangnya peluang optimisasi.
  • Disebutkan dampaknya terhadap library dan alat tertentu seperti ImGui dan Tracy.
  • Usulan menghapus LLVM dari toolchain Zig dapat menyebabkan perpecahan di komunitas Zig.
  • Beberapa pengguna mungkin akan memakai versi Zig yang lebih lama untuk menghindari migrasi.
  • Mempertahankan LLVM memiliki tantangan dan keterbatasan.
  • Sistem plugin untuk kompiler Zig dapat menjadi solusi jangka panjang.
  • Kompilasi program Zig ke platform dan bahasa lain masih dapat terus didukung.
  • Zig cc, fitur khas Zig, dapat terus berkembang sebagai proyek tersendiri.
  • Belum ada keputusan final atas usulan ini.
  • Diskusi tentang penghapusan LLVM menyebar di media sosial.
  • Zig cc sangat dihargai komunitas dan menawarkan keunggulan dibanding toolchain lain.
  • Mempertahankan Zig cc tanpa Clang dimungkinkan.
  • Proyek terpisah yang membundel Clang dapat mendukung use case yang ada untuk membangun kode C++ dengan Zig.
  • Pemisahan alat secara terpisah atau merekrut maintainer untuk mempertahankan Zig cc dianggap sebagai solusi potensial.
  • Dapat dikembangkan alat migrasi untuk codebase yang bergantung pada fitur yang dihapus.
  • Seorang software engineer baru-baru ini memindahkan proyek ke versi GHC terbaru yang memakai native code generator untuk memberikan kecepatan kompilasi lebih tinggi.
  • Proyek Silk.NET menggunakan zig cc dan zig c++ untuk menyediakan lingkungan build yang reproducible bagi native library, sehingga memungkinkan cross-compilation yang mudah dan setup lokal.
  • Seorang software engineer menggunakan zig cc dan zig c++ dalam proyek pribadi untuk memungkinkan cross-compilation library yang mudah dan satu konfigurasi build.zig.
  • Kompiler Intel C/C++ telah menyelesaikan adopsi LLVM, menawarkan waktu kompilasi lebih cepat, optimisasi lebih baik, dan dukungan offloading GPU serta FPGA.
  • Usulan memindahkan bagian llvm Zig ke proyek terpisah yang dikelola komunitas mendapat tanggapan beragam.
  • Sebagian pengguna menyatakan kekhawatiran atas penghapusan dukungan C++ di Zig, sementara yang lain berpendapat dukungan tersebut mahal dan tidak tercakup dalam anggaran.
  • Tim Zig menyarankan bahwa orang-orang yang menganggap dukungan C++ penting sebaiknya mempertimbangkan untuk berkontribusi secara finansial atau waktu guna mendukung fitur tersebut.
  • Beberapa pengguna berpendapat penghapusan LLVM mungkin membawa manfaat jangka panjang, tetapi menyatakan kekhawatiran terhadap penghapusan total dukungan C++ dan Obj-C(++).
  • Ada usulan untuk mengecilkan kompiler Zig menjadi biner yang lebih kecil dan ringan, lalu menambahkan fitur LLVM sebagai ekstensi.

2 komentar

 
alstjr7375 2023-07-02

Apakah optimisasi dan dukungan platformnya bisa setara dengan LLVM..

 
GN⁺ 2023-07-01
Opini Hacker News
  • Tim pengembang Zig sedang mempertimbangkan untuk menghapus ketergantungan pada LLVM
  • Beberapa orang khawatir peralihan dari LLVM ini akan mengalihkan fokus tim Zig dari Zig itu sendiri
  • Yang lain percaya menulis ulang sebagian LLVM di Zig bisa menjadi proyek yang keren dan ambisius
  • Jika Zig tidak lagi bergantung pada LLVM, muncul kekhawatiran soal pembuatan kode dan bootstrapping
  • Sebagian orang merasa menghapus LLVM adalah keputusan yang tergesa-gesa dan dapat membatasi dukungan platform Zig
  • Seorang komentator mengkritik proposal tersebut karena meremehkan beban kerja dan mengabaikan pekerjaan pada LLVM
  • Pengorbanan dari penghapusan LLVM mencakup hilangnya kompatibilitas C++ dan potensi penurunan performa
  • Beberapa pengguna khawatir penghentian dukungan untuk arsitektur tertentu akan memengaruhi popularitas Zig
  • Seorang komentator menyebut popularitas Zig sebagian berasal dari kompatibilitas C/C++ dan kemudahan instalasi
  • Ada usulan agar Zig memakai bytecode kustom untuk build debug dan tetap bergantung pada LLVM untuk build rilis
  • Bahasa D memiliki beberapa compiler dengan berbagai backend, dan pengguna menghargai adanya pilihan ini
  • Toolchain Zig mendapat apresiasi, dan penghapusan Zig cc serta Zig c++ dapat membuat pengguna bahasa ini ragu
  • Beberapa komentator percaya keputusan menghapus fitur C++ bisa merugikan kesuksesan masa depan Zig.