Новости

Post Thumbnail

Вкуc zig после Rust

Автор, семь лет писавший на Rust, переписал свой проект jsonpath-rust на Zig и делится впечатлениями от перехода. Больше всего его удивило почти полное отсутствие IDE-поддержки в Zig, что заставило вернуться к CLI и build.zig и даже подтолкнуло к переходу ...

Post Thumbnail

Самый сложный калькулятор

Автор строит "калькулятор" максимально сложным способом. От токенизации арифметических выражений до нативного исполняемого файла, используя Zig для фронтенда и QBE в качестве компиляторного бэкенда. Начинает с формальной грамматики в EBNF, затем реализует токе...

Post Thumbnail

Треды в Zig

Автор разбирает устройство std.Io.Threaded в Zig - реализации интерфейса ввода-вывода, которая использует обычные блокирующие системные вызовы и потоки, но при этом полноценно поддерживает отмену операций. Фокус на различии между параллелизмом и конкурентн...

Post Thumbnail

Кровать на zig

Физик с PhD, с ADHD и аутизмом рассказывает, как купил Chilipad 2.0 - систему водяного охлаждения/подогрева кровати за $1700. Уже интересно, неправда ли? Чтобы решить проблемы со сном из-за сенсорных особенностей и душной спальни без кондиционера он написал...

Post Thumbnail

Zig на примерах

Это интерактивное введение в язык Zig через примеры программ, оформленное в стиле известного проекта Go by Example. Этоя прям ностальгические вайбы, в свое время Go by Example прям очень выручал Сайт покрывает версию Zig 0.16 и разбит на разделы: базовые т...

Post Thumbnail

SIMD для всех

Митчелл Хашимото утверждает, что SIMD незаслуженно считается сложным. Он на примере из своего терминала Ghostty показывает, что "обработка N значений за раз" всегда сводится к одному и тому же шаблону из пяти шагов: размножить константы в вектор, загружать...

Post Thumbnail

А теперь переписываем на Zig

Окей, Bun переписывают с Zig на Rust. Но вы что думаете, только на Rust всё переписывают? Нифига! Команда языка Roc за полтора года переписала свой 300 000-строчный компилятор с Rust на Zig и реализовала почти весь функционал оригинала. Основной причиной...

Post Thumbnail

2048 для Game Boy Advance на Zig

Автор написал игру 2048 для Game Boy Advance на Zig и объясняет, почему этот язык отлично подошел для embedded-разработки под консоль. Байтоебство, но красивое Главные плюсы: встроенная кросс-компиляция, система сборки, позволяющая в одном build.zig опис...

Post Thumbnail

Revo

На эту пятницу у меня вас новый язык программирования, написанный на Zig Revo - выразительный динамически типизированный язык программирования, написанный на Zig. Поддерживает пайпы, сопоставление с образцом, встроенные каналы и "горутины", first-class тест...

Post Thumbnail

Zig IO

В Zig 0.16 появился std.Io - кроссплатформенный интерфейс для ввода-вывода и конкурентности, но единственная встроенная реализация std.Io.Threaded использует потоки ОС, что не масштабируется. На std.Io.Threaded 10 000 задач с sleep выполняются ~20 секунд, а 50...

Post Thumbnail

scripty

Scripty - это минимальный язык выражений без переменных, циклов и условий. Только expression. Задумывался для встраивания в HTML-шаблоны и другие документы. Написанный на Zig и со встроенной стековой VM. Есть две вариаци: SuperHTML для работы со структурой...

Post Thumbnail

Bun в бан

Автор анализирует недавний перевод Bun с Zig на Rust, выполненный с помощью Claude за 6 дней и 6755 коммитов, и выделяет три ключевых проблемы. Во-первых, код не рецензировался человеком - ревью делали боты, то есть ни один человек не читал весь код целико...

Post Thumbnail

Zig против Rust

Автор сравнивает Zig и Rust. Конечно, Zig имеет элегантные фичи: интерфейс аллокаторов, битовые поля произвольной ширины и comptime. Но с приходом кодинг-агентов эти преимущества обесцениваются, поскольку агенты дают 100x-ускорение написания кода. Rust выи...

Post Thumbnail

Компилятор C на Zig

По ссылке серия статей, которые автор написал по мотивам книги Норы Сандлер "Как написать компилятор на языке Си". Это отличное упражнение для изучения языка Zig и неплохой способ убить свободное время. Особенно если у вас его прям оооочень много и нет лич...

Post Thumbnail

Zig для хаскелистов

На картинке - как я сувствую себя, когда читаю такие статьи Zig привлекает внимание функциональных программистов благодаря своей мощной системе comptime. Автор, имеющий за плечами более 10 лет опыта в Haskell, выделяет три ключевых критерия: выразительн...

Post Thumbnail

Factor

Вечер пятницы, а это значит что? Правильно! Новый язык программирования. Язык программирования Factor - это конкатенативный, стековый язык программирования с высокоуровневыми возможностями, включающими динамическую типизацию, расширяемый синтаксис, макросы ...

Post Thumbnail

pkgmirror

Автор анонсирует pkgmirror - самодостаточный сервис на Zig для зеркалирования инструментов и пакетов Zig, который позволяет полностью отказаться от внешних сервисов, включая GitHub. Сервис поддерживает проксирование загрузок Zig, опциональное зеркалировани...

Post Thumbnail

Comptime

В Zig есть механизм comptime, который позволяет выполнять код во время компиляции, фактически создавая два языка в одном: статически типизированный рантайм-язык и динамически типизированный язык для этапа компиляции. В отличие от Rust или C++, где для метап...

Post Thumbnail

Zig крут

В статье автор рассказывает, чем его так зацепил язык Zig и почему он считает его по-настоящему крутым. Он объясняет, как легко установить компилятор, который к тому же умеет компилировать C-код и собирать проекты под любые платформы. Дальше идет быстрый о...

Post Thumbnail

Жесткий eBPF

Вот только писал про eBPF и еще одна статья. Но теперь автор статьи делится опытом работы с eBPF на "хардкорном" уровне - без использования libbpf, напрямую с байткодом. В материале подробно рассматривается создание eBPF-программ через системный вызов bpf,...

Post Thumbnail

Аллокаторы

Автор рассказывает, как устроены аллокаторы памяти в современных языках вроде Rust, Zig, Odin и C3, где они являются "гражданами первого сорта". В каждом модном языке своя фишка: в Rust глобальный аллокатор по умолчанию (хоть и не указано какой), в Zig аллокат...