HeadlinesBriefing favicon HeadlinesBriefing.com

Experiencia Zig vs Rust: JSONPath

Hacker News •
×

Después de siete años como desarrollador de Rust, exploré Zig reimplementando mi biblioteca JSONPath (jsonpath-rust) como zig-jsonpath. La primera sorpresa fue el soporte del IDE: Zig ofrecía poco más que resaltado de sintaxis, obligándome a volver a las herramientas CLI. Esto resultó refrescante; build.zig maneja pruebas y suites de cumplimiento elegantemente con comandos como `zig build test` y `zig build compliance`. La experiencia catalizó mi cambio de un IDE completo a una configuración helix + alacritty + zellij.

La filosofía de estructura plana de Zig contrasta con las jerarquías anidadas de Rust. Mientras Rust fomenta la fragmentación de archivos, Zig empuja hacia archivos más grandes y planos con convenciones de nombres simples como `model_<companion>`. Esto escala más de lo esperado antes de requerir jerarquía real. La fricción de importación por anidamiento desalienta carpetas profundas, haciendo que la navegación por secciones en archivos únicos sea sorprendentemente efectiva.

Viniendo del estilo funcional y tipos expresivos de Rust, me apoyé en la intuición cross-language, reconociendo que mis decisiones en Zig estaban moldeadas por hábitos de Rust en lugar de idioms profundos de Zig. La comparación fue justa usando la especificación JSONPath de RFC 9535 — un proyecto real y usable en lugar de un juguete. El enfoque de bajo nivel y ligero de Zig como sucesor de C resulta convincente, aunque la curva de aprendizaje implica desaprender patrones de Rust.

Entidades clave: Empresas: Jet Brains