Hacker News
Returning to Zig
ganeshsivakumar
|next
[-]
pjmlp
|root
|parent
[-]
Game development devkits and middleware, HPC and HFT, language runtimes of most mainstream languages, LLVM and GCC that itself depends on,...
Only in the last few years it grew enough for the likes of Amazon, Google, Microsoft, Vercel, Clouflare, NVIDIA,...
Still the domains above only have some snowflake projects in Rust.
Any language that comes afterwards, with being a better C, something that was already possible with Modula-2 or Object Pascal, really needs to have a big killer application for adoption.
That could have been bun, not any longer.
audunw
|root
|parent
[-]
There’s also Tigerbeetle, but unlike libghostty its use of Zig doesn’t have much chance of being viral.
I think libraries that can be used by many other languages is Zigs chance to wide adoption. And this ties nicely with Zigs fantastic build system, which may become increasingly popular for C based projects, especially where cross compilation is important.
coderedart
|next
|previous
[-]
A more direct title is: ai-hating-author abandons ai-loving-rust for ai-hating-zig.
lpghatguy
|next
|previous
[-]
If you hit a weird state in your program and it can _never_ be caused by memory corruption, you rule out a big bug space and no longer need to check the entire scope of your program. It’s similar to Rust’s unsafe blocks — it doesn’t really matter if they’re “more unsafe” than Zig because in Zig the scope of the unsafe is your entire program! Local reasoning is a huge part of what you buy into and I could never give that up if I didn’t have to.
audunw
|root
|parent
|next
[-]
Zig will depend on having tests with good coverage, and you should probably use fuzzing. But if you care about safety and stability, why would you not write tests? Memory bugs are not the only class of safety and stability issues we should care about. So I don’t think we should be dismissive of an approach that takes a more holistic approach to those, while also providing really solid memory safety.
I am sure we will see solid static analysis tools for Zig which can weed out a lot of stuff before runtime as well. The developers of the language seem very interested in that approach but need to focus on other things first.
tialaramex
|root
|parent
[-]
No. Zig says it wants to get to where Fil-C is, for a specific release mode that most people won't use, and it doesn't have even an outline of how that would work.
That's nowhere close to the "same level of safety" as (safe) Rust or Java has. We're going to see all the same bugs and all the same excuses as before.
pjmlp
|root
|parent
|previous
[-]
tialaramex
|root
|parent
[-]
We're talking about thermionic valves versus transistors in terms of how dramatically worse this option is than actually doing the Right Thing™.
The valve computers weren't relegated to a few specialist tasks, or seen as a particular trade-off that's no longer applicable for some applications, they were just swept aside, because they were obsolete. The memory unsafe languages, likewise, should just go away.