[RU] Язык Zig (канал)
Borrow checker для Zig (очень простой и для фана) Analyzing AIR turned out to be a good decision, and from this project I conclude that Zig AIR is a very good target for many classes of static analysis on Zig code. This CLR analyzer has been instrumented…
Разработка (как оказалось) возобновилась:
https://www.youtube.com/@E-xyza/videos
Портирует с Elixir на Zig и больше фич.
https://github.com/ityonemo/clr
https://github.com/ityonemo/clr/commit/7a2c817cbecb52bc84f95e18ebadb075956a6277
https://www.youtube.com/@E-xyza/videos
Портирует с Elixir на Zig и больше фич.
https://github.com/ityonemo/clr
https://github.com/ityonemo/clr/commit/7a2c817cbecb52bc84f95e18ebadb075956a6277
Youtube
- YouTube
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
[RU] Язык Zig (канал)
Photo
this december im doing a "prototype" which means its going to be done in zig and im going to clear sone difficult hurdles i couldn't do last year.... also accepting sponsors, details on page.
also disclaimer, im using heavy amounts of ai assistance (as implied in the preview video)
I mentioned a proof of concept I did that if I had the time to complete/do correctly, it should give you near-rust-level checking on memory safety, plus automatically flags sites where you need to inspect the code. At the point where you are using MIRI, you're already bringing extra stuff into rust, so in practice zig + zig-clr could be the equivalent of the result of "what if you moved borrow checking from rustc into miri"
[RU] Язык Zig (канал)
С Новым 2026 Годом всех зигастиков!
В предстоящем году нас скорее всего ждет два выпуска, весной (0.16, async) и осенью-зимой (0.17). Фокус будет на стандартной библиотеке и постепенно стабилизации языка. Эндрю обещал большинство накопившихся предложений отклонить!
Есть шанс что в 2027 или 2028 будет релиз 1.0 (я думаю скорее всего 2028).
Есть шанс что в 2027 или 2028 будет релиз 1.0 (я думаю скорее всего 2028).
😍12😁3👍1
Forwarded from mak
https://codeberg.org/ziglang/zig/pulls/30644
Happy New Year! 🥳 I'm celebrating the arrival of 2026 in my favorite way: breaking "Hello, World!" again!
🎄5👍3
Всем привет.
Недавно увидел, что Karl Seguin (автор блога OpenMyMind и кучи библиотек для Zig) активно использует Claude для разработки на Zig (судя по его собственным словам, весьма успешно):
- https://bsky.app/profile/karlseguin.com/post/3m4coasigyc24
- https://bsky.app/profile/karlseguin.com/post/3mahrn2mrhc2d
Он пишет, что "сейчас почти не пишет код без параллельной сессии с Claude Pro, и что комфорт работы с LLM напрямую зависит от умения работать в режиме совместного кодинга".
У меня в прошлом не очень получалось с LLM-ками и Zig, но ему я доверяю и поэтому решил пере-проверить. На примере портирования с Zig 0.14 до Zig 0.15.
Недавно увидел, что Karl Seguin (автор блога OpenMyMind и кучи библиотек для Zig) активно использует Claude для разработки на Zig (судя по его собственным словам, весьма успешно):
- https://bsky.app/profile/karlseguin.com/post/3m4coasigyc24
- https://bsky.app/profile/karlseguin.com/post/3mahrn2mrhc2d
Он пишет, что "сейчас почти не пишет код без параллельной сессии с Claude Pro, и что комфорт работы с LLM напрямую зависит от умения работать в режиме совместного кодинга".
У меня в прошлом не очень получалось с LLM-ками и Zig, но ему я доверяю и поэтому решил пере-проверить. На примере портирования с Zig 0.14 до Zig 0.15.
😐4👍1
[RU] Язык Zig (канал)
Всем привет. Недавно увидел, что Karl Seguin (автор блога OpenMyMind и кучи библиотек для Zig) активно использует Claude для разработки на Zig (судя по его собственным словам, весьма успешно): - https://bsky.app/profile/karlseguin.com/post/3m4coasigyc24 …
Портирование с 0.14 на 0.15 прошло очень хорошо, руками я бы запарился
Основной код Claude (Code) портировал сам, но забыл про examples, я ему сказал что вообще-то там тоже есть код на Zig и он дофиксил.
https://git.sr.ht/~bratishkaerik/zig-libgccjit/commit/5052cad69dc0328a060e8c565e7cd6e4f7cec94b
В целом я доволен.
usingnamespace заменять везде. Основной код Claude (Code) портировал сам, но забыл про examples, я ему сказал что вообще-то там тоже есть код на Zig и он дофиксил.
https://git.sr.ht/~bratishkaerik/zig-libgccjit/commit/5052cad69dc0328a060e8c565e7cd6e4f7cec94b
В целом я доволен.
👍3
Еще (ужасно) потестил в браузере онлайн ИИшки простым вопросом (поиск и thinking помечал как optional или врубал, но в идеале без него или сам должен был догадаться включить их):
Рандомы:
GLM 4.6: ❌
GLM 4.7: ❌
Mistral: ❌
Что я обычно юзаю:
ChatGPT: ❌
Gemini 3 Thinking: ✅
DeepSeek: ❌
Claude Sonnet 4.5: ✅
Kimi K2: ✅
For porting Zig 0.14 code to Zig 0.15: what is the correct replacement for `readByte()` on a file/reader, and where is it called from?
Рандомы:
GLM 4.6: ❌
GLM 4.7: ❌
Mistral: ❌
Что я обычно юзаю:
ChatGPT: ❌
Gemini 3 Thinking: ✅
DeepSeek: ❌
Claude Sonnet 4.5: ✅
Kimi K2: ✅
🔥1
[RU] Язык Zig (канал)
Еще (ужасно) потестил в браузере онлайн ИИшки простым вопросом (поиск и thinking помечал как optional или врубал, но в идеале без него или сам должен был догадаться включить их): For porting Zig 0.14 code to Zig 0.15: what is the correct replacement for `readByte()`…
Из тех, кто "не угадал", только DeepSeek был ближе всех к правде.
Он почему-то думал, что в новом API:
*
*
И предложил второе. А на деле там:
*
*
ChatGPT и прочие вообще далеко ушли, какие то allocByte и ownByte стали придумывать.
Он почему-то думал, что в новом API:
*
takeByte: i8*
takeByteUnsigned: u8И предложил второе. А на деле там:
*
takeByte: u8*
takeByteSigned: i8ChatGPT и прочие вообще далеко ушли, какие то allocByte и ownByte стали придумывать.
❤1
[RU] Язык Zig (канал)
https://bun.com/blog/bun-joins-anthropic
Мейби после этой покупки они натренируют еще больше. Если я правильно все помню у bun был самый большой репозиторий Zig кода, больше чем даже сам ziglang/zig. После покупки плюс люди знающие этот язык, и вуаля!
mak
https://codeberg.org/ziglang/zig/pulls/30776
Куча фиксов и немного фич:
* switch с void и другими пустыми типами теперь работает нормально
* Теперь можно ловить теги без inline switch:
* Result type теперь нормально передается:
Для функций по типу
* switch с void и другими пустыми типами теперь работает нормально
* Теперь можно ловить теги без inline switch:
* Result type теперь нормально передается:
Для функций по типу
@intCast или @enumFromInt:const a: u16 = 0;
const b: u32 = 0;
switch (a) {
@intCast(b) => ..., // теперь работает
}
const Enum = enum(u8) { ... };
const c: Enum = ...;
switch (c) {
@enumFromInt(0) => ..., // теперь работает
}
❤2👍1
[RU] Язык Zig (канал)
Куча фиксов и немного фич: * switch с void и другими пустыми типами теперь работает нормально * Теперь можно ловить теги без inline switch: * Result type теперь нормально передается: Для функций по типу @intCast или @enumFromInt: const a: u16 = 0; const b:…
Или Decl literals:
const Tot = enum {
a,
b,
pub const c: Tot = .a;
}
switch (...) {
.b => ...,
.c => ...
}🔥2
[RU] Язык Zig (канал)
Или Decl literals: const Tot = enum { a, b, pub const c: Tot = .a; } switch (...) { .b => ..., .c => ... }
switch (...) {
.a => |_, tag| {} // теперь можно теги ловить в обычной ветке, не только inline
}👍2
Finding and Fixing Ghostty's Largest Memory Leak
Интересный трюк для macOS аллокаторов:
И помечают свою память для отладчиков и прочих вещей на MacOS. Жалко только скриншотов в посте нет.
Интересный трюк для macOS аллокаторов:
inline fn pageAllocator() Allocator {
// In tests we use our testing allocator so we can detect leaks.
if (builtin.is_test) return std.testing.allocator;
// On non-macOS we use our standard Zig page allocator.
if (!builtin.target.os.tag.isDarwin()) return std.heap.page_allocator;
// On macOS we want to tag our memory so we can assign it to our
// core terminal usage.
const mach = @import("../os/mach.zig");
return mach.taggedPageAllocator(.application_specific_1);
}И помечают свою память для отладчиков и прочих вещей на MacOS. Жалко только скриншотов в посте нет.
🔥4
from zig-gamedev discrod server:
https://github.com/Srekel/tides-of-revival
И мотивация:
https://github.com/Srekel/tides-of-revival
hey, not sure if you have heard or not but we've decided to move the next version of Tides from Zig to Jai. Our current release should happen in January I hope, or maybe if I cram it in before the end of the year (mostly a matter of how much polish I want to give it). I can still maintain zflecs, at least for a while (we'll be using flecs in the future as well and I have an interest in keeping tabs on making sure there are no weird language-spanning binding issues 🙂 )
We are still on Zig 0.14.1 though and an older version of zflecs, so I'm not able to actually update zflecs or test PRs anymore, such as this one.
https://github.com/zig-gamedev/zflecs/pull/31
We are using a number of libraries from zig-gamedev so hopefully the Tides repo will remain a useful "how do I actually use zaudio in practice" reference for a good while 🙂
И мотивация:
and we have basically come to the realization that Zig isn't great for game development. I mean it's definitely better than C and C++ in various ways, but also not in other ways. At the start it looked like it was going to be more suited for gamedev but it has aligned more with lowlevel/systems programming. So maybe fine for lower level engine programming or libraries, but less so for the more artistic and iterative parts of game development. And now there are two C++ replacement languages that are basically designed for game development - Odin and Jai - and of those Jai speaks more to us. So long term we think it's a choice that will bring us more speed and more joy.
GitHub
GitHub - Srekel/tides-of-revival
Contribute to Srekel/tides-of-revival development by creating an account on GitHub.
❤1