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

zedis

Нативный Redis GUI, написанный на Rust с использованием GPUI. Тот же движок ренд...

Post Thumbnail

Робоутка

Microduck от Pollen Robotics - это открытый репозиторий "мозга" крошечного двуно...