Zig by Example: un repositorio para aprender Zig con ejemplos anotados

Fuentes: Zig by Example: a hands-on tour of Zig through annotated examples
Imagen generada por IA con el prompt: Minimalist editorial illustration of stacked code editor windows showing Zig syntax on a dark background, with neon green and amber accents, subtle terminal aesthetic, no people, no logos.
Imagen generada con IA

El repositorio "Zig by Example", mantenido por el usuario boringcollege en GitHub, ofrece una introducción práctica al lenguaje de programación Zig mediante una colección de ejemplos anotados. La propuesta sigue la misma filosofía didáctica que el popular "Go by Example" de Mark McGranaghan, del que se reconoce explícitamente la inspiración, y está dirigida a la versión 0.14 de Zig.

Zig es un lenguaje de sistemas de propósito general, compilado y de código abierto, que prioriza la robustez, el rendimiento óptimo y la simplicidad. Su diseño evita el flujo de control oculto, las asignaciones de memoria implícitas y el preprocesador, lo que permite a los desarrolladores razonar con precisión sobre lo que hace el código en tiempo de ejecución.

El recorrido del repositorio arranca con un programa "Hello, World" y avanza de forma progresiva por valores, variables, tipos numéricos (enteros, flotantes, vectores), cadenas, arrays, slices, structs, enums, uniones y funciones. A continuación cubre estructuras de control (if/else, switch, bucles while y for), gestión de errores y opcionales, punteros, multi-pointers, slices tratados como punteros, comptime y genéricos.

La parte más aplicada aborda la asignación de memoria, el uso de ArrayList, HashMap y listas enlazadas, pruebas automatizadas, formateo e impresión, entrada/salida de archivos, procesos, serialización JSON, generación de números aleatorios, ordenación, la biblioteca matemática, el sistema de compilación de Zig y la interoperabilidad con código C.

En conjunto, la guía funciona como un manual de referencia rápida y un recurso de autoaprendizaje: cada tema se aísla en un ejemplo breve, lo que facilita la consulta puntual y la experimentación directa. Es una vía de entrada útil para quienes conocen otros lenguajes de sistemas —como C, C++ o Rust— y quieren evaluar el enfoque de Zig para proyectos de bajo nivel, bibliotecas o tooling.