
Curso de programación en Zig
Domine Zig desde cero y escriba software rápido, seguro y de bajo nivel con control total sobre la memoria y el comportamiento. Este curso cubre todo, desde los fundamentos básicos del lenguaje hasta la programación de sistemas, la interoperabilidad con C y la metaprogramación avanzada en comptime. Si usted se toma en serio el desarrollo de sistemas, Zig le brinda la potencia de C con garantías de seguridad modernas.
Lo que vas a aprender:
Usted construirá una base completa en el sistema de tipos, el modelo de memoria y los patrones de manejo de errores de Zig. El curso cubre punteros, asignadores, segmentos y convenciones de propiedad para que usted gestione la memoria con precisión. Usted usará comptime para escribir estructuras de datos genéricas y abstracciones de costo cero. Los módulos de la biblioteca estándar para E/S, colecciones, hilos y pruebas se cubren en profundidad. Usted también compilará programas Zig para otras plataformas, interactuará con bases de código C y apuntará a sistemas embebidos. Al finalizar, usted escribirá código Zig con calidad de producción y con confianza.
Cómo estudias de forma práctica Curso de programación en Zig
Cómo practicas Curso de programación en Zig
Para ti que eres empresa y quieres capacitar a tu equipo
En Dedika para empresas, el curso incluye ejercicios y ejemplos adaptados a tu propio negocio y a las necesidades de tu empresa.
Contenido del curso
8 Capítulos • 37 LeccionesDuración entre 4 y 360 horas (tú decides)
Capítulo 1OcultarOcultar detallesVer detallesPrimeros Pasos con Zig
Primeros Pasos con Zig
Lección 1 • Fundamentos del Sistema de Construcción de Zig
Introduce el comando zig build, los archivos build.zig y los objetivos de compilación. Conecta el conocimiento de la cadena de herramientas con la creación práctica de proyectos.
Lección 2 • Instalación y Configuración de Zig
Guía la instalación de la cadena de herramientas Zig en los principales sistemas operativos y configura el soporte del editor. Asegura un entorno de construcción reproducible desde el primer día.
Lección 3 • Filosofía de Diseño y Objetivos de Zig
Cubre los principios fundamentales de Zig: sin flujo de control oculto, sin asignaciones ocultas y diseño basado en comptime primero. Establece el contexto para cada decisión tomada a lo largo del curso.
Lección 4 • Escribiendo su Primer Programa en Zig
Recorre un programa Hola Mundo mínimo, explicando cada token e importación. Construye fluidez de lectura antes de introducir la mecánica del lenguaje.
Capítulo 2OcultarOcultar detallesVer detallesTipos, Variables y Flujo de Control en Zig
Tipos, Variables y Flujo de Control en Zig
Lección 1 • Operadores y Expresiones
Revisa operadores aritméticos, a nivel de bits, de comparación y lógicos con su comportamiento de desbordamiento. Conecta la semántica de los operadores con la garantía de no comportamiento indefinido de Zig.
Lección 2 • Tipos Primitivos e Inferencia de Tipos
Cubre enteros, flotantes, booleanos y los tipos comptime_int/comptime_float. Explica cómo Zig infiere tipos y cuándo se requiere anotación explícita.
Lección 3 • Opcionales y Uniones de Error
Introduce los tipos opcionales ?T y los tipos de unión de error !T como herramientas de flujo de control de primera clase. Prepara a los estudiantes para el modelo de manejo de errores de Zig presentado en el próximo capítulo.
Lección 4 • Variables, Constantes y Mutabilidad
Distingue var de const y explica el enfoque de inmutabilidad por defecto de Zig. Refuerza el control explícito sobre la mutación de datos.
Lección 5 • Construcciones de Flujo de Control
Enseña las sentencias if, while, for y switch, incluyendo sus formas de expresión. Demuestra cómo el flujo de control se integra con el sistema de tipos de Zig.
Capítulo 3OcultarOcultar detallesVer detallesFunciones, Estructuras y Enumeraciones
Funciones, Estructuras y Enumeraciones
Lección 1 • Estructuras y Métodos
Define tipos struct, acceso a campos y sintaxis de métodos usando la convención del parámetro self. Muestra cómo las estructuras sirven como el mecanismo principal de encapsulación de Zig.
Lección 2 • Definiendo y Llamando Funciones
Cubre la sintaxis de funciones, paso de parámetros, tipos de retorno y funciones inline. Establece la base para toda abstracción en capítulos posteriores.
Lección 3 • Enumeraciones y Uniones Etiquetadas
Enseña la declaración de enum, métodos en enumeraciones y uniones etiquetadas para tipos suma. Se conecta con la coincidencia exhaustiva de switch cubierta en el capítulo anterior.
Lección 4 • Comptime en Funciones y Tipos
Introduce parámetros comptime y bloques comptime dentro de definiciones de funciones y tipos. Sienta las bases para la programación genérica cubierta en el Capítulo 5.
Capítulo 4OcultarOcultar detallesVer detallesGestión de Memoria y Punteros
Gestión de Memoria y Punteros
Lección 1 • Slices y Arrays
Distingue arrays de tamaño fijo de slices en tiempo de ejecución y explica la semántica de punteros fat. Se conecta con los patrones de iteración seguros introducidos en el Capítulo 2.
Lección 2 • Patrones de Seguridad de Memoria
Cubre defer para limpieza, convenciones de propiedad y cómo evitar use-after-free. Refuerza la filosofía de Zig de gestión de memoria explícita y auditable.
Lección 3 • Punteros y Tipos de Puntero
Cubre punteros de un solo elemento, punteros de muchos elementos y punteros constantes con su sintaxis. Construye modelos mentales precisos antes de introducir la asignación en el montón.
Lección 4 • La Interfaz Allocator
Explica la interfaz std.mem.Allocator y por qué Zig pasa los asignadores explícitamente. Establece el patrón utilizado por todas las estructuras de datos de la biblioteca estándar.
Lección 5 • Asignadores Estándar en la Práctica
Demuestra GeneralPurposeAllocator, ArenaAllocator, FixedBufferAllocator y el asignador de página. Los estudiantes eligen el asignador adecuado para cada caso de uso.
Capítulo 5OcultarOcultar detallesVer detallesGenéricos y Programación en Comptime
Genéricos y Programación en Comptime
Lección 1 • Inmersión Profunda en Evaluación en Comptime
Explora cómo Zig evalúa bloques comptime, variables comptime y bucles comptime. Construye intuición sobre lo que se ejecuta en tiempo de compilación versus tiempo de ejecución.
Lección 2 • Reflexión de Tipos con @typeInfo
Usa @typeInfo, @TypeOf y @typeName para inspeccionar tipos en tiempo de compilación. Permite escribir código que se adapta a diseños de struct o enum arbitrarios.
Lección 3 • Funciones y Tipos Genéricos
Muestra cómo escribir funciones y estructuras parametrizadas por argumentos de tipo comptime. Se conecta con el conocimiento de struct y funciones del Capítulo 3.
Lección 4 • Generación de Cadenas y Código en Comptime
Usa comptime para generar campos de struct, tablas de despacho y APIs basadas en cadenas. Demuestra patrones de metaprogramación comunes en bibliotecas de serialización y RPC.
Lección 5 • Construyendo Estructuras de Datos Genéricas
Implementa una pila, cola y lista enlazada genéricas usando parámetros de tipo comptime. Aplica todos los conceptos de comptime en un contexto práctico y comprobable.
Capítulo 6OcultarOcultar detallesVer detallesManejo de Errores y Código Robusto
Manejo de Errores y Código Robusto
Lección 1 • try, catch y errdefer
Demuestra try para propagación, catch para manejo local y errdefer para limpieza en caso de fallo. Conecta el manejo de errores con los patrones de seguridad de memoria del Capítulo 4.
Lección 2 • Pánicos, Aserciones e Inalcanzable
Explica @panic, std.debug.assert y unreachable para la aplicación de invariantes. Distingue errores recuperables de bugs de programación.
Lección 3 • Conjuntos de Error y Uniones de Error
Define conjuntos de error con nombre, conjuntos de error inferidos y tipos de retorno de unión de error. Establece el vocabulario para todos los patrones de manejo de errores en este capítulo.
Lección 4 • Diseñando APIs Resilientes a Errores
Cubre estrategias para exponer conjuntos de error mínimos, documentar modos de fallo y evitar la contaminación del conjunto de errores. Enseña disciplina de diseño de API junto con la mecánica del lenguaje.
Capítulo 7OcultarOcultar detallesVer detallesLa Biblioteca Estándar de Zig
La Biblioteca Estándar de Zig
Lección 1 • Pruebas con std.testing
Usa std.testing.expect, expectEqual y expectError para escribir pruebas unitarias. Establece un flujo de trabajo basado en pruebas para todo el trabajo de proyecto posterior.
Lección 2 • Concurrencia con Hilos y Atómicos
Introduce std.Thread, mutexes y operaciones atómicas para concurrencia de estado compartido. Prepara a los estudiantes para tareas de programación de sistemas que requieren paralelismo.
Lección 3 • Cadenas y Manejo de Unicode
Explica el modelo de cadena de slice de bytes de Zig, la iteración UTF-8 y el formateo con std.fmt. Aborda las trampas comunes al trabajar con datos de texto.
Lección 4 • Operaciones de E/S y Sistema de Archivos
Cubre lectores y escritores std.io, apertura, lectura y escritura de archivos. Conecta los patrones de asignador del Capítulo 4 con flujos de E/S con buffer.
Lección 5 • Colecciones: ArrayList, HashMap y Más
Demuestra std.ArrayList, std.StringHashMap y std.AutoHashMap con inyección de asignador. Aplica el conocimiento de contenedores genéricos del Capítulo 5.
Capítulo 8OcultarOcultar detallesVer detallesProgramación de Sistemas e Interoperabilidad con C
Programación de Sistemas e Interoperabilidad con C
Lección 1 • Objetivos Embebidos y Freestanding
Configura Zig para objetivos freestanding, deshabilita la biblioteca estándar y escribe código de inicio. Demuestra la idoneidad de Zig para desarrollo bare-metal y embebido.
Lección 2 • Llamando C desde Zig
Cubre @cImport, la traducción de encabezados C y el enlace con bibliotecas C. Permite la reutilización del vasto ecosistema C desde proyectos Zig.
Lección 3 • Exponiendo Zig a C
Enseña export, extern y compatibilidad ABI C para construir bibliotecas Zig consumidas por C. Completa el panorama de interoperabilidad bidireccional.
Lección 4 • Compilación Cruzada y Despliegue
Usa el compilador cruzado integrado de Zig para apuntar a múltiples arquitecturas desde un solo host. Produce binarios optimizados y enlazados estáticamente listos para despliegue.
Lección 5 • Interfaces de SO de Bajo Nivel
Usa std.os y std.posix para hacer llamadas al sistema, manejar señales y gestionar procesos. Fundamenta las capacidades de sistemas de Zig en programación práctica de SO.
Tu certificado válido de finalización
Este curso es para ti:
Desarrolladores de C: que buscan una alternativa más segura y expresiva sin sacrificar el rendimiento bruto.
Estudiantes de Rust: que desean un modelo mental más simple para el trabajo con sistemas de bajo nivel.
Ingenieros de sistemas embebidos: que necesitan control preciso del hardware y una sobrecarga mínima en tiempo de ejecución.
Desarrolladores de backend: listos para acercarse más al metal en servicios de rendimiento crítico.
Estudiantes de ciencias de la computación: que construyen conocimientos fundamentales de sistemas más allá de lo que cubren los cursos.
Contribuyentes de código abierto: con el objetivo de participar en proyectos de infraestructura y herramientas escritos en Zig.
Lo que dicen nuestros estudiantes
Sus clases son perfectas. Adquirí el paquete de un año y, finalmente, tengo la oportunidad de seguir diversos temas de mi interés sin necesidad de cambiar de plataforma... les agradezco por todo lo que hacen, ya los he recomendado a otras personas...

Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.

Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!

La plataforma es rápida, fácil de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.

Principales capacitaciones
Preguntas frecuentes
¿Quién es Dedika?
¿El certificado es válido en Colombia?
¿Los cursos son gratuitos?
¿Cuál es la carga horaria del curso?
¿Cómo son los cursos?
¿Cómo funcionan los cursos?
¿Cuál es la duración de los cursos?
¿Cuál es el costo o precio de los cursos?
¿Qué es un curso EAD u online y cómo funciona?
Curso en PDF




















