I generally find talking about new programming language meta uninteresting, but recently rust got some spotlight attention after a rust in linux maintainer stepped down from his position. To quote the thread directly,
I am retiring from the project. After almost 4 years, I find myself lacking the energy and enthusiasm I once had to respond to some of the nontechnical nonsense, so it’s best to leave it up to those who still have it in them.
Now what seems like a fairly typical “I’m burned out, let me work on something else” type of message has spawned one hell of a spiral of online discourse. I would have never known about this event if it were not for the amount of effort people have gone to make hellthreads about how “🤓 actually rust is good for the kernel and its the BIGOTED C PROGRAMMERS that are GATEKEEPING us from having our craboulous DREAM!!!!!” Parody aside I want to point out the particular thread that brought this event to my attention. You don’t have to directly read it, but I want to pull out two lessons from the thread: The community around rust is the language’s worst feature; You cant reason with people who don’t understand how to be reasonable.
The tl;dr of Rust’s feature set is that it uses RAII (Resource Acquisition Is Initialization) in the form of the borrow checker as a safety net for dealing with memory management. The compiler enforces a strict set of rules for how one can implement behavior due to these rules. In my experience writing in it, I have noticed it has taken quite a number of bad design choices from other languages. Mainly, it has an overly complex stdlib/syntax and some annoying compiler quirks that change how you approach rapid iteration (mainly for testing out new ideas/features). If you talk to any community member on why rust is a good pick, they will always mention memory safety (maybe you’ll also get lucky with a “you can write 🚀🚀 Blazingly Fast 🚀🚀 software with it” too.). However, if you point out or mention any problems with the language, you will be eternally silenced by the community who cant handle you criticizing their holy language. Beyond that, its not much. It certainly is better and more tolerable than C++ in certain cases, but that’s not a high bar in the first place.
Rust is quite an interesting language, you cant really find a particular niche that rust has incorporated itself into. I generally don’t really see all that much production rust code, and when there is production rust code, its mostly a rewrite of x, rather than anything original. To quote an article:
The way the Rust ecosystem generally works is whichever project can make the most amount of promises, shows the best website/readme, has the flashiest gifs, and most importantly appeals to the right abstract values, gets widely praised, regardless of the usability of said project. Then there are other projects which are often under the radar, because they’re not sexy and are not promising undeliverable features, but instead are just trying to do a thing in a way that works, and those end up almost never being mentioned, or when they are they’re mentioned as second class choices.
This basically sums up a lot of my issues with rust as a whole. The community is pretty much only driven by hype as evidenced by the “Rewrite it in rust” meme that still is floating around. Most of the “wow” factor really only attracts github-brained developers who really only care about stats and not code.
You can probably tell how much I hate hype. Hype behind something has resulted in countless atrocities in the computer and programming space for years now. Hype blinds people from making proper judgement of a technology with empirical means. Instead people driven by hype believe the hype, often basing their ideologies off of said hype. Rust is an example of how mediocre (at best) technology can go mainstream simply because it has enough people hyping it up.
The purpose of this article isn’t to lash out at rust and tear it down, rather, its more of an externalization of my problems/issues with the language and community that prevent me from taking it seriously compared to other languages. I haven’t mentioned other issues I have with its community1 due to the fact that I would be wasting my breath in the first place. Any developer that wants to actually improve at being a developer shouldn’t tie themself down to the rust ecosystem.
Lest I be crucified by the twitterite rust devs that are pervasive throughout the “community”. ↩︎