Hacker News new | ask | show | jobs
by rustfreeforme 23 hours ago
In my custom fork of Chromium (now on version 148), I remove all Rust components. Rust is a shit language, even worse than C++, and I want nothing to do with it.

The problem with Chromium isn't C++. Not even close. The problem is the ever expanding, bloated code base, the never ending growth of the features list, and the noob programmers they have constantly churning out moar junky code. Just like Microsoft or Oracle crapware.

If the plan instead were to produce a finished, polished end product, taking all the effort that goes into adding more spyware, AI crap, etc and just shine and polish instead, the result would be quite different.

I know that for a fact because that is exactly what I have done in two previous versions--removing shitloads of unneeded and unwanted code, cleaning and polishing the rest, with the end result being a very snappy and responsive browser, even on old hardware.

Rust doesn't do a damn thing to help anything here. It just makes the code/interfaces more complex, the compilation more agonizingly slow, and is another giant pile of shit vendored into third_party. My fork removes all that noise along with Google's vendored custom clang, and it builds with system gcc or clang.

1 comments

Quite frankly, this post is massive set of unsubstantiated claims.

For starters, no one said the only problem with Chromium is C++. But it certainly contributes with some of the problems (specially those related to security). And, no, these bugs don't come from "noob programmers." They come from experienced engineers.

Then you just mention that removed some "unnecessary and unwanted" code. According to what standard? You? Would be nice if you went into specifics and provided some benchmarks. Instead we are forced to take the word that a user "rustfreeforme" (wonder which biases they have) made an polished fork, instead of, possibly, mangling the code in such a way that just benefits them and screws other people.

Finally, Rust doesn't: make the code more complex than C++, specially if using the STL; doesn't make compilations slower, as C++ and Rust compilation times are on par (and keep in mind Rust is very unoptimized here, where as C++ is slow by design).

> Quite frankly, this post is massive set of unsubstantiated claims.

Oh no, it seems my one brief post wasn't long and detailed enough to immediately and totally convince some Random Doubter on HN, therefore my 'claims' are 'unsubstantiated.'

> No one said the only problem with Chromium is C++. But it certainly contributes with some of the problems (specially those related to security).

Nah. It doesn't.

> And, no, these bugs don't come from "noob programmers." They come from experienced engineers.

I'm in the Chromium source every day, and I see junk code written by 20 year old noob programmers all the time. Furthermore there are tons of god classes and other bloated, overcomplicated, and buggy junk that could be greatly simplified and bug fixed, if only these proverbial 'experienced engineers' cared to do so. Instead they are full speed ahead on piling even more crap on top of the pile.

> Then you just mention that removed some "unnecessary and unwanted" code. According to what standard? You?

That's correct! My opinion matters, to me at least. All the spyware and malware in Chromium is unwanted by me, along with a ton of other dubious 'features' that I don't ever use. I'm hardly the only one with this opinion.

Your opinion may be different. Maybe you are into voyeurism and like being spied upon. Maybe you use all these useless and unwanted features that I never do. Feel free to keep using slow, bloated junk, while I speed along in the fast lane.

> Would be nice if you went into specifics and provided some benchmarks.

Yes, wouldn't it be nice if I took time out of my busy day to create some benchmarks, since totally convincing Random Skeptics on HN was and is a major goal of my post and of my life in general.

> Instead we are forced to take the word that a user "rustfreeforme" (wonder which biases they have)

It's definitely not possible for fluffybucktsnek to just take my word here. I wonder what biases he or she might have.

> made an polished fork, instead of, possibly, mangling the code in such a way that just benefits them and screws other people.

Yes, you should just assume that's what must have happened, and then move on, blissfully unaware of how wrong you are.

> Finally, Rust doesn't: make the code more complex than C++

Sure it does. There is extra machinery/interfacing for all the extra Rust crap bolted on, and it gets more and more complex over time as they integrate more of the crap. Furthermore they vendor the entire Rust compiler, library, etc, all of which has to be compiled first before the browser. It adds a ton of complexity and slows thing down, exactly as I explained. It cuts hours off the compile time simply by getting rid of LLVM and Rust.

I've only just started on this version and the repository is already down to a fraction of the size, so repo operations are way faster, and searches through the code base are way faster, with much less noise in search results. As a result, productivity is way up--and I already know this is just the beginning of progress, as my previous experience doing this job has already shown everything will get much, much faster before it's done.

> C++ and Rust compilation times are on par (and keep in mind Rust is very unoptimized here, where as C++ is slow by design).

Feel free to optimize Rust then let us know about your super fast language that is actually an advance on the state of the art. I'm not interested in slowing down my compile times any further, or even remaining at the same speed, while essentially gaining nothing. Both C++ and Rust are way too slow. That's why at a later date I will be auto-translating the Chromium code from C++23 (current) back to C++11, or maybe even C, when my tooling is advanced enough.

> Oh no, it seems my one brief post wasn't long and detailed enough to immediately and totally convince some Random Doubter on HN, therefore my 'claims' are 'unsubstantiated.'

No, you just didn't cite any actual data, only assertions. Don't come with this excuse of "busy day", you had enough time to create an HN solely for spewing anti-Rust nonsense.

Keep in mind, HN is a place for intellectual discussions, not for dumping your pet peeves. If you don't actually have anything actually productive to say, it's preferable to omit yourself before the mods or the flags do that for you.

> Nah. It doesn't.

Then try to prove it. I already cited a source elsewhere, which you just ad hominem'ed. The burden of proof is now on you.

> It's definitely not possible for fluffybucktsnek to just take my word here. I wonder what biases he or she might have.

Yeah, what biases does the name "fluffybucketsnek" indicates? "Rust free for me" doesn't sound as impartial in this discussion. It just sounds like you came here for an ideological battle.

> Yes, you should just assume that's what must have happened, and then move on, blissfully unaware of how wrong you are.

I didn't assume anything. If anything, I kind of wish you did/could prove me wrong. You could, at least, post the code of your fork.

Instead, you need us to assume that all your claims, none of which has any sources, are true. All I did was show a different possibility.

> Sure it does. There is extra machinery/interfacing for all the extra Rust crap bolted on, and it gets more and more complex over time as they integrate more of the crap.

Every FFI introduces some manner of complexity, specially when one language (Rust) is more strict than the other (C++). I don't say C is complex because JNI is a hassle.

> Furthermore they vendor the entire Rust compiler, library, etc, all of which has to be compiled first before the browser.

That just seems like a Chromium project issue, not a Rust one. It's weird that for issues with C/C++ in Chromium, you blame the project itself, but for Rust, you blame Rust. Just like you don't have to vendor LLVM, you don't have to vendor Cargo nor Rustc along with the project itself. Even for compile times, similar strategies for cutting C++'s work for Rust as well.