• SwooshBakery624 [they/them]@programming.dev
      link
      fedilink
      English
      arrow-up
      82
      ·
      23 hours ago

      Fun fact: After Anthropic rewrote Bun in Rust, Zig’s lead developer stated that they used Bun as an example of how not to write Zig code. So, the answer is that is always did.

      • red_bull_of_juarez@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        50
        ·
        23 hours ago

        Because of the names, your comment sounds utterly ridiculous to someone who has never heard of Bun or Zig.

        Source: someone who has never heard of Bun or Zig.

      • mamg22@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        18
        ·
        21 hours ago

        So they rewrote poor Zig code into what probably is even poorer Rust code, and from what I’ve seen, using their AI to do it. Yeah, that sounds like they’re getting a fully functional and non-buggy piece of software.

        • Ghoelian@piefed.social
          link
          fedilink
          English
          arrow-up
          7
          ·
          16 hours ago

          And they’re initially doing it without Rust’s memory safety borrow checker iirc, so a big part of the benefit isn’t there

          • Traister101@lemmy.today
            link
            fedilink
            arrow-up
            6
            ·
            14 hours ago

            Unsafe Rust code doesn’t turn off the borrow checker, it basically just allows you to play with pointers and call code that the compiler can’t (or can’t right now) statically assert is sound. IE if you roll your own Vtable the functions are safe to call, but the compiler can’t tell so you have to use unsafe

          • mamg22@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            12 hours ago

            Ok this is funny. Like “look bro, we rewrote bun in Rust because it’s ✨Safe✨ and all that”, and they’re not even trying lmao

            In all seriousness, part of that issue probably comes from the original code already ignoring the safety features of Zig, and whatever LLM they used to port it just doing the most half-assed thing and doing a literal translation of the code.

            The future of software development, ladies and gentlemen

            Edit: rust safety

            Yes I know unsafe in rust doesn’t mean unsafe code, it just that the compiler trusts you to correctly use the interfaces and references since it won’t check them inside such blocks