• Contact

Zig

  • Mise à jour le 2 avril 2026
  • 1 min. à lire

Zig est un langage de programmation système bas niveau, créé par Andrew Kelley en 2016, conçu comme une alternative moderne au C. Il vise à être simple, performant et sûr, sans sacrifier le contrôle sur la mémoire.

Caractéristiques principales

Fonctionnalité Description
Pas de GC Gestion manuelle de la mémoire via des allocators
comptime Exécution de code à la compilation (remplace macros et templates)
Interop C Import direct de headers C avec @cImport
Pas de macros Syntaxe uniforme et lisible
Cross-compilation Intégrée nativement dans le compilateur
Undefined behavior détecté Les overflows, pointeurs nuls etc. sont gérés explicitement

Exemple

const std = @import("std");

pub fn main() void {
    std.debug.print("Hello, {s}!\n", .{"world"});
}

L'une des forces de Zig est le comptime, qui permet d'exécuter du code arbitraire à la compilation :

fn multiply(comptime T: type, a: T, b: T) T {
    return a * b;
}

// Utilisable avec n'importe quel type numérique
const result = multiply(i32, 4, 5); // 20

À retenir

  • Zig est un remplaçant moderne du C : même niveau de contrôle, moins de pièges.
  • Le mot-clé comptime est la killer feature : il remplace les macros et les templates de façon élégante et lisible.
  • Zig peut compiler du code C existant directement, ce qui facilite la migration progressive.
  • Utilisé notamment pour des systèmes embarqués, des outils CLI performants et du WebAssembly.
tracking-thumb