Originaly posted on medium: Why Rust is Stopping Your Success. Use C++ and C# Instead.
A Ferris with a cross overlaid on it.
Programming languages are tools, not religions, but you wouldn’t know that from talking to some Rust propagandists. Sure, Rust has its merits — memory safety without garbage collection, yada yada — but let’s talk about getting actual, market-ready products out the door. That’s where garbage-collected languages like C#, JavaScript, and Python shine. Here’s why.
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 Reality: With languages like C#, JavaScript, and Python, you’re writing code that actually brings in revenue. These languages come packed with rich libraries that let you do more with less. Rust? Not so much.
Ecosystem Support
Sure, Rust’s ecosystem is growing, but let’s not kid ourselves. It’s nowhere near as extensive as that of languages like C#, JavaScript, and Python.
- 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
At the end of the day, the market wants something that works. Languages like C#, JavaScript and Python have a long track record of working well in a variety of domains, from game development to backends and to user interfaces.
- The Truth: Rust might catch up one day, but for now, it’s more of a gamble.
Conclusion
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.
In scenarios where time-to-market is king, garbage-collected languages like C#, JavaScript, and Python are the real MVPs. Why? Because they get you across the finish line when it really counts.
- 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.
Special Thanks
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.
Source: Why Rust is Stopping Your Success. Use C++ and C# Instead.