Язык Zig (канал)
180 subscribers
28 photos
3 videos
6 files
246 links
Download Telegram
Язык 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"
С Новым 2026 Годом всех зигастиков!
🎉194🥰1
Язык Zig (канал)
С Новым 2026 Годом всех зигастиков!
В предстоящем году нас скорее всего ждет два выпуска, весной (0.16, async) и осенью-зимой (0.17). Фокус будет на стандартной библиотеке и постепенно стабилизации языка. Эндрю обещал большинство накопившихся предложений отклонить!

Есть шанс что в 2027 или 2028 будет релиз 1.0 (я думаю скорее всего 2028).
😍12😁3👍1
Всем привет.

Недавно увидел, что 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
Язык Zig (канал)
Всем привет. Недавно увидел, что Karl Seguin (автор блога OpenMyMind и кучи библиотек для Zig) активно использует Claude для разработки на Zig (судя по его собственным словам, весьма успешно): - https://bsky.app/profile/karlseguin.com/post/3m4coasigyc24 …
Портирование с 0.14 на 0.15 прошло очень хорошо, руками я бы запарился usingnamespace заменять везде.
Основной код Claude (Code) портировал сам, но забыл про examples, я ему сказал что вообще-то там тоже есть код на Zig и он дофиксил.

https://git.sr.ht/~bratishkaerik/zig-libgccjit/commit/5052cad69dc0328a060e8c565e7cd6e4f7cec94b

В целом я доволен.
👍3
Еще (ужасно) потестил в браузере онлайн ИИшки простым вопросом (поиск и thinking помечал как optional или врубал, но в идеале без него или сам должен был догадаться включить их):

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
Язык Zig (канал)
Еще (ужасно) потестил в браузере онлайн ИИшки простым вопросом (поиск и thinking помечал как optional или врубал, но в идеале без него или сам должен был догадаться включить их): For porting Zig 0.14 code to Zig 0.15: what is the correct replacement for `readByte()`…
Из тех, кто "не угадал", только DeepSeek был ближе всех к правде.
Он почему-то думал, что в новом API:
* takeByte: i8
* takeByteUnsigned: u8

И предложил второе. А на деле там:
* takeByte: u8
* takeByteSigned: i8

ChatGPT и прочие вообще далеко ушли, какие то allocByte и ownByte стали придумывать.
Язык Zig (канал)
https://bun.com/blog/bun-joins-anthropic
Мейби после этой покупки они натренируют еще больше. Если я правильно все помню у bun был самый большой репозиторий Zig кода, больше чем даже сам ziglang/zig. После покупки плюс люди знающие этот язык, и вуаля!
Live stream started
Live stream finished (3 seconds)
mak
https://codeberg.org/ziglang/zig/pulls/30776
Куча фиксов и немного фич:
* 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
Язык 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 аллокаторов:

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