Elige tu idioma
Curso de programación en Zig
Más de 2 millones de estudiantes en todo el mundo

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.

Dedika para empresas

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.

Haz clic aquí

Contenido del curso

8 Capítulos • 37 LeccionesDuración entre 4 y 360 horas (tú decides)

Capítulo 1Ver detalles

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 2Ver detalles

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 3Ver detalles

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 4Ver detalles

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 5Ver detalles

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 6Ver detalles

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 7Ver detalles

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 8Ver detalles

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.

Certificación

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...
Giulio Carlo
Giulio CarloEstudiante de Marketing Digital
Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.
Mariana Ferres
Mariana FerresEstudiante de Fotografía
Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!
Luciana Alvarenga
Luciana AlvarengaEstudiante de Diseño de Uñas
La plataforma es rápida, fácil de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeEstudiante de Ingeniería de Prompt

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