Choisissez votre langue
Cours de programmation Zig
+ de 400 000 professionnels sur la plateforme
Exclusif aux entreprises

Cours de programmation Zig

Maîtrisez Zig depuis les bases et écrivez un logiciel bas niveau rapide et sûr avec un contrôle total sur la mémoire et le comportement. Ce cours couvre tout, des fondamentaux du langage à la programmation système, l'interopérabilité avec C et la métaprogrammation avancée avec comptime. Si vous êtes sérieux à propos du développement système, Zig vous offre la puissance du C avec des garanties de sécurité modernes.

Dedika pour les apprenants

Ce que votre équipe va maîtriser:

Vous construirez des fondations complètes dans le système de types de Zig, son modèle mémoire et ses schémas de gestion des erreurs. Le cours couvre les pointeurs, les allocateurs, les slices et les conventions de propriété pour que vous gériez la mémoire avec précision. Vous utiliserez comptime pour écrire des structures de données génériques et des abstractions à surcoût nul. Les modules de la bibliothèque logicielle standard pour les entrées-sorties, les collections, le threading et les tests sont couverts en profondeur. Vous compilerez également des programmes Zig de manière croisée, interfacerez avec des bases de code C et ciblerez des systèmes embarqués. À la fin, vous écrirez un code Zig de qualité production avec confiance.

Comment votre équipe apprend de façon pratique Cours de programmation Zig

Comment votre équipe pratique Cours de programmation Zig

Des professionnels de ces entreprises apprennent sur Dedika

ActemiumFR
Nunner LogisticsNL
GT Constructora GeotécnicaCR
Sydel StarBR
Metrô de São PauloBR
Aguas AndinasCL
DSMIN
MeridianbetRS
CDHCN

Contenu du cours

8 Chapitres • 37 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

Démarrage avec Zig

  • Leçon 1 • Les bases du système de construction Zig

    Présente la commande zig build, les fichiers build.zig et les cibles de compilation. Relie les connaissances de la chaîne d'outils à la création pratique de projets.

  • Leçon 2 • Installation et configuration de Zig

    Guide l'installation de la chaîne d'outils Zig sur les principaux systèmes d'exploitation et configure la prise en charge des éditeurs. Assure un environnement de construction reproductible dès le premier jour.

  • Leçon 3 • Philosophie de conception et objectifs de Zig

    Couvre les principes fondamentaux de Zig : aucun flux de contrôle caché, aucune allocation cachée et une conception privilégiant la compilation à la compilation. Donne le contexte de chaque décision prise tout au long du cours.

  • Leçon 4 • Écrire votre premier programme Zig

    Parcourt un programme Hello World minimal, en expliquant chaque jeton et chaque importation. Développe la fluidité de lecture avant d'introduire les mécanismes du langage.

Chapitre 2Voir les détails

Types, variables et flux de contrôle en Zig

  • Leçon 1 • Opérateurs et expressions

    Passe en revue les opérateurs arithmétiques, binaires, de comparaison et logiques avec leur comportement de débordement. Relie la sémantique des opérateurs à la garantie de comportement défini de Zig.

  • Leçon 2 • Types primitifs et inférence de types

    Couvre les entiers, les flottants, les booléens et les types comptime_int/comptime_float. Explique comment Zig infère les types et quand une annotation explicite est requise.

  • Leçon 3 • Optionnels et unions d'erreurs

    Présente les types optionnels ?T et les types d'union d'erreurs !T comme outils de flux de contrôle de première classe. Prépare les étudiants au modèle de gestion des erreurs de Zig présenté au chapitre suivant.

  • Leçon 4 • Variables, constantes et mutabilité

    Distingue var de const et explique l'approche de Zig par défaut pour l'immuabilité. Renforce le contrôle explicite sur la mutation des données.

  • Leçon 5 • Constructions de flux de contrôle

    Enseigne les instructions if, while, for et switch, y compris leurs formes d'expression. Montre comment le flux de contrôle s'intègre au système de types de Zig.

Chapitre 3Voir les détails

Fonctions, structures et énumérations

  • Leçon 1 • Structures et méthodes

    Définit les types de structure, l'accès aux champs et la syntaxe des méthodes en utilisant la convention du paramètre self. Montre comment les structures servent de mécanisme d'encapsulation principal de Zig.

  • Leçon 2 • Définir et appeler des fonctions

    Couvre la syntaxe des fonctions, le passage de paramètres, les types de retour et les fonctions inline. Établit la base de toute abstraction dans les chapitres suivants.

  • Leçon 3 • Énumérations et unions étiquetées

    Enseigne la déclaration d'énumération, les méthodes sur les énumérations et les unions étiquetées pour les types somme. Se connecte à la correspondance exhaustive switch couverte au chapitre précédent.

  • Leçon 4 • Comptime dans les fonctions et les types

    Présente les paramètres comptime et les blocs comptime dans les fonctions et les définitions de types. Pose les bases de la programmation générique couverte au chapitre 5.

Chapitre 4Voir les détails

Gestion de la mémoire et pointeurs

  • Leçon 1 • Slices et tableaux

    Distingue les tableaux de taille fixe des slices dynamiques et explique la sémantique des pointeurs larges. Se connecte aux modèles d'itération sécurisée présentés au chapitre 2.

  • Leçon 2 • Modèles de sécurité mémoire

    Couvre defer pour le nettoyage, les conventions de propriété et l'évitement des utilisations après libération. Renforce la philosophie de Zig d'une gestion de mémoire explicite et vérifiable.

  • Leçon 3 • Pointeurs et types de pointeurs

    Couvre les pointeurs sur un élément, les pointeurs sur plusieurs éléments et les pointeurs const avec leur syntaxe. Construit des modèles mentaux précis avant d'introduire l'allocation sur le tas.

  • Leçon 4 • L'interface d'allocateur

    Explique l'interface std.mem.Allocator et pourquoi Zig passe les allocateurs explicitement. Établit le modèle utilisé par toutes les structures de données de la bibliothèque standard.

  • Leçon 5 • Allocateurs standard en pratique

    Présente GeneralPurposeAllocator, ArenaAllocator, FixedBufferAllocator et l'allocateur de pages. Les étudiants choisissent le bon allocateur pour chaque cas d'utilisation.

Chapitre 5Voir les détails

Génériques et programmation comptime

  • Leçon 1 • Plongée approfondie dans l'évaluation comptime

    Explore comment Zig évalue les blocs comptime, les variables comptime et les boucles comptime. Développe l'intuition sur ce qui s'exécute à la compilation par rapport à l'exécution.

  • Leçon 2 • Réflexion de type avec @typeInfo

    Utilise @typeInfo, @TypeOf et @typeName pour inspecter les types à la compilation. Permet d'écrire du code qui s'adapte à des dispositions arbitraires de structures ou d'énumérations.

  • Leçon 3 • Fonctions et types génériques

    Montre comment écrire des fonctions et des structures paramétrées par des arguments de type comptime. Se connecte aux connaissances sur les structures et les fonctions du chapitre 3.

  • Leçon 4 • Chaînes comptime et génération de code

    Utilise comptime pour générer des champs de structure, des tables de répartition et des API basées sur des chaînes. Présente des modèles de métaprogrammation courants dans les bibliothèques de sérialisation et RPC.

  • Leçon 5 • Construction de structures de données génériques

    Implémente une pile générique, une file d'attente et une liste chaînée en utilisant des paramètres de type comptime. Applique tous les concepts comptime dans un contexte pratique et testable.

Chapitre 6Voir les détails

Gestion des erreurs et code robuste

  • Leçon 1 • try, catch et errdefer

    Présente try pour la propagation, catch pour la gestion locale et errdefer pour le nettoyage en cas d'échec. Relie la gestion des erreurs aux modèles de sécurité mémoire du chapitre 4.

  • Leçon 2 • Paniques, assertions et code inaccessible

    Explique @panic, std.debug.assert et unreachable pour l'application des invariants. Distingue les erreurs récupérables des bogues de programmation.

  • Leçon 3 • Ensembles d'erreurs et unions d'erreurs

    Définit des ensembles d'erreurs nommés, des ensembles d'erreurs inférés et des types de retour d'union d'erreurs. Établit le vocabulaire pour tous les modèles de gestion des erreurs de ce chapitre.

  • Leçon 4 • Conception d'API résilientes aux erreurs

    Couvre les stratégies pour exposer des ensembles d'erreurs minimaux, documenter les modes d'échec et éviter la pollution des ensembles d'erreurs. Enseigne la discipline de conception d'API parallèlement aux mécanismes du langage.

Chapitre 7Voir les détails

La bibliothèque standard Zig

  • Leçon 1 • Tests avec std.testing

    Utilise std.testing.expect, expectEqual et expectError pour écrire des tests unitaires. Établit un flux de travail piloté par les tests pour tout le travail de projet ultérieur.

  • Leçon 2 • Concurrence avec threads et atomiques

    Présente std.Thread, les mutex et les opérations atomiques pour la concurrence à état partagé. Prépare les étudiants aux tâches de programmation système nécessitant du parallélisme.

  • Leçon 3 • Gestion des chaînes et Unicode

    Explique le modèle de chaîne en slice d'octets de Zig, l'itération UTF-8 et le formatage std.fmt. Aborde les pièges courants lors du travail avec des données textuelles.

  • Leçon 4 • Opérations E/S et système de fichiers

    Couvre les lecteurs et rédacteurs std.io, l'ouverture, la lecture et l'écriture de fichiers. Relie les modèles d'allocateur du chapitre 4 aux flux E/S tamponnés.

  • Leçon 5 • Collections : ArrayList, HashMap et plus

    Présente std.ArrayList, std.StringHashMap et std.AutoHashMap avec injection d'allocateur. Applique les connaissances sur les conteneurs génériques du chapitre 5.

Chapitre 8Voir les détails

Programmation système et interopérabilité C

  • Leçon 1 • Cibles embarquées et autonomes

    Configure Zig pour les cibles autonomes, désactive la bibliothèque standard et écrit le code de démarrage. Montre l'adéquation de Zig pour le développement bare-metal et embarqué.

  • Leçon 2 • Appel de C depuis Zig

    Couvre @cImport, la traduction d'en-têtes C et la liaison avec des bibliothèques C. Permet la réutilisation du vaste écosystème C à partir de projets Zig.

  • Leçon 3 • Exposition de Zig à C

    Enseigne export, extern et la compatibilité ABI C pour la construction de bibliothèques Zig consommées par C. Complète le tableau de l'interopérabilité bidirectionnelle.

  • Leçon 4 • Compilation croisée et déploiement

    Utilise le compilateur croisé intégré de Zig pour cibler plusieurs architectures à partir d'un seul hôte. Produit des binaires optimisés et liés statiquement prêts pour le déploiement.

  • Leçon 5 • Interfaces OS de bas niveau

    Utilise std.os et std.posix pour effectuer des appels système, gérer les signaux et gérer les processus. Ancre les capacités système de Zig dans la programmation OS pratique.

Certification

Votre certificat valide de réussite

Ce cours est pour vous :

  • Développeurs C : à la recherche d'une alternative plus sûre et plus expressive sans sacrifier les performances brutes.

  • Apprenants Rust : souhaitant un modèle mental plus simple pour le travail bas niveau sur les systèmes.

  • Ingénieurs embarqués : ayant besoin d'un contrôle précis du matériel et d'une surcharge d'exécution minimale.

  • Développeurs backend : prêts à se rapprocher du matériel pour les services critiques en termes de performances.

  • Étudiants en informatique : acquérant des connaissances fondamentales sur les systèmes au-delà de ce que les cours proposent.

  • Contributeurs open-source : visant à participer à des projets d'infrastructure et d'outillage écrits en Zig.

Cours associés

FAQ

Qui est Dedika ?

Le certificat est-il valable au Cameroun ?

Les cours sont-ils gratuits ?

Quelle est la charge de travail du cours ?

Comment sont les cours ?

Comment fonctionnent les cours ?

Quelle est la durée des cours ?

Quel est le coût ou le prix des cours ?

Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?

Cours PDF