This is the beginning of a new set of things. Inspired by my post on “certain kinds of guys” in hacker culture. In this post I’m going to lay out the reasons I have in the past not liked rust, why I became immensely hostile to it, and what spaces I operate in that made rust so inaccessible to me.
While I doubt that I will find myself liking rust this time around, I think in doing this I can at least better explain myself better.
Why I haven’t liked rust
It didn’t even run where I needed it to run
So if there is anything I am somewhat known for, it has got to be my
freebsd fangirling. A previous version of this site had it front and
centre. My hostcloak on freenode before the fall was
freebsd/lover/alliefox
… and rust didn’t run on freebsd. It test
suite wouldn’t pass, it could compile without a standard library and
that’s about it. On top of that a lot of projects that I’ve had since
are embedded projects for micro-controllers like the msp430. Rust’s
code size was much larger than C’s and this was a problem, it wouldn’t
fit in the tiny micro-controllers we had specced out for the project.
I don’t like it’s optics
Everything around the language is all about how the language makes “safety” easy, and coming from a C perspective and an infosec perspective, I find that claim infuriating because memory safety errors while common, are not the only kind of error in existence, and errors in logic can be far more damaging.
In the earlier days there was also this aura of unearned elitism as well. It couldn’t run everywhere, almost nothing of value was written in it (which in many ways can still be said today.) and yet people were acting like it was already the best thing ever made and was changing everything.
I don’t like it’s (~ version 0.8.0) structure
I found rust back when I last used it to be somehow both very terse
and very verbose. Additionally, the push to throw more stuff into the
compiler through macros was a “bad code smell” to me as someone who
was writing C and C++. I felt like “wasn’t this exactly the kind of
thing they complained about us doing?” whenever i saw a !
, It always
felt too clever, and clever code was never a good thing.
I don’t like it’s fans
Rust users have this annoying tendency to essentially recreate everything, and ask you why you aren’t using rust. This gets very annoying, especially if you are primarily a C programmer. But they aren’t the worst, they in the end are still programmers, the worst are the people who don’t even write code, they just hear through the aforementioned optics I mentioned, that rust is better in every way, even in places where rust at the time DIDN’T EVEN RUN.
Why I became so hostile.
I didn’t start out hostile. I actually was very interested in the language during 0.7.0~0.8.0. I wrote a script that continuously tried to build it’s patches until tests passed on my servers (which ran FreeBSD). This lasted about a month without ever passing. I tried to learn it with a build on my linux box, and I found the syntax clear as mud.
I put it down and just went back to doing what I normally did at the time, C and Perl, and didn’t think much about it for a long while. It grew. Suddenly I’m getting asked in IRC chats when talking about projects why I’m not writing them in rust, and there is a refusal to take “it doesn’t run there” as an answer.
I got tired of seeing take after take about how people who write in C and C++ are the problem, and the world would be better if everyone would just switch to rust. Ignoring the fact that still, at the time, rust did not run on most micro-controllers. I started digging in deeper and deeper, every single time I saw something like that. OpenSSL being OpenSSL caused a massive amount of these as it still does to this day.
Honestly, I feel it says more about OpenSSL than it does about C, but asking people to stop using OpenSSL is literally impossible
Today it’s just all of these feelings swirled together. I find it hard to not stubbornly stay in this space. It’s been literal years of refusing to try it again.
Why I don’t think I’ll like it
For rust to really blow my mind and for me to love it, It has a heck of a task ahead of it. These days I don’t program as much anymore, and when I do I’m working in Elixir. I’ve grown an appreciation for C++ working on a couple of projects of a partner of mine’s especially with Qt.
We as a whole like languages where the code we need to write just flows like water from our mind. Everything we’ve seen of rust code doesn’t seem to be that and likely would cause us deep frustration instead.
But we will try, and even more difficult, we will try to open our mind a bit instead of stubbornly refusing it.
This post is part of a series: Next Article