There are endless debates online about Rust vs. Zig, this post explores a side of the argument I don’t think is mentioned enough.

Intro / TLDR

I was intrigued to learn that the Roc language rewrote their standard library from Rust to Zig. What made Zig the better option?

They wrote that they were using a lot of unsafe Rust and it was getting in their way. They also mentioned that Zig had “more tools for working in a memory-unsafe environment, such as reporting memory leaks in tests”, making the overall process much better.

So is Zig a better alternative to writing unsafe Rust?

I wanted to test this myself and see how hard unsafe Rust would be by building a project that required a substantial amount of unsafe code.

Then I would re-write the project in Zig to see if would be easier/better.

After I finished both versions, I found that the Zig implementation was safer, faster, and easier to write. I’ll share a bit about building both and what I learned.

  • Dark ArcA
    link
    fedilink
    English
    arrow-up
    1
    ·
    7 days ago

    Fair points; I still don’t think I’d go so far as to call it click bait.

    When Zig is safer and faster than Rust

    There are endless debates online about Rust vs. Zig, this post explores a side of the argument I don’t think is mentioned enough.

    That seems like a fairly honest headline and intro to me; it’s showing at least one case where Zig was plausibly better than Rust (even if Zig is not generally better).

    In any case, happy new year!