Originaly posted on medium: Why Rust is Stopping Your Success. Use C++ and C# Instead.
A Ferris with a cross overlaid on it.
The Borrow Checker: A Double-Edged Sword
Ah, the borrow checker, Rust’s claim to fame. It’s like that overly cautious friend who won’t let you climb a tree because you might fall and break a leg. It’s supposed to enforce strict rules to avoid pitfalls.
- In Practice: It makes you wrestle with it just to get your code to compile. Every minute spent doing that is a minute not spent developing features, fixing other kinds of bugs, or doing literally anything else productive.
The Learning Curve Fallacy
Rust proponents claim you’ll get the hang of the borrow checker, eventually.
- Hard Truth: The upfront time isn’t worth the so-called long-term gains, especially if you’re in a rapid development cycle.
Striving for Perfection at the Cost of Progress
Here’s the kicker with Rust — you’re expected to write perfect code right from the start. Sounds ideal, doesn’t it? Except, what if you’re in startup mode or another fast-paced development environment?
- Reality Check: You need to ship products fast to even know if they’re worth refining. Wrestling with the borrow checker to produce “perfect” code is just burning time that could’ve been better spent actually testing your product in the market.
The Myth of Future Time-Saving
Ah, the old “it’ll save you debugging time in the long run” argument. That’s not completely bogus, but if you’re racing against the clock, that future time saved is purely theoretical.
- Hard Truth: What’s the point of crafting “perfect,” bug-free code if you haven’t even validated the product’s market fit? You could spend all that time fine-tuning, only to find out nobody wants what you’re selling.
Productivity over Perfection
Garbage collection? Yeah, it might be sneered at by hardcore systems programmers. But let’s get real.
- The Deal: Speed trumps perfection in the business world. If the product freezes for a few milliseconds to collect garbage but ships six months faster, most businesses will pay that price gladly.
Time is Money, and Compilers Don’t Pay Bills
Your boss couldn’t care less about the theoretical benefits of zero-cost abstractions if the product’s late.
- The Fact: Massive user bases, extensive libraries, and heaps of resources. Got a problem? A quick Google search usually has you covered. Rust? Not quite there yet.
The “It Works” Factor
- The Truth: Rust might catch up one day, but for now, it’s more of a gamble.
Look, if you’re not building low-level stuff like drivers, embedded systems, or operating systems, and you don’t have a laser-focused goal, do not use Rust.
- The Verdict: In the real world, a so-called “perfect” product that’s collecting dust on the shelf is worthless. On the other hand, a good-enough product that actually makes it into users’ hands? That’s where the money is.
So, the next time you’re in a rapid development cycle, think twice before hopping on the Rust train.
Thank you to all contributors and those who engaged in the comments, leading to revisions in this article in a more balanced perspective.
We are done here.
You’ve read the rest, now follow the best. You’ll get more no-BS deep-dives here on Medium. Don’t miss out.