‹ BackHN Continuity

Thread

What Zig felt like, coming from Rust

282 points · 351 comments · ksec

  1. weinzierl · · focus · HN ↗
    Two additional points:

    1. Tooling (as an extension to the mentioned IDE support point). Zig and Rust are both praised for their tooling and I think rightfully so. The C/C++ interop story and the cross-compiling story in Zig are great. From the standpoint of a working practitioner though I think Rust is way ahead. Not surprising given that Zig is much younger, but something to keep in mind.

    2. Compile Time Stuff: Here Zig is praised and Rust not so much. I think this is undeserved. Rust has much higher aspirations for their compile time features, namely that outcome must be identical regardless when the code runs. This is a very useful property but makes the task much harder and fundamentally incomparable with Zig comptime.

    1. chaz72 · · focus · HN ↗
      Are you saying that you think that Zig does not produce identical outcomes for comptime code regardless of when the code runs? What do you mean?
      1. bruckie · · focus · HN ↗
        I assumed that it meant that if you ran code at compile time or at runtime, the results should be exactly the same given the same inputs.
        1. chaz72 · · focus · HN ↗
          And they believe Zig comptime wouldn’t do that? For the same inputs? I’d love an example.
          1. weinzierl · · focus · HN ↗
            sin(x) can produce different results at comptime and runtime. In Rust there is no sin(x) at comptime for precisely this reason.
            1. chaz72 · · focus · HN ↗
              Interesting, I hadn’t run across that but that’s probably just my problem domain. I did find this bug that looks like it was resolved a year ago <a href="https:&#x2F;&#x2F;github.com&#x2F;ziglang&#x2F;zig&#x2F;issues&#x2F;24184" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ziglang&#x2F;zig&#x2F;issues&#x2F;24184 and I have also read they are doing some other work on floating point that will hopefully address other cross-platform inconsistencies.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.