Zig by Example: 44 главы — и тред сразу проверил версию

Тур по Zig в стиле «Go by Example» — 44 аннотированные главы. Читателям понравился формат, и они открыли репозиторий: примеры рассчитаны на Zig 0.14, встроенные функции не компилируются, а через три коммита кто-то спросил, не проще ли спросить у LLM.

Вкратце

Zig by Example — практический учебник по Zig из 44 аннотированных глав: от Hello World до многопоточности и взаимодействия с C, явно смоделированный по образцу Go by Example. Уже через час тред нашёл слабое место: примеры рассчитаны на устаревшую версию Zig, и изменения печати и форматирования после «writergate» их ломают.

Повторяющаяся альтернатива в треде — Ziglings: написанный людьми, упомянутый на официальном сайте набор упражнений, который следует за каждым новым релизом Zig.

Клон «Go by Example» для Zig — 44 главы

Репозиторий Zig by Example
Репозиторий Zig by Example

Zig by Example — практическое введение в системный язык Zig, построенное на аннотированных примерах кода: 44 главы от базового синтаксиса (Hello World, переменные, типы данных) до многопоточности, сетевого взаимодействия, JSON и работы с C. Уроки в Markdown — в папке content/, запускаемый код — в examples/. README честно сообщает о происхождении: проект «вдохновлён Go by Example Марка МакГрэнахана» и следует той же педагогической модели — одна концепция на страницу. Автор — Дариуш Аббаси под образовательным аккаунтом Boring College.

Формат понравился новичкам — «читается быстро и легко, для такого как я — отлично!» — но опытные пользователи Zig в треде сразу полезли проверять номер версии, и здесь всё рассыпалось.

Рефлекс треда: «инстинкт подсказал проверить версию Zig»

Zig не достиг версии 1.0 и меняется быстро, поэтому актуальность учебника — его главное свойство. Первый содержательный комментарий и несколько последующих констатировали: ресурс уже устарел:

«Примеры рассчитаны на Zig 0.14. С тех пор были существенные изменения — прежде всего в печати и форматировании (см. writergate).» — комментатор, отметивший устаревшую версию

«Инстинкт подсказал проверить версию Zig. «Примеры рассчитаны на Zig 0.14.» Ну вот и ответ.» — читатель, который первым делом проверил версию

Критика заострилась от «устарело» до «не компилируется». Один комментатор написал, что встроенные функции в примерах вообще не собираются и назвал это «минимум двухлетним отставанием»; другой, просмотрев все главы, счёл примеры «слишком простыми для полноценной демонстрации синтаксиса и семантики Zig». Происхождение было оценено прямо — «устаревший и сгенерированный ИИ», — а трёхкоммитный репозиторий породил неизбежный вопрос: «Почему бы просто не спросить Claude или ChatGPT?»

Рекомендация консенсуса: Ziglings — написано и проверено людьми

Тред уберёгся от превращения в свалку критики: он самоскорректировался в по-настоящему полезный список ресурсов. Повторяющейся рекомендацией стал Ziglings — поддерживаемый людьми, упомянутый на официальном сайте набор упражнений из «почти рабочих программ, которые нужно починить»:

«Если хотите хороший интерактивный учебник по Zig на примерах — смотрите Ziglings… Написано и проверено людьми, что принципиально важно для учёбы… Проект всегда актуален для последнего релиза Zig.» — комментатор, рекомендующий Ziglings

В одном комментарии-дампе ресурсов сформировался стартовый набор: Learning Zig Карла Сегина, сообщество zig.guide, бесплатная проектная книга Педро Парка Introduction to Zig и Ziglings — плюс официальная страница «зачем Zig» для колеблющихся. Высококарматный участник сформулировал более глубокое педагогическое возражение, которое не решает никакой тур по примерам:

«Не понимаю, что это добавляет к чтению документации… Поскольку всё организовано по языковым фичам, речи о масштабных архитектурных решениях не идёт — а именно там, на мой взгляд, и находится настоящее владение языком.» — комментатор о том, чего не хватает турам по примерам

Глубинное сомнение: стоит ли вообще учить Zig прямо сейчас?

Под критикой учебника шёл более экзистенциальный вопрос — его задал фрилансер, взвешивающий, куда вложить время:

«Zig — просто тренд, или станет по-настоящему устоявшимся языком?… Похоже, он не испытывает такого отраслевого давления, как Rust… есть и вероятность, что он не станет мейнстримом — как язык D. Так стоит ли учить Zig или подождать?» — программист-фрилансер, взвешивающий Zig и Rust

Эпоха ИИ срабатывала в обе стороны. Один учащийся признался, что потерял мотивацию — «а важен ли вообще Zig в эпоху ИИ?» — а другой обозначил практическую проблему: поддержка Zig в LLM слабая, сжигает «намного больше токенов» при «посредственных результатах» — именно потому, что язык меняется быстрее, чем тренировочные данные успевают обновиться. Та самая нестабильность, из-за которой тред отверг этот учебник, делает Zig сложнее изучать любым способом.

Итог: быстро меняющийся язык наказывает статичные учебники

Урок шире одного репозитория, созданного с помощью ИИ. Для языка до версии 1.0, переделывающего базовые API в каждом релизе — «writergate» как живой пример, — замороженный набор примеров устаревает с момента выхода версии, и именно этот сбой тред диагностировал за секунды. Выжившие под огнём критики ресурсы объединяло одно: они поддерживаются людьми и следят за каждым релизом. Для Zig актуальность — не приятный бонус, а суть ценности учебного ресурса, и это первое, что нужно проверять, прежде чем тратить на него вечер.

Получайте такие разборы каждый день

Главные истории Hacker News — на email, в Telegram или RSS.

Следующая новость · 4 из 31 Читать дальше
🚀Tech

Стратегия ЕС по открытому ПО: четыре цели без единого евро

Брюссель объявил открытый исходный код «центром технологического суверенитета» Евросоюза — альтернативы облачным сервисам США, офисным инструментам и почте. Первый вопрос в треде — тот, на который документ не отвечает: где деньги?

★ 145 · 💬 144 · digital-strategy.ec.europa.eu · 6 мин