Перейти к основному содержимому

О разделе

Длинные листинги (от ~15 строк) вынесены в каталог code.spirzen.ru и подгружаются в статьях через ExternalCodeEmbed — так HTML энциклопедии не раздувается, а код остаётся с подсветкой, вкладками и сериями "шаг 1…N". Короткие фрагменты (одна строка, пара выражений) по-прежнему прямо в markdown. Диаграммы mermaid и интерактив — на месте или в play.spirzen.ru.

Раздел про язык Zig — системное программирование с явной памятью, comptime и C-совместимостью. Примеры кода ориентированы на компилятор 0.12+; язык до 1.0 может менять API — сверяйтесь с официальными release notes.

Сначала: Что такое код и как он работает — общая база — код, блок кода, компиляция и интерпретация, исходный, байт- и машинный код; в этом разделе — синтаксис и особенности языка.


Краткий глоссарий

ТерминСмысл
comptimeВычисления и типы на этапе компиляции
error setНабор именованных ошибок (error{ ... })
error unionТип !T — либо значение T, либо ошибка
sentinelМаркер конца, например [:0]u8 для C-строки
sliceСрез []T / []const T — указатель + длина
allocatorОбъект выделения/освобождения памяти, передаётся явно
defer / errdeferКод при выходе из scope; errdefer — только при ошибке

Порядок чтения

  1. Первая программа — установка и main
  2. Основы — синтаксис, память, ошибки, сборка
  3. Типы и память — типовая система
  4. Управляющие конструкцииif, циклы, операторы
  5. Функции и comptime — функции и метапрограммирование
  6. История и архитектура — контекст и принципы языка

Зачем этот раздел

Подборка по Zig в энциклопедии даёт маршрут от первой программы до архитектурных решений в системном коде. Материал построен так, чтобы вы сначала получили рабочую практику запуска и отладки, затем поняли модель памяти и ошибок, и только после этого переходили к comptime, FFI и кроссплатформенной сборке.

Такой порядок снижает перегрузку на старте: каждая новая тема опирается на предыдущую, а не требует изучать сразу весь стек языка.


Маршрут по уровню подготовки

ШагМатериалЗачем
1Первая программаУстановка, запуск, проверка toolchain
2Основы языка ZigТипы, ошибки, аллокаторы, build.zig
3Типы данных и управление памятьюПереход от теории к безопасной работе с данными
4Управляющие конструкции и операторыЛинейная логика, циклы, defer, предсказуемый flow
5Функции и comptimeОбобщение, compile-time проверки, API-дизайн
6Простые приложения на ZigПрактика на мини-проектах
7Архитектура системного программированияКак собирать масштабируемые проекты на Zig
8История языка ZigКонтекст, эволюция решений и экосистемы

Частые ошибки при старте

ОшибкаЧто делать
Прыжки между языкамиЗакройте одну "первую программу", потом сравнивайте
Код без запускаВыполните пример локально
Сразу большой фреймворкСначала база раздела, потом REST/UI

Что попробовать

  1. Шаг 1 из таблицы.
  2. Три непонятных термина из глоссария — откройте профильные статьи раздела и выпишите по одному рабочему примеру.
  3. Другой язык — только после своей рабочей первой программы.

Связанные материалы энциклопедии



В подборках

Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:

Бэкенд и серверная разработкаElixir — о разделе, Nim — о разделе, Scala — о разделе, Dart — о разделе, Haskell — о разделе, R — о разделе.