HeadlinesBriefing favicon HeadlinesBriefing.com

Pengalaman Zig vs Rust: Rewrite JSONPath

Hacker News •
×

Setelah tujuh tahun sebagai pengembang Rust, saya mengeksplorasi Zig dengan mengimplementasikan ulang pustaka JSONPath saya (jsonpath-rust) sebagai zig-jsonpath. Kejutan pertama adalah dukungan IDE: Zig hanya menawarkan sedikit di luar penyorotan sintaks, memaksa saya kembali ke alat CLI. Hal ini ternyata menyegarkan; build.zig menangani pengujian dan rangkaian kepatuhan dengan elegan menggunakan perintah seperti `zig build test` dan `zig build compliance`. Pengalaman ini mengkatalisis peralihan saya dari IDE penuh ke setup helix + alacritty + zellij.

Filsafat struktur datar Zig berkontras dengan hierarki bersarang Rust. Sementara Rust mendorong fragmentasi file, Zig mendorong file yang lebih besar dan datar dengan konvensi penamaan sederhana seperti `model_<companion>`. Ini menskalakan lebih jauh dari yang diharapkan sebelum memerlukan hierarki sebenarnya. Gesekan impor dari nesting menghindari folder yang dalam, membuat navigasi melalui pemotongan bagian dalam file tunggal sangat efektif.

Datang dari gaya fungsional dan tipe ekspresif Rust, saya mengandalkan intuisi cross-language, mengakui bahwa keputusan Zig saya dibentuk oleh kebiasaan Rust daripada idiom Zig yang mendalam. Perbandingan terasa adil menggunakan spesifikasi JSONPath RFC 9535 — proyek nyata yang dapat digunakan, bukan mainan. Pendekatan low-level, ringan Zig sebagai penerus C terbukti menarik, meskipun kurva belajar melibatkan unlearning pola Rust.

Entitas Kunci: Perusahaan: Jet Brains