4 ms·
I'm not sure if you actually want to call "copy these header files into your local file system" an ecosystem at all. The last 40 years have brought heaps of imp
by 9dev 2y ago
I'm not sure if you actually want to call "copy these header files into your local file system" an ecosystem at all. The last 40 years have brought heaps of improvements in software development ergonomics. Zig is growing just fine, as other languages like Rust or Go.
- pjmlp 2y agoThat is what script kiddies do when using compiled languages. Rust has had an almost usable implementation for affine types, and being the second coming of Ada, to win the hearths of the industry, including all major OS vendors and hyperscallers. Go got lucky with Docker and Kubernetes rewrites, and their adoption across the industry. So far Zig is basically Modula-2 with C like syntax, and compile time execution, relies on the same tooling that C and C++ have had for decades for use-after-free, doesn't support a binary libraries ecosystem by design, and really Bun isn't going to be the killer project that triggers a Rewrite in Zig movement. It remains to be seen if Zig 1.0 happens, and how its adoption story at scale will be like.
- vkazanov 2y agoI agree that zig is taking too long to be finalised. And rust has made certain questionable life choices. But people really, REALLY want to get off c and c++ for all the numerous reasons everybody knows.
- pjmlp 2y agoThey might want, yet while Khronos keeps publishing standards using C and C++, GCC/LLVM/CUDA/.NET/Java/V8/Metal make use of C++, Nintendo/PlayStation/XBox rely on C++, ... they are going to stay around no matter what.
- Ygg2 2y ago> I agree that zig is taking too long to be finalised. And rust has made certain questionable life choices. Any language that's older than 10 years is going to make questionable life choices. It's very easy to be Captain Hindsight, and ask why didn't you do X, 5 years ago? But adding feature X also makes another feature or property impossible, either via opportunity cost or features/properties being at odds. That said, what do you mean by questionable life choices?
- vkazanov 2y ago> Any language that's older than 10 years.. Yes, true. Every language has to make some early foundational choices, as few as possible, and try to carefully think about any new addition to the core because of the extra congnitive load that comes with it. Go is an extreme example here, leaning towards the conservative side. C as well. Zig. Not a fan of Java but it also is kinda slow to add things. Python used to be very careful as well but that epoch is gone. C++ is the opposite example. It tries to add as much as possible, and it was always the case. C compatibility! And classes! Templates! RAII! Metaprogramming! More of everything! Until it reached a point where it's unforgiving hard to add things. Or even learn it properly. Now, Rust feels like a C++ reimplementation, complete with a culture of adding as much as possible as quickly as possible, and ignoring the resulting cognitive load. I mean, it's a choice. Rust definitely has some great, even amazing, ideas to it. But I am afraid of thinking what the language will feel like in 10 years.
- Ygg2 2y ago> Now, Rust feels like a C++ reimplementation, complete with a culture of adding as much as possible as quickly as possible, and ignoring the resulting cognitive load. Ok, but I did ask for what specifically do you mean by questionable life choices? I feel Java is moving at a fast pace (and adding everything and the kitchen sink). Hence, why I wanted specific examples. Can you separate your feelings from facts, and see from where the feelings come from? I'm not saying you're wrong, I'm saying I want to understand your basis for that. > Go is an extreme example here, leaning towards the conservative side. Is it? Didn't it also start adding features that it swore not to add (generics)?
- vkazanov 2y agoI honestly don't want to go the route of arguing over language trivia. Let's say between C++ and C I always pick C. And my first serious language was C++ of the "modern cpp" flavour. I mean, there are things I like: bits taken from the ML language family, tooling, sane approach to OOP, error handling. But the culture of trying to pull everything in... It is a road to hell. The difference between Rust and Go here is that Go took 10 years to come up with a generics proposal, and it does solve a massive problem with the language.
- rastignack 2y ago> Bun isn't going to be the killer project that triggers a Rewrite in Zig movement. It might be enough to make the zig ecosystem viable. This along with tiger beetle (they have raised tens of millions). I think a lot of time is spent right now on the tooling, I hope that in a near feature the zig team will be able to switch to the event loop / standard library topics which really need love.