HeadlinesBriefing favicon HeadlinesBriefing.com

Experiência Zig vs Rust: reescrita JSONPath

Hacker News •
×

Após sete anos como desenvolvedor Rust, explorei Zig reimplementando minha biblioteca JSONPath (jsonpath-rust) como zig-jsonpath. A primeira surpresa foi o suporte da IDE: Zig oferecia pouco além de realce de sintaxe, forçando-me a voltar ao tooling CLI. Isso acabou sendo refrescante; build.zig lida com testes e suítes de conformidade elegantemente com comandos como `zig build test` e `zig build compliance`. A experiência catalisou minha mudança de uma IDE completa para um setup helix + alacritty + zellij.

A filosofia de estrutura plana do Zig contrasta com as hierarquias aninhadas do Rust. Enquanto Rust incentiva fragmentação de arquivos, Zig empurra para arquivos maiores e planos com convenções de nomeação simples como `model_<companion>`. Isso escala mais do que o esperado antes de exigir hierarquia real. O atrito de importação por aninhamento desencoraja pastas profundas, tornando a navegação via fatiamento de seções em arquivos únicos surpreendentemente eficaz.

Vindo do estilo funcional e tipos expressivos do Rust, apoiei-me na intuição cross-language, reconhecendo que minhas decisões em Zig foram moldadas por hábitos de Rust em vez de idioms profundos de Zig. A comparação pareceu justa usando a especificação JSONPath da RFC 9535 — um projeto real e utilizável em vez de um brinquedo. A abordagem de baixo nível e leve do Zig como sucessor do C prova ser convincente, embora a curva de aprendizado envolva desaprender padrões de Rust.

Entidades-chave: Empresas: Jet Brains