Qu\'est-ce que Zig ?
Zig is a general-purpose programming language and toolchain designed for maintaining robust, optimal, and reusable software. Created by Andrew Kelley, Zig aims to be a better alternative to C, offering modern language features while maintaining the simplicity and performance that systems programmers need.
🔥 Caractéristiques principales de Zig
⚡ Simple & Fast
No hidden control flow, no hidden memory allocations, no preprocessor. Focus on debugging your application, not your language knowledge.
🔧 Comptime Magic
Compile-time code execution and lazy evaluation. Call any function at compile-time and manipulate types as values without runtime overhead.
🌐 Cross-Compilation
Built-in cross-compilation support for dozens of targets. No external dependencies needed for most platforms.
🔄 C/C++ Interop
Use Zig as a drop-in C/C++ compiler with better cross-compilation. Incrementally adopt Zig in existing codebases.
🆕 Nouveautés dans Zig 0.16.0
- E/S en tant qu'interface : Toutes les E/S nécessitent désormais une instance
Io, permettant des backends asynchrones, threadés et événementiels - Async et annulation : Concurrence de tâches intégrée avec Futures et Groups, plus une annulation standardisée pour toutes les opérations E/S
- Nouveaux builtins de métaprogrammation :
@Typeremplacé par des builtins ciblés (@Int,@Struct,@Union,@Enum, etc.) pour un code générique plus propre - Compression Deflate native : Deflate intégré avec des performances comparables à zlib et des API de décompression simplifiées
- Meilleures traces de pile : Déroulement sécurisé de la pile sur presque toutes les plateformes avec de meilleures informations de débogage et le support des appelants inline
- Support de plateformes élargi : 8+ nouvelles architectures en CI incluant aarch64-freebsd, loongarch64, powerpc64le et s390x
📦 Installation depuis debian.griffo.io
Étape 1 : Ajouter le dépôt
Ce dépôt utilise reprepro, configuré pour ne conserver que la dernière version de chaque paquet. Les anciennes versions sont remplacées lors d'une nouvelle publication — vous ne pouvez pas épingler une version spécifique avec
apt install zig=0.15.2 après la publication de 0.16.0.Pour permettre aux utilisateurs de garder une version précédente installée en parallèle, les paquets sont désormais nommés par niveau de stabilité :
zig— méta-paquet, installe toujourszig-stablezig-stable— version stable actuelle (ex. 0.16.0)zig-oldstable— version stable précédente (ex. 0.15.2), installable en parallèle aveczig-stablezig-0— obsolète, installezzig-stableà la place
zig-stable et zig-oldstable s'enregistrent avec update-alternatives
pour vous permettre de basculer le /usr/bin/zig actif à tout moment.⬆️ Mise à niveau vers 0.16.0 : Si vous avez
zig-0 installé depuis l'ancienne structure de paquets, vous devez d'abord le supprimer :Étape 2 : Installer Zig
🎯 Exemples d'utilisation de base
Create a new project:
Compile a single file:
Use as C compiler:
🚀 Pourquoi choisir debian.griffo.io ?
- ✅ Always Latest: Get Zig 0.15.2 immediately, not months later
- ✅ Nightly Builds: Access cutting-edge features with zig-master package
- ✅ Automatic Updates: Packages updated within hours of upstream releases
- ✅ Proper Dependencies: Correctly packaged with all required dependencies
- ✅ Multi-Distribution: Works on Bookworm, Trixie, and Sid
- ✅ Zero Hassle: No manual compilation or complex setup required
📦 Dépôt de construction de paquets
Les paquets Debian sont automatiquement construits et maintenus dans ces dépôts GitHub :
- 🇿 zig-debian (stable) - Stable release builds
- 🇿 zig-master-debian (nightly) - Nightly development builds
🔗 Paquets associés
Également disponible depuis debian.griffo.io :
- ZLS Language Server - IDE support for Zig
- Ghostty Terminal - Fast terminal emulator
- Yazi File Manager - Terminal file manager