Live data from Hacker News

Zig – io_uring and Grand Central Dispatch std.Io implementations landed

ziglang.org

81–90 of 315 posts

Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed

#81

I like Zig, lots of great features that work in unison. However the worry is by the time it reaches v1 Rust will have consumed the space that C/C++ used to. I think it will be a mainstream language though and gain a lot more traction after v1. There is also the issue of will people actually code by then.

I don't think Rust is "a better C/C++". It's a new kind of beast. Interesting, but very different.

Zig OTOH is clearly, to me at least (opinion alert), a "better C". It even compiles C!

I expect LLMs to be really good at converting C to Zig.

> There is also the issue of will people actually code by then.

LLMs don't take responsibility. So even if code is generated, a human will have to assess it. I think assessing Zig is easier than assessing C, which gives this language a selling point that holds out in the AI assisted programming future.

Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed

#82
post #15
post #2

[flagged]

Kinda weird to blame Zig for not being at 1.0 yet while Jai is still in closed beta after 11 years. Meanwhile Zig is being in used in big-ish projects all over while Jai has... a single game engine? Jai looks cool but it's far far FAR behind and losing ground.

Sure, but Zig has way more money and people working on it. And Jai has inspired all of these new languages so all they had to do was to steal John's ideas whereas he had to actually think very hard about them and do countless iterations to come to a solid conclusion. He paid the cost, they reaped the benefits. So Zig being 10 years old and unfinished just shows they have no original thought, or a plan for that matter.

Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed

#83
post #49

Earlier quoted context omitted.

Instead of debating for years (like other languages), zig just tries things out. Worst case you can always rollback changes. IMO best APIs and designs are those that are battle tested by end users, not won in an argument war during committee meetings. This makes zig unique. It's fun to use and it stays fresh. You can always just stay on older version of zig. But if you choose to update to newer version, you get new t…

> Instead of debating for years (like other languages), zig just tries things out. Good > Worst case you can always rollback changes. No, you cannot. People will leave in masses. In perl they announced experiments with a mandatory use experimental :feature. You couldnt publish modules with those, or else you are at risk. This made perl exciting and fresh. Python on the other hand constantly broke API's, and had to in…

[deleted]

Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed

#84
post #2

[flagged]

Instead of debating for years (like other languages), zig just tries things out. Worst case you can always rollback changes. IMO best APIs and designs are those that are battle tested by end users, not won in an argument war during committee meetings. This makes zig unique. It's fun to use and it stays fresh. You can always just stay on older version of zig. But if you choose to update to newer version, you get new t…

Rust has stable vs nightly. Nightly tries things and makes no guarantees about future compatibilities. If you need code that builds forever, you stay on stable. There's no reason Zig couldn't have the same.

Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed

#85
post #73
post #41

Earlier quoted context omitted.

> Remember that it was Jai that inspired all these new languages. Not really. Rust was a thing long before Jai.

Not sure why this is being downvoted, Blow started working on Jai in 2014, by which point Rust was already nearing stabilization with 1.0 shipping in 2015.

In fact Rust was specifically discussed as a possible alternative to the C++ status quo in Jon's initial "A Programming Language For Games" talk which roughly marks the inception of his current / upcoming language.

Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed

#86

Earlier quoted context omitted.

I’m a casual user and the 0.16 changes scare me. I tried multiple attempts now, even with full LLM support to upgrade and the result is just a) painful and b) not very good. I have high doubts that the current IO system of 0.16 will make it for another release given the consequences of their choices.

Here's some advice: 1. if you're a casual user (ie you don't follow the development) don't try incomplete APIs that not even the creators of fully know how they are supposed to work (because they're still tinkering with them) also you can't expect docs until the design is somewhat finalized (which is not yet, fyi) 2. llms don't help when trying to make sense of the above (a feature that is not complete, that has no d…

The flipside of that is that the incomplete API should be in a separate branch until it is ready to be included in a release, so that people can opt in instead of having to keep in mind what parts of the API they aren't supposed to be using. It doesn't seem like you expect the changes to be finalised in time for 0.16.

Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed

#87

I like Zig, lots of great features that work in unison. However the worry is by the time it reaches v1 Rust will have consumed the space that C/C++ used to. I think it will be a mainstream language though and gain a lot more traction after v1. There is also the issue of will people actually code by then.

I wouldn’t worry about that. There’s plenty of software yet to be written, in many languages. If anything, Rust’s success has shown that it’s definitely possible for a new language to succeed if it offers something new.

The other tailwind for Zig is that it’s easier than ever to translate an existing codebase with tests into a new language with AI.

Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed

#88
post #20

Earlier quoted context omitted.

I have my doubts on Jai, besides being built towards game development, from what I read/watched about it, it has 2 or 3 meta programming capabilities, like comptime, macros, etc it feels too much of the same, also Jai is not built towards correctness or safety, John mentality is that he knows what he is doing, so he doesn’t need those guardrails and he wants instead expressiveness. Also Jai is like C++ in complexity,…

Remember that it was Jai that inspired all these new languages. When you talk about the capabilities like comptime, that's all from Jai and why John no longer does public presentations(as people keep stealing his unfinished ideas). Your comment about gamedev focus makes no sense as that it the most hardcore segment of all the programming there is. So if a language is good for gamedev, it's good for everything else -…

You sound like you're in a cult

Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed

#89
post #24

Earlier quoted context omitted.

Obviously, that comes with the language being in beta. If you don't want things broken, use a complete language.

It's hard to imagine Zig ever becoming stable and conservative. Even at 10 years old, it's still as beta as ever. At some point the churn becomes part of the culture. Not a complaint, just an observation. I like that they are trying new things.

[deleted]

Re: Zig – io_uring and Grand Central Dispatch std.Io implementations landed

#90

I don't want to be the negative guy, but this is news about two unfinished implementations. There is a lot of work needed for this to be considered done. For example, no networking in the GCD version yet. And as these are being implemented, the interface stops being an interface, the vtable keeps growing, and it's just the current snapshot of what's needed by the std implementations.

They aknowlege that at the beggining of the post?

> They are now available to tinker with, by constructing one’s application using std.Io.Evented. They should be considered experimental because there is important followup work to be done before they can be used reliably and robustly:

And then they proceed to list 6 important pending work to be done.

Post reply on HN