I know it is not a popular view, but I really hope Zig becomes as stable in language design as C. I am tried of language design as an endless project of 'change because we can'.
I switched from objective-c to swift thinking job done, and felt like I was learning a new language with each new version. I ended up switching back to objective-c.
I think Java had a good start by defining a solid language spec (JLS) up front, which was a bible during the rapid standard library expansion days, but the JVM stayed stable at least.
I left Golang behind because of the same academic churn in language design that I saw in Swift.
So at the moment I really love coding in Zig. It already does everything I need it too already, and anyway I cant upgrade past 0.8.1 because 'old mac', and wont run on Asahi M1 because 'new mac'. But I assume in trying to be a good C replacement, these are temporary limitations, especially now it can self compile.
What I really enjoy is that I can use it for very lightweight WASM / web front-end stuff, and at the other end of the client scale, I am using it for some SOC programming on the PinePhone. I know C has the same reach, but my days of looking up ** semantics in K&R are long past!
Hopefully we'll get a solid language spec soon, and the language changes will slow to a crawl once 1.0 approaches. As for the lacking documentation that is always a complaint, I'll hopefully try to contribute to that when I start my new Zig project in May.
Anyway respect and thanks to Andrew and the team for all the hard work they are doing. It is an amazing project and I hope it works out.
Go stands out for its remarkable stability in language design. The Go team has maintained a strict backward compatibility promise since its first release in 2012. While Swift underwent significant breaking changes between versions 1.0-5.0, Go's evolution has been cautious and gradual. Even major features like generics (Go 1.18) were introduced after years of careful consideration. This stability and backward compatibility have made Go a trusted choice for enterprise development.
If you're interested in a c-like that isn't going to change, the crwator of Odin has said the language is basically done and further work is mostly on the standard library.
off-topic, but relevant: (1) Asahi M1 will run zig soon - page size has already been pushed to runtime where it belongs. (2) if it doesn't yet, for personal use, you can hack it in with this one-liner "sd '(.visionos) (=> 16)' '$1, .linux $2' <zig-lib>/std/mem.zig" (i'm using sd instead of sed, adapt if needed).
I switched from objective-c to swift thinking job done, and felt like I was learning a new language with each new version. I ended up switching back to objective-c.
I think Java had a good start by defining a solid language spec (JLS) up front, which was a bible during the rapid standard library expansion days, but the JVM stayed stable at least.
I left Golang behind because of the same academic churn in language design that I saw in Swift.
So at the moment I really love coding in Zig. It already does everything I need it too already, and anyway I cant upgrade past 0.8.1 because 'old mac', and wont run on Asahi M1 because 'new mac'. But I assume in trying to be a good C replacement, these are temporary limitations, especially now it can self compile.
What I really enjoy is that I can use it for very lightweight WASM / web front-end stuff, and at the other end of the client scale, I am using it for some SOC programming on the PinePhone. I know C has the same reach, but my days of looking up ** semantics in K&R are long past!
Hopefully we'll get a solid language spec soon, and the language changes will slow to a crawl once 1.0 approaches. As for the lacking documentation that is always a complaint, I'll hopefully try to contribute to that when I start my new Zig project in May.
Anyway respect and thanks to Andrew and the team for all the hard work they are doing. It is an amazing project and I hope it works out.