Post Thumbnail

Автор, семь лет писавший на Rust, переписал свой проект jsonpath-rust на Zig и делится впечатлениями от перехода.

Больше всего его удивило почти полное отсутствие IDE-поддержки в Zig, что заставило вернуться к CLI и build.zig и даже подтолкнуло к переходу на helix/alacritty/zellij. Но ему понраыилось, что Zig поощряет плоскую структуру файлов вместо глубокой вложенности Rust.

Тестирование в Zig работает, но оказывается более громоздким из-за ручного управления памятью. А вот главное отличие по мнению автора - отсутствие функциональной парадигмы. Приходится вместо неизменяемых комбинаторов и flat_map/reduce писать мутации на месте, циклы и fork.

Аллокаторы в Zig повсюду. Да, TestAllocator помогает ловить утечки и двойные освобождения, но все случаи, которые в Rust закрыты компилятором или Drop, в Zig приходится отслеживать вручную через defer/errdefer.

В целом язык оставил хорошее впечатление. Он простой, современный, очень быстрый, потенциальный наследник C. Но экосистема еще молода - не хватает библиотек, незрелый regex и меняющееся между версиями стандартное API

Похожее

Post Thumbnail

Треды в Zig

Автор разбирает устройство std.Io.Threaded в Zig - реализации интерфейса ввода-в...

Post Thumbnail

Zig на примерах

Это интерактивное введение в язык Zig через примеры программ, оформленное в стил...