Hacker News new | ask | show | jobs
by rustfreeforme 6 hours ago
> No shallow dismissals please, tell me why you think I'm wrong.

Tell me why you think you're right.

Hint: you're wrong.

> Rust adds the borrow checker (and especially with non-linear lifetimes it's an implementation like the world has never seen before, not even in Cyclone). That alone raises it leaps above both C and C++.

No, not really. It's an incremental improvement at best.

In time you will learn about all of the faults and flaws in Rust, after you've suffered the pain of trying to rewrite the entire universe in it just to fix one single class of problem you are obsessed about--inevitably introducing many new bugs in the process, because that always comes with the territory.

I know exactly what the successor to C/C++ looks like, and it's not Rust.

> But even without it, it still has a Hindley Milner type system (which most people considered superior to multiple inheritance), it has Sync/Send traits, the concept of UnwindSafe, proper destructive moves and affineish types, proper sum types and matching, sane iterators, lack of UB on uninit/overflow/etc, a sane module system, hygienic macros, and that's just the things I was able to pull of the top of my head right now.

Blah blah blah. Most of that is just added runtime complexity that I could add to C if I wanted, but why would I? None of that crap is needed. Most of it is wankery, the sort of stuff that 20-somethings salivate over but which in the end is meaningless, just change for the sake of change.

> Not to mention, the design of its stdlib is absolutely lovely compared to what C++'s stdlib has become, and it focuses on correctness much more than most other popular languages.

Ada is the language to emulate, not Rust or C++. Again, the actual successor to C/C++ looks nothing like Rust.

1 comments

> In time you will learn about all of the faults and flaws in Rust, after you've suffered the pain of trying to rewrite the entire universe in it just to fix one single class of problem you are obsessed about--inevitably introducing many new bugs in the process, because that always comes with the territory.

Good thing Rust doesn't just fix that one class of problems, but also provides better tooling to fix other classes too. Classes of problems that could be fixed with the other features of Rust mentioned later like the Hind...

> Blah blah blah. Most of that is just added runtime complexity that I could add to C if I wanted, but why would I?

...the vast majority of these features don't even run at compile time. Some of them can't even be implemented in C. For starters, show me an example of a Hindley Milner type system implemented for C (how can someone improve a strictly compile time feature, static typing, with a runtime implementation is beyond me). Or proper destructive moves in C or C++.

> Ada is the language to emulate, [...]

Good thing Rust also takes from Ada.

> Again, the actual successor to C/C++ looks nothing like Rust.

And that would be...?

> Good thing Rust doesn't just fix that one class of problems, but also provides better tooling to fix other classes too. Classes of problems that could be fixed with the other features of Rust mentioned later like the Hind...

Wow, what a magical language! [ waves hands vigorously ] will fix all the problems which are inevitably introduced by auto-porting from one language to another, or by manually rewriting everything from scratch. Rust doesn't obey the same laws of the software universe as other languages, it seems.

Rust will even automatically rewrite itself to use its own special idioms rather than whatever loser idioms it has sadly inherited from the C/C++ code which the developer, in his infinite benevolence, has decided to lift from its Dark Ages level of inadequacy to Modern Language Standards, with nothing but joy and happiness as the result. Miraculous.

Or is this a "just use magic AI to do it all bro", type situation?

In the latter case, why don't I just use the magic AI to auto-magically solve my C/C++ problems, rather than rewrite the entire universe from scratch? You know, like Google claims to have done for Chromium C++ sources in this very news article?

> ...the vast majority of these features don't even run at compile time. Some of them can't even be implemented in C. For starters, show me an example of a Hindley Milner type system implemented for (how can someone improve a strictly compile time feature, static typing, with a runtime implementation is beyond me)

What part of "I don't care about any of that crap" aren't you grasping?

This is the type of shit noobs are always wringing their hands about, as they want new toys to play with and/or maximum guardrails to cover for their ineptitude. Which is exactly why Google wants these kind of things, as their median developer is some kid fresh out of college. They want a magic language that will protect the idiot programmer from himself and eliminate all errors, so that any trained monkey can use it, as they plan to train actual monkeys to do this if they can somehow get away with it.

Well, that isn't Rust. Not even close. It's just the next horror show masquerading as a "fix."

It is obvious that you are just trolling, but for other readers: our production app went from 50-100 unexplained sentry errors in typescript to 0 sentry errors in rust.

The language absolutely helps fix logic errors.

It's something that becomes immediately clear as soon as you start using the language in earnest.

What if I told you TypeScript sucks?
> Wow, what a magical language! [ waves hands vigorously ] will fix all the problems which are inevitably introduced by auto-porting from one language to another, or by manually rewriting everything from scratch. Rust doesn't obey the same laws of the software universe as other languages, it seems. Or is this a "just use magic AI bro", type situation?

Nope, that's just your own prejudices speaking. We already cited features (seen in and inspired by other languages) and you handwaved them away with "I don't care". You are the one fixated on C and C++. You are a C evangelist, if I were to make a guess. And that's on you.

> In the latter case, why don't I just use the to auto-magically solve my C/C++ problems, rather than rewrite the entire universe from scratch? You know, like Google claims to have done for Chromium C++ sources in this very news article?

You certainly can. But to spin this the other way around: in lieu of the Bun case, why not use it to rewrite the project in Rust, Zig, D or any language of your choice (yes, even C)? Given the role harnesses have in keeping agents in check, it seems plausible that languages with stricter safety features help agents avoid common issues.

> This is the type of shit noobs are always wringing their hands about as they need maximum guardrails to cover for their ineptitude.

You seem to be forgetting that proper software engineering is just as much about managing developers and their skills as the actual code structure. If a tool helps noobs produce better quality code, specially ones without as many vulnerabilities, why not employ it? Also, it's not like experts are immune to mistakes either.