Okay, time for a freak-out of excitement.
0.3 includes a litany of things that seem like they were designed specifically to make me love it:
And last, but absolutely not least:
I have no words to adequately describe my excitement for this release. I am impatiently awaiting 0.3’s release to the AUR so I can start playing with all the new toys!
I haven’t gotten to spend as much time playing with zig as I want to yet. But I just wanted to say that it’s really inspirational to see a project like this moving forward.
Very happy to see Future as part of the async interface e. Now I wonder how Zig compares to Rust (or Pony, for that matter) in terms of managing shared state amongst concurrent agents/threads/coroutines.
This is one of my fears, mixing threads and coroutines without some sort of language checks. That is basically the origin story of pony. Pony started life as a concurrent C runtime for actors/tasks very much like this, however they kept having crashes due to programmer error.
I’m reading the No Starch Press Rust book at the moment and it seems to me that the borrow checker is a more primitive version of Pony’s capabilities. I’m really impressed by how powerful the application of capabilities is to concurrent programming safety. I didn’t know about this anecdote on Pony’s history, thanks!
Zig is starting to look very appealing. As an active Rust user, I probably won’t give it a serious look until it reaches stability, but I’m very much looking forward to that day.
I like that it has a PEP8 like formatting standard. I wish more languages had that.