▲ | sothatsit 2 days ago | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I suspect a lot of this is due to the language being new and unpolished. Zig is still actively being shaped, and therefore fundamental pieces of the Zig standard library still change frequently. I really like Zig, but I do think you have to accept some rough edges and breaking changes when using it. Give it another decade and I am hopeful it will be much more stable. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | scuff3d 2 days ago | parent [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I agree, and I try to ignore that stuff, but there are a few things that I think are a little more fundamental then that. This one is fairly minor, but the overly granular namespacing drives me nuts. I shouldn't have to go four or five layers deep to get fairly common functionality. The pattern of returning structs from within structs from within structs just gets old. Maybe that has to do with the way the language handles generics, I don't know. The attitude to interfaces is also grating. I get that Kelly and the Zig team want to discourage there use, but with the changes to Io it feels a bit like they want to have their cake and eat it to. Before it was mainly just allocators, but now readers, writers, and it sounds like async are all going to be handled through interfaces. But yet the community writ large is still expected to not really use them. Seems like they should have sorted their attitude and approach to interfaces before making these most recent changes. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|