What Zig Felt Like, Coming From Rust
A seasoned Rust developer trades expressive types and heavy IDEs for raw toolchains while porting a JSONPath parser to Zig....

I have spent the last seven years living inside the Rust ecosystem, swimming in fearless concurrency, obsessive borrow-checking, and richly expressive types that make compiler errors feel like personalized tutoring sessions. But itchiness happens. Mainly, i wanted to see what the fuss was about across the fence, with Zig – a language positioning itself as the rational, lightweight successor to C without the metaphysical baggage that modern systems languages often accumulate. To test its mettle, I decided against building a trivial toy calculator or a contrived Fibonacci benchmark; instead, I ported a complete RFC 9535 JSONPath query engine from my existing Rust codebase straight into native Zig.
The first punch to the gut arrived before I even wrote a functional line of code, coming directly from the state of tooling and IDE support. Jarringly, coming off polished setups like RustRover, stepping into Zig felt austere, offering little more than rudimentary syntax point out and hesitant autocompletion that occasionally gave up entirely. Panic? Not quite. Necessity forced me backward into the comforting simplicity of command-line workflows, resurrecting habits I thought I'd permanently traded away for graphical comfort. It turns out that when your IDE stops holding your hand, you actually start reading documentation and understanding how the underlying build system operates.

And what a build system it is. The core build.zig file completely redefined how I think about project orchestration, handling tests, filters, and compliance suites with an elegant transparency that makes modern toolchain bloat look embarrassing. [IMAGE]
Stripping away the multi-gigabyte IDE machinery triggered a strange domino effect in my daily workflow, pushing me out of heavy graphical environments entirely and straight into a lean terminal-based sanctuary of Helix. Alacritty, and Zellij. Zig didn't just give me a new syntax to parse in my head; it quietly exposed how dependent I'd become on heavy scaffolding just to write simple, low-level software.
Ultimately, trading type-safety luxury for Zig's stark, manual reality was a humbling reminder that good engineering often thrives best in the absence of excessive abstraction.








