Язык Zig (канал)
194 subscribers
71 photos
4 videos
10 files
306 links
Unofficial channel about Zig language (in Russian language)

Неофициальный канал про язык Zig (на русском языке)

Chat / Чат:
@ziglang_ru
Download Telegram
Релиз 0.16.0

This release features 8 months of work: changes from 244 different contributors, spread among 1183 commits.
Perhaps most notably, this release debuts I/O as an Interface, but don't sleep on the Language Changes or enhancements to the Compiler, Build System, Linker, Fuzzer, and Toolchain which are also included in this release.


#upstream
🔥12🎉2
Artifacts: versioned storage that speaks Git (раздел Under the hood)

Zig в Cloudfare:

What we did need, however, was a Git server implementation that could run on Cloudflare Workers. It needed to be small, as complete as possible, extensible (notes, LFS), and efficient. So we built one in Zig, and compiled it to Wasm.
🔥7👍2
Язык Zig (канал)
Artifacts: versioned storage that speaks Git (раздел Under the hood) Zig в Cloudfare: What we did need, however, was a Git server implementation that could run on Cloudflare Workers. It needed to be small, as complete as possible, extensible (notes, LFS)…
Why did we use Zig? Three reasons:

1. The entire git protocol engine is written in pure Zig (no libc), compiled to a ~100KB WASM binary (with room for optimization!). It implements SHA-1, zlib inflate/deflate, delta encoding/decoding, pack parsing, and the full git smart HTTP protocol — all from scratch, with zero external dependencies other than the standard library.

2. Zig gives us manual control over memory allocation which is important in constrained environments like Durable Objects. The Zig Build System lets us easily share code between the WASM runtime (production) and native builds (testing against libgit2 for correctness verification).

3. The WASM module communicates with the JS host via a thin callback interface: 11 host-imported functions for storage operations (host_get_object, host_put_object, etc.) and one for streaming output (host_emit_bytes). The WASM side is fully testable in isolation.

Under the hood, Artifacts also uses R2 (for snapshots) and KV (for tracking auth tokens):
5👍3
Час назад:

I'm planning to do a stream in an hour or two from now


https://mastodon.social/@andrewrk/116455170889340599

After a long, unplanned hiatus, I'll do a live coding stream starting in a couple hours from now.
Main topic will be a demo of some partially completed changes to the build system, and pushing forward on it a little bit.
Q&A will also be welcome from chat.
https://www.
twitch.tv/andrewrok/



Скоро стрим с показом обновлений в системе сборки от Эндрю
4🕊2
https://x.com/bunjavascript/status/2048427636414923250

In Bun’s zig fork, we added parallel semantic analysis and multiple codegen units to the llvm backend on macOS & Linux

This makes debug builds of Bun compile > 4x faster, improving internal development velocity


https://github.com/oven-sh/zig/compare/upgrade-0.15.2...upgrade-0.15.2-fast

We do not currently plan to upstream this, as Zig has a strict ban on LLM-authored contributions.
🤣9
Язык Zig (канал)
https://x.com/bunjavascript/status/2048427636414923250 In Bun’s zig fork, we added parallel semantic analysis and multiple codegen units to the llvm backend on macOS & Linux This makes debug builds of Bun compile > 4x faster, improving internal development…
В форк Zig от Bun мы добавили параллельный семантический анализ и генерацию кода по частям в LLVM-бэкенд для macOS и Linux.

Это ускорило компиляцию Bun (в режиме отладки) более чем в 4 раза, что сильно ускорило внутреннюю разработку.

Мы пока не планируем передавать это в основной проект, так как в Zig действует строгий запрет на любой вклад, созданный нейросетями.
😁6
На фоне недавней новости об эксперименте Bun с портированием с Zig на Rust, я вспомнил одну вещь.

В прошлые годы они ведь выделяли для Zig Software Foundation солидные суммы. Что теперь с ними будет? Уменьшится ли доход ZSF? Урежут ли тогда core team оплату мероприятий или себя?

https://ziglang.org/news/2025-financials/
В 2024 году было 60'000 USD.

Плюс к тому же двойной эффект, если донатеры пришедшие с волной популярности из-за Bun тоже уйдут.
👍1
Язык Zig (канал)
На фоне недавней новости об эксперименте Bun с портированием с Zig на Rust, я вспомнил одну вещь. В прошлые годы они ведь выделяли для Zig Software Foundation солидные суммы. Что теперь с ними будет? Уменьшится ли доход ZSF? Урежут ли тогда core team оплату…
https://x.com/arredsumner/status/2053047748191232310

Если вкратце:
1. Почти все (99.8%) тесты на x86_64-linux-gnu проходятся на Rust версии.
2. Сейчас код почти такой же, но компилятор теперь проверяет lifetime и добавили деструкторы.
3. Они устали думать над и исправлять ошибки по типу утечек памяти или краши, т.д. Хотят, чтобы язык это мощнее предотвращал.
4. Будет блог-пост с замерами скорости и потребления памяти, и как они этот порт сделали.
5. По скорости компиляции версия на Rust схожа с их форком Zig (где у них приватные поля в структурах и параллельная компиляция в LLVM), и быстрее официального Zig. Другими словами, для их проекта компилятор Zig медленнее компилятора Rust.

Порт содержит в себе 960 000 строк кода, за 6 дней
🤯5🥰1🐳1🤝1
Язык Zig (канал)
Rewrite Bun in Rust the binary size shrinks by 3 MB - 8 MB, the benchmarks are between neutral and faster
Мне напомнило это о долгой истории написания нового компилятора на Zig взамен старого на C++ во время примерно 0.7-0.10, как они сначала частями добавляли AstGen, Sema, какие-то части переиспользовали между stage1 и stage2, сколько лет это заняло т.д.

И как они некоторые фичи в то время пропустили, по типу второй версии async/await, мелкие фичи с @Vector

Если бы у главной команды были в то время LLM, сделали ли бы они эту миграцию намного быстрее? Скажем, не 5 лет (хотя честно говоря основной фокус был в последние годы), а месяц? Или может async/await бы не потеряли по пути? “export to C headers” ещё бы продолжал работать?

Или может Эндрю бы вообще не создавал Zig в 2015 и просто писал бы себе на C/C++ и JS (или даже Rust 1.0) дальше свои медиа-плееры и майнкрафт ботов?
👍3😁2