Что такое 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.
🔥 Ключевые возможности 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.
🆕 Что нового в Zig 0.16.0
- В/В как интерфейс: Все операции ввода-вывода теперь требуют экземпляра
Io, поддерживая потоковые, событийные и асинхронные бэкенды - Асинхронность и отмена операций: Встроенный параллелизм задач с Futures и Groups, стандартизированная отмена всех операций ввода-вывода
- Новые встроенные функции метапрограммирования:
@Typeзаменён специализированными буiltins (@Int,@Struct,@Union,@Enumи др.) для более чистого обобщённого кода - Нативное сжатие Deflate: Встроенное deflate-сжатие с производительностью, сравнимой с zlib, и упрощёнными API декомпрессии
- Улучшенные трассировки стека: Безопасное разворачивание стека на почти всех платформах с улучшенной отладочной информацией и поддержкой встроенных вызывающих
- Расширенная поддержка платформ: 8+ новых архитектур в CI, включая aarch64-freebsd, loongarch64, powerpc64le и s390x
📦 Установка из debian.griffo.io
Шаг 1: Добавить репозиторий
This repository uses reprepro, which is configured to keep only the latest version of each package. This means older builds are replaced when a new release ships — you cannot pin a specific version with
apt install zig=0.15.2 after 0.16.0 has been published.To let users keep a previous release installed alongside the current one, packages are now named by stability tier:
zig— meta-package, always pulls inzig-stablezig-stable— current stable release (e.g. 0.16.0)zig-oldstable— previous stable release (e.g. 0.15.2), installable alongsidezig-stablezig-0— deprecated, installzig-stableinstead
zig-stable and zig-oldstable register with update-alternatives
so you can switch the active /usr/bin/zig at any time.⬆️ Обновление до 0.16.0: Если у вас установлен
zig-0 из старой структуры пакетов, сначала удалите его:Шаг 2: Установить Zig
🎯 Примеры базового использования
Create a new project:
Compile a single file:
Use as C compiler:
🚀 Почему стоит выбрать 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 Jammy and Noble
- ✅ Zero Hassle: No manual compilation or complex setup required
📦 Репозиторий сборки пакетов
Пакеты Ubuntu автоматически собираются и поддерживаются в этих репозиториях GitHub:
- 🇿 zig-debian (stable) - Stable release builds
- 🇿 zig-master-debian (nightly) - Nightly development builds
🔗 Связанные пакеты
Также доступно из debian.griffo.io:
- ZLS Language Server - Поддержка IDE для Zig
- Ghostty Terminal - Быстрый эмулятор терминала
- Yazi File Manager - Файловый менеджер для терминала