Well done! You deserve the honour.
That's... brutal...
Whenever I have heard/read "if it compiles it works" I have assumed it comes from someone with tongue in cheek. Never would I imagine anyone would take it literally. But it seems some people do.
Similarly the use of the word "safety" when talking about Rust causes some people think that means safety in terms of software security and start talking about how Rust has failed or was always overhyped.
I can't tell if these people a pretending to be dim or actually are dim.
I don't think anyone seriously thinks that :'D But getting low level data structures right has always been a difficult thing to do. You can make a doubly-linked list using only safe types, but when you get into the 'extreme performance + extreme memory constraints' territory, it becomes exceedingly harder to rely on safe code and unsafe code becomes almost mandatory. You can make something that is miri-strict clean, passes all sorts of stress tests and then go on to fail in extremely unpredictable ways. Then there's transient test failures that are much harder to catch O.O
I've programmed for decades. Minimal, part time hobby. For decades in C it was easy to generate beautiful graphics to amaze my friends, and also amazingly easy to cause the computers running those graphics to crash. With rust, getting things up and running was a more difficult. With rust is is also more difficult to crash the system by accident.
I don't want to touch C again.
I might be a rust cultist, it is hard to perceive when your self is a member of a cult. I think "in rust" sometimes when I am sleeping or when I am supposed to be doing my $REAL JOB$. This forum in about my only "social network". I came here check the threads, before I even had breakfast.
(Edited after being flagged for being too aggressive/combative/rude)
Your previous essay on the matter accuses the Rust community of being progressive and contains a silly pronoun rant. I also noticed usage of the t-slur in your comments section. Your bigoted opinions are not useful and probably a CoC violation.
Thinking about it for a little longer, you're right in a twisted way. Rust is a progressive language that dares to claim that the status quo can be different.
We can have a language that is safe. We can have a language where queer people are permitted to not just exist but to take up space, to exert actual control.
But for some, challenging the status quo gets seen as imposing a new oppressive status quo. That's the root of the "cult" allegations.
Let's not go there. I think it's nonsense. People are many and varied. I see many and varied people in all manner of programming language "communities" and, well, in all human endeavour. You will. find the same codes of conduct and such in almost all spheres now a days.
Anyway, I think I discovered my own hypocrisy. I did once make a reply to some anti-rust post somewhere that annoyed me because it was not based on any technical features or merits. More about politics as far as I could tell. My reply was something like:
"If anyone working on critical software is not looking into techniques, procedures and tools that will help ensure correctness and reliability of their product then they are guilty of professional negligence. Rust is one such tool".
There. I'm in the cult.
While such a statement should be uncontroversial at face value, it also reads like you are accusing the person you are replying to of not looking into such techniques and therefore being guilty of professional negligence. So it may be perceived as negative in a way that doesn't really have anything to do with Rust.
Well, I was annoyed enough at the illogical anti-Rust sentiment that I was not positive to the one I was replying to. Sorry for that.
But it was coming from someone talking about safety critical software. Automotive, avionic, I forget.
Having worked in those worlds for many years I was deadly serious in my reply.
But I know that his not the whole picture, which is why Rust is only tacked on at the end as "Rust is one such tool".
My takes is that when someone using this as an anti-Rust argument, they are deliberately taking it literally in a bad faith. A radical take, I know.
Such a phrase is not too serious, it is some form of stupid marketing. And it might even imply that other languages would not allow this.
Yes, it is what it implies, absolutely correctly.
Even leaving purposefully esoteric languages aside, C and C++ are comparatively a massive pain to get into, for someone coming from languages like Python or Ruby.
Wow, this thread seems to have exploded in all kind of directions. All good stuff but not quite what I had in mind when I posted. Which is my fault for not expressing myself very well. Also the thread title seems to have been problematic.
What has been bugging me is not your typical "language war". I like a good debate over language design and favourite languages as much as any programmer. But the attacks on Rust I am seeing everywhere, pretty much every time I see a story about Rust usage, are not about the language as such, not about white space, curly braces, semicolons, object orientation or not, the borrow checker, safety or not, slow compile time, etc, etc. No, nothing to do with syntax or semantics or implementation, it's something far darker.
What I see are basically attacks that are about politics, the "culture war", about LGBT issues, about trust, all kind of stuff. It all ends up being very personal attacks, suggesting that if you support or use Rust you are obviously a bad person because that implies you believe X, Y, or Z.
At the same time this is all mixed up with conspiracy theories. With some lovely logic:
a) The US government has strongly suggested the software should be written in Rust.
b) They would only say that if they had a dark purpose (remember the NSA encryption standard scandal?)
c) So obviously the Rust compiler is back doored by the "deep state".
d) Which is why "the man" is pushing hard for Rust in the Linux kernel and rewriting critical Linux tools in Rust. Not to mention it's incursion into Windows. So that they can control everything.
Oh and don't forget, Rust's purpose is to undermine Free Software by rewriting everything and releasing it under a non GPL licence.
YouTube just now suggested a classic example of what I am talking about: Lunduke's "Can We Trust Rust": https://www.youtube.com/watch?v=XJQ3XGkGrgc If anyone has the stomach for it. I mean it really is bad, suggesting the we Rusties are all extremists and potentially violent.
All this nonsense kind of distresses me when I all I want is a nice read or video about programming.
Oh, I changed the tread title just to soften it a bit.
youtube suggest to me David Letterman and a "Stupid Human tricks" video. I suggest you type David Letterman into your youtube search.
For your own well-being you gotta learn to ignore this sort of stuff.
People will have theories about hidden Rust agendas, and people will make up mental models about who Rust developers are. At the end of the day, none of it matters. None of it is based in reality. Do what matters: Keep trudging on with your projects.
You'll never convince someone who hates Rust with a flaming passion that there's no grand conspiracy, or that you're not out to turn frogs gay -- so don't even waste your time with that.
And if you're worried that the misinformation and disinformation will take hold, then you can look at it another way: There wouldn't be all the misinformation and disinformation if Rust wasn't successful. The more of it you see, the angrier people are about its success. The more successful Rust is, the less the misinformation and disinformation matters.
You are right of course.
I like to think of myself as thick skinned, able to ignore or laugh at such nonsense.
But it troubles me that when enough people stop thinking and fall for this kind of thing then bad things happen. As we have been watching in recent years with the war in Ukraine and the falling of the USA.
It's not just the anti-rusters that have been bothering me...
It is difficult to assess someone from just a few forum posts. However, I think the key is to move beyond the idea of a “thick skin”. I would argue that needing a “thick skin” already means expending energy to protect oneself, because the actions of others are still perceived as infringements.
Reducing negative input can help a lot. Actively looking for and focusing on positive things often makes a noticeable difference, and there are many of them.
If you are on YouTube or other social media and encounter hate, fear, or nonsense, it can be helpful to stop engaging with it right away. Consuming this kind of content rarely provides any benefit, so investing time in it usually does not make sense.
It may also be worth reflecting on why a “thick skin” feels necessary. What emotionally hooks you, and why? Is it really necessary to engage? What might be going on with the person producing this negative output? Are they acting emotionally, and if so, what would be an appropriate response? If they are driven by other motives, what does that imply, and how might that influence how you handle the situation?
Grrr.. English language is weird. All my life I have taken "thick skinned" to mean that someone hardly feels little things, that they hardly notice, certainly no pain or injury caused. As the dictionary says "insensitive to criticism or insults" Think "water off a ducks back". Any yet you are interpreting it very differently. Ah well.
Perhaps I am a bit less thick skinned in recent years. I don't know. I have never had to sift through so much politics in what would normally be a nerdy slanging match over language features or whatever the topic is.
If you'll allow me to quote myself:
Once you're terminally online for a while you realize how much of online discourse is driven by a handful of terminally online people. After you scratch the surface of some "The X community thinks Y" statement, it turns out Y is just the opinion of two guys named John and Mike that are very prolific on some forum, have had a blog for 25 years, and last looked at X in 2012.
The narratives that you're seeing online? They are all mostly driven by a handful of people. When it comes to social media and forums, I can count about a dozen accounts that always appear and drive at least a third of the comments almost every time. Some contained to certain forums, others that frequent all of them. There is a wide range of people out there, and some will have incorrect understanding of things (it was just last year that I saw someone convinced that Rust had a GC on HN).
A handful of people can have an effect on how things are perceived, but other than pointing out out-right disinformation when you see it, I think it is best to let echo chambers be. Getting involved in flamewars only increases the reach of the flames.
It is useful to read them, just to see what their arguments are, but don't do it if it causes distress. Back when I used Twitter, I would actively search weekly for Rust related tweets, specifically the ones that were negative, to collect feedback: behind every rant there can be actionable feedback. Not always, some people just want to vent, and their complaint is actually about something that won't change because changing it would be the wrong thing to do ("they were holding it wrong"), and in other cases it was just needlessly abusive. Seeing that every week didn't do me any good to my mental health. But then I realized that if someone had a complaint, others eventually would too. If I saw someone being a dick, I gave myself permission to block and move on. If there was something that needed fixing it could wait until someone who wasn't a dick brought it up. I don't regret having done that, a lot of Rust improvements came from it, but I do regret not being more selective earlier. All it did was cause me to feel down by exposing me to unnecessary vitriol. I was already creating more tickets than I we could fix[1].
One of the things that always makes me chuckle is when I see comments along the lines of "rust people don't talk about the ways it sucks", because that's all we do. That's the entire point of internals.rust-lang.org, RFCs, all we do in Zulip. The All-Hands is just one big "these are all the ways we suck"-fest. And then we try to fix them. Granted, some of the things we think suck are not the same that those commenters think suck. C'est la vie !
One issue with working on rustc, and in diagnostics specifically, is that incremental progress is hard to quantify. One rarely feels the improvements of things that have been fixed, and the queue of things to address only gets bigger, so it feels like you're swimming against the stream. It is a machine for burn-out, unless you take a step back and compare the current state against a point in the past. Don't just look at the imposing mountain peak that you haven't reached yet, take a moment to look back at the view. ↩︎