I know this post is AI generated to some extent but I'm still curious. The subtitle says:
> Rust shouted about safety. Zig just built it — without the ceremony, the sermons, or the 15-minute compile times.
Which I interpret as meaning that zig delivers memory safety in a simpler way than rust. But a few paragraphs in, it says:
> Rust teaches you ownership like a tough-love therapist. Zig, meanwhile, just shrugs and says, "You break it, you fix it." That's the philosophical divide. Rust assumes you can't be trusted. Zig assumes you're an adult.
Does this mean that zig's safety depends on trusting the programmer to write correct code? This wouldn't necessarily be a bad thing if zig makes correct code simple to write or has other advantages, but if incorrect code is allowed it makes sense why the compiler can be more permissive and I wouldn't say it's quite delivered the same thing as Rust.
Ok, another thing:
> Zig looks boring. Feels boring. Reads like a C project written by someone who finally went to therapy.
> That's it. No macros. No build.rs. No Cargo screaming about outdated crates.
Am I crazy or does this not actually look simpler than
fn main() {
println!("Hello, world!");
}
Is the zig version doing something other than hello world? Or did the author, in their post about how zig is simpler and more readable than rust, choose a code example where the corresponding rust code would be much simpler and more readable?
Zig's memory safety has nothing in common with Rust. I'd even say, it mostly has barely more than C. It gets reliability from proper error handling.
It has a very weird feeling complaining about build.rs when any semi-serious Zig project comes with a build.zig that's always more complex than any build.rs.
But to address the serious question: We can't have all three of: a simple language, zero-cost abstractions, and memory safety.
Most interpreted language pick simplicity and memory safety, at a runtime cost. Rust picks zero-cost abstractions and memory safety, at an increasingly high language complexity cost. C and Zig choose zero-cost abstractions in a simple language, but as a consequence, there's no language-enforced memory safety.
(Also, having a simple language doesn't mean that any particular piece of code is short. Often, quite the opposite.)
The only difference is this writes to stderr and does not fail (and explicitly says it is meant for debug), while their example writes to stdout. In zig if you want to write to stdout you need to explicitly pick the std and handle all the details (like error handling).
He gave the possible worst example, this article is nonsense.
>Zig, meanwhile, just shrugs and says, "You break it, you fix it."<
Exactly. That’s what Rust defends us from. It makes breaking things way harder. Rust forces you to think differently, you cannot just do what you want, but that’s it’s selling point. The article focuses mainly on feelings not facts and that’s ok, but I don’t feel exhausted writing Rust. I like that it’s safe and I’m happy to sacrifice some freedom if I get safety in return.
That’s a weird article. Rust wanted to be safe systems language and it is. Where’s the issue? Zig has different goals. That’s ok. What are actually discussing here?
It's fair to complain about Rust complexity IMO. What's _not_ fair is pointing at Zig as an example of how it could be simpler, when it's not memory safe. The requirements are different. At that point we might as well say "why use Rust when you can just use Go or TypeScript"
I like the article's theme. Coding in Rust does indeed suck brain-power and even after 2 years of off-and-on attempts, I am still faster (and less tired) in other languages (including C++). But the LLM generated text is just deeply pissing me off, sorry. Why use snarky LLM slop here ? Use straightforward, ordinary human-developer language for this.
I read it through and there is nothing much there. Most of his points don't hold up to reality as rust is no longer (and hasn't been for a while) a "hyped language" and has proven time and time again to be a valuable language.
Zig has the concept of illegal behavior, of which a subset is unchecked illegal behavior - basically undefined behavior, but if evaluated at comptime, it results in a compile error. The documentation also states that most illegal behavior is safety-checked unless you use the ReleaseFast or ReleaseSmall optimization modes (and don't enable safety checks for individual blocks).
I could only see the first few paragraphs, but the writing is giving off a lot of "AI slop" vibes (or perhaps even "human-written slop", let's give the author the benefit of the doubt). So maybe it's no great loss if it's behind a Medium paywall.
A thought: is using Rust a form of avoiding responsability?
And a second thought since the article seems to be flagged now: considering the fan reaction to a post disparaging their favorite language, how is the Rust community different from a religious cult now?
> is using Rust a form of avoiding responsability?
How so?
> considering the fan reaction to a post disparaging their favorite language, how is the Rust community different from a religious cult now?
Believe it or not, not all criticism is created equal. High-quality criticism is consistently well-received from what I've seen. This doesn't seem to get particularly close to that bar.
ChadNauseam|3 months ago
> Rust shouted about safety. Zig just built it — without the ceremony, the sermons, or the 15-minute compile times.
Which I interpret as meaning that zig delivers memory safety in a simpler way than rust. But a few paragraphs in, it says:
> Rust teaches you ownership like a tough-love therapist. Zig, meanwhile, just shrugs and says, "You break it, you fix it." That's the philosophical divide. Rust assumes you can't be trusted. Zig assumes you're an adult.
Does this mean that zig's safety depends on trusting the programmer to write correct code? This wouldn't necessarily be a bad thing if zig makes correct code simple to write or has other advantages, but if incorrect code is allowed it makes sense why the compiler can be more permissive and I wouldn't say it's quite delivered the same thing as Rust.
Ok, another thing:
> Zig looks boring. Feels boring. Reads like a C project written by someone who finally went to therapy.
> That's it. No macros. No build.rs. No Cargo screaming about outdated crates.Am I crazy or does this not actually look simpler than
Is the zig version doing something other than hello world? Or did the author, in their post about how zig is simpler and more readable than rust, choose a code example where the corresponding rust code would be much simpler and more readable?tuetuopay|3 months ago
It has a very weird feeling complaining about build.rs when any semi-serious Zig project comes with a build.zig that's always more complex than any build.rs.
codeflo|3 months ago
But to address the serious question: We can't have all three of: a simple language, zero-cost abstractions, and memory safety.
Most interpreted language pick simplicity and memory safety, at a runtime cost. Rust picks zero-cost abstractions and memory safety, at an increasingly high language complexity cost. C and Zig choose zero-cost abstractions in a simple language, but as a consequence, there's no language-enforced memory safety.
(Also, having a simple language doesn't mean that any particular piece of code is short. Often, quite the opposite.)
gabrielgio|3 months ago
He gave the possible worst example, this article is nonsense.
karmakurtisaani|3 months ago
I hate this line of thinking. It doesn't matter if I'm an adult, if the guy before me was a screaming toddler.
captainbland|3 months ago
This makes it sound like Zig built Rust equivalent safety but its manual memory model suggests otherwise?
yonki|3 months ago
Exactly. That’s what Rust defends us from. It makes breaking things way harder. Rust forces you to think differently, you cannot just do what you want, but that’s it’s selling point. The article focuses mainly on feelings not facts and that’s ok, but I don’t feel exhausted writing Rust. I like that it’s safe and I’m happy to sacrifice some freedom if I get safety in return.
That’s a weird article. Rust wanted to be safe systems language and it is. Where’s the issue? Zig has different goals. That’s ok. What are actually discussing here?
orangeboats|3 months ago
https://news.ycombinator.com/item?id=45849204
ashdnazg|3 months ago
anttiharju|3 months ago
ZeelRajodiya|3 months ago
ravenical|3 months ago
"1. Rust Promised Us Heaven. Then Gave Us Paperwork.
Remember the hype? Rust was the "C killer." The messiah of memory safety. The savior of systems programming."
_fizz_buzz_|3 months ago
davidsainez|3 months ago
0-R-1-0-N|3 months ago
hiccuphippo|3 months ago
rini17|3 months ago
And then it wasn't.
unknown|3 months ago
[deleted]
can3p|3 months ago
bjackman|3 months ago
lenkite|3 months ago
simonask|3 months ago
Like, what are we doing.
This “article” is flame bait.
gabrielgio|3 months ago
CryZe|3 months ago
Simran-B|3 months ago
MrJohz|3 months ago
I could only see the first few paragraphs, but the writing is giving off a lot of "AI slop" vibes (or perhaps even "human-written slop", let's give the author the benefit of the doubt). So maybe it's no great loss if it's behind a Medium paywall.
kugutsumen|3 months ago
nottorp|3 months ago
And a second thought since the article seems to be flagged now: considering the fan reaction to a post disparaging their favorite language, how is the Rust community different from a religious cult now?
aw1621107|3 months ago
How so?
> considering the fan reaction to a post disparaging their favorite language, how is the Rust community different from a religious cult now?
Believe it or not, not all criticism is created equal. High-quality criticism is consistently well-received from what I've seen. This doesn't seem to get particularly close to that bar.