Pragmatic AI Labs

Zig à partir de zéro

Obtenez l'une de nos meilleures offres avec Coursera Plus pour 199 $ (habituellement 399 $). Économisez maintenant.

Pragmatic AI Labs

Zig à partir de zéro

Noah Gift

Instructeur : Noah Gift

Inclus avec Coursera Plus

Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
niveau Débutant

Expérience recommandée

4 heures à compléter
Planning flexible
Apprenez à votre propre rythme
Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
niveau Débutant

Expérience recommandée

4 heures à compléter
Planning flexible
Apprenez à votre propre rythme

Ce que vous apprendrez

  • Lire et écrire sur Zig — y compris les quatre allocateurs de la bibliothèque standard (GPA, Arena, FixedBuffer, page_allocator) — et transposer chaque idiome en Rust

  • Compilez un petit binaire Zig à liaison statique et intégrez-le dans un Dockerfile en plusieurs étapes qui génère une image de conteneur d'un kilo-octet

  • Choisissez le langage de programmation au sein d'une équipe réelle : optez pour Zig si vous privilégiez un faible encombrement mémoire, un démarrage à froid rapide et l'interopérabilité avec le C ; restez sur Rust pour les services fonctionnant en continu.

Compétences que vous acquerrez

  • Catégorie : Interopérabilité
  • Catégorie : Systèmes embarqués
  • Catégorie : Optimisation des performances
  • Catégorie : Ingénierie des données
  • Catégorie : Développement multiplateforme
  • Catégorie : Autres langages de programmation
  • Catégorie : Gestion de la mémoire
  • Catégorie : Génie logiciel
  • Catégorie : C et C++
  • Catégorie : Conteneurisation
  • Catégorie : Déploiement des applications
  • Catégorie : Informatique en nuage

Outils que vous découvrirez

  • Catégorie : Rust (langage de programmation)
  • Catégorie : Go (Langage de programmation)
  • Catégorie : Interface de ligne de commande
  • Catégorie : Docker (Logiciel)

Détails à connaître

Certificat partageable

Ajouter à votre profil LinkedIn

Récemment mis à jour !

avril 2026

Évaluations

3 devoirs

Enseigné en Anglais

Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées

 logos de Petrobras, TATA, Danone, Capgemini, P&G et L'Oreal

Élaborez votre expertise du sujet

Ce cours fait partie de la Spécialisation "Rust pour l'ingénierie des données"
Lorsque vous vous inscrivez à ce cours, vous êtes également inscrit(e) à cette Spécialisation.
  • Apprenez de nouveaux concepts auprès d'experts du secteur
  • Acquérez une compréhension de base d'un sujet ou d'un outil
  • Développez des compétences professionnelles avec des projets pratiques
  • Obtenez un certificat professionnel partageable

Il y a 7 modules dans ce cours

La structure en quatre cartes — mémoire, erreurs, génériques, nettoyage — et les quatre essais qui l’accompagnent, comparant chaque carte à l’idiome Rust qu’elle remplace. Les paramètres de l’allocateur sont transmis à chaque signature de fonction au lieu des annotations de durée de vie ; !T suivi de try remplace Result suivi de l’opérateur point d’interrogation ; le type comptime T remplace les limites de trait, derive et macro_rules ; et defer suivi de errdefer remplace impl Drop par un nettoyage plus fin et visible au niveau lexical.

Inclus

1 vidéo3 lectures1 devoir

Installez Zig 0.13, compilez un programme « hello-world » avec la commande `zig build-exe`, testez les quatre modes de compilation — Debug, ReleaseSafe, ReleaseFast, ReleaseSmall — sur le même fichier source, puis effectuez une compilation croisée vers une cible Linux musl à l'aide d'un seul indicateur `-target`. Le résultat de cette semaine, c’est le moment où un binaire Linux est généré à partir d’un hôte macOS sans chaîne d’outils supplémentaire — la même primitive qui sous-tend tous les déploiements ultérieurs sur Lambda et les environnements d’exécution en périphérie.

Inclus

1 vidéo3 lectures

Matrice d'optimisation pour une multiplication matricielle de 4096 × 4096 — comparaison entre Zig, Rust et Go sur la même charge de travail — mesurant la taille des binaires, le démarrage à froid et le débit en régime permanent pour les quatre modes de déploiement. Au cours de cette semaine, les participants apprennent à mettre en place la boucle de mesure qui transforme la question « Est-ce plus rapide ? » en « De combien, sur quelle dimension, par rapport à quelle référence ? » — cette même boucle qui guidera les décisions concernant Lambda et la périphérie au cours des semaines suivantes.

Inclus

1 vidéo2 lectures

Compilez l'outil en ligne de commande « marcopolo » à partir de `std.process.argsAlloc` avec un `GeneralPurposeAllocator` et `std.testing.allocator` afin qu’une fuite fasse échouer la suite de tests, puis comparez les quatre allocateurs de la bibliothèque standard côte à côte : GPA pour le code d’application avec détection des fuites en mode débogage, ArenaAllocator pour les portées de type « parse-and-discard » qui libèrent tout en une seule opération de désinitialisation, FixedBufferAllocator pour les tampons exclusivement en pile sans tas, et page_allocator pour les allocations directes basées sur mmap.

Inclus

2 vidéos4 lectures1 devoir

Un serveur HTTP de 30 lignes utilisant std.net et std.http, puis le Dockerfile en plusieurs étapes qui permet d’obtenir une image finale de quelques mégaoctets par rapport à une base de départ, puis la carte des cas d’utilisation pour AWS Lambda, les environnements d’exécution en périphérie et les cibles embarquées, où l’empreinte binaire et le budget de démarrage à froid priment sur la valeur de la charge de travail par rapport au gain en temps de compilation apporté par le vérificateur d’emprunts.

Inclus

2 vidéos4 lectures

Les idiomes Zig qui posent problème aux développeurs Rust, quand privilégier une branche « comptime » plutôt qu’une branche « runtime », la règle de décision « Rust ou Zig » pour une équipe d’ingénierie des données, les modèles FFI qui permettent à Zig d’appeler Rust et à Rust d’appeler Zig via une interface C-ABI, et la feuille de route vers Zig 1.0 qui vous indique quelles fonctionnalités de la version 0.13 sont suffisamment stables pour être intégrées dès aujourd’hui, et lesquelles nécessitent une stratégie de drapeaux de fonctionnalité.

Inclus

1 vidéo2 lectures

Un exercice pratique de synthèse qui rassemble tous les frameworks et modèles abordés des semaines 1 à 6 au sein d’un composant Zig prêt à être déployé en production. Choisissez une cible Lambda ou Edge, appliquez le cadre à quatre cartes à la charge de travail, construisez le gestionnaire Zig en séparant la logique du câblage, déployez le Dockerfile en plusieurs étapes sur une base vierge, et ajoutez l’assistant assertInvariant de named-contract qui se déclenche au démarrage du conteneur avant que le binaire ne récupère sa première invocation. L’implémentation de référence sur laquelle reposent tous les livrables est disponible à l’adresse https://github.com/paiml/zig-from-zero — l’espace de travail comprend cinq démos (hello, marcopolo, http-server, sqlite-ws, lambda) qui couvrent tous les allocateurs de la bibliothèque standard et toutes les cibles de déploiement abordées dans le cours.

Inclus

3 lectures1 devoir

Obtenez un certificat professionnel

Ajoutez ce titre à votre profil LinkedIn, à votre curriculum vitae ou à votre CV. Partagez-le sur les médias sociaux et dans votre évaluation des performances.

Instructeur

Noah Gift
Pragmatic AI Labs
61 Cours6 315 apprenants

Offert par

Pragmatic AI Labs

En savoir plus sur Développement de logiciels

  • Statut : Essai gratuit

    Pragmatic AI Labs

  • Statut : Essai gratuit

    Pragmatic AI Labs

  • Statut : Essai gratuit

    Pragmatic AI Labs

  • Statut : Essai gratuit

    Pragmatic AI Labs

Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?

Felipe M.

Étudiant(e) depuis 2018
’Pouvoir suivre des cours à mon rythme à été une expérience extraordinaire. Je peux apprendre chaque fois que mon emploi du temps me le permet et en fonction de mon humeur.’

Jennifer J.

Étudiant(e) depuis 2020
’J'ai directement appliqué les concepts et les compétences que j'ai appris de mes cours à un nouveau projet passionnant au travail.’

Larry W.

Étudiant(e) depuis 2021
’Lorsque j'ai besoin de cours sur des sujets que mon université ne propose pas, Coursera est l'un des meilleurs endroits où se rendre.’

Chaitanya A.

’Apprendre, ce n'est pas seulement s'améliorer dans son travail : c'est bien plus que cela. Coursera me permet d'apprendre sans limites.’

Foire Aux Questions