“Rust’s compiler prevents common bugs” So does skill. No offense to you, but, this trope is getting so tiresome. If you like the language then go ahead and use it. What is it with the rust crowd that they have to come acrosslike people trying to convert your religion at your front door?
At my last job I worked in a code base written in C and it needed to be certified to MISRA level A, and even in a language with as many foot guns as C, it’s possible to write safe code. You just need to know what you’re doing. I know there are tons of Rust zealots out there claiming it’ll solve every last problem, but it turns out you just need to be careful.
it turns out you just need to be careful
Famous last words
The human mind has limited capacity for things to pay attention to. If your attention is occupied with tiptoeing around the loaded guns scattered all over the floor, sooner or later you’ll slip and trip over one.
Of course, you’re a virtuoso programmer, so you can pirouette balletically around the floorguns as you deliver brilliantly efficient code. Which is great, until you have an off day, or you get bored of coding, run off to join the circus as a professional knife-juggler and your codebase is inherited by someone of more conventional aptitude.
Programming languages offering to keep track of some of the things programmers need to be aware of has been a boon for maintainability of code and, yes, security. Like type systems: there’s a reason we no longer write assembly language, squeezing multiple things into the bits of a register, unless we’re doing party tricks like demo coding or trying to push very limited systems to their limits.
… until you have an off day, or you get bored of coding, run off to join the circus as a professional knife-juggler and your codebase is inherited by someone of more conventional aptitude.
Sometimes you even have to deal with having mere mortals on your team!
Which is why garbage collection is the way to go.
It is a way to go but there are still cons there. Guaranteeing memory safety isn’t free. You have to pay for it somewhere, either at compilation time, like Rust, or during runtime like in Go. Both are solid approaches but GC will cause problems in cases where the extra runtime overhead is not acceptable.
The language/compiler restricting some bad practices makes safer code with less skill. Btw, there’s also Safe C++
Skill issue takes are dumb as fuck. It’s just republican personal responsibility takes using different language.
Intelligent people focus on producing systemically better outcomes.
C’s compiler prevents common type bugs and handles things like register allocation for you? So does skill.
I mean… they do kinda have a point on the last part. I’m no programmer or coder. I can’t code for shit. I don’t know a lot about development. And even I have the feeling that Rust people, they’re kinda like NixOS people a while back, they never shut the fuck up about it. :3
They’re definitely enthusiastic, I’ll give them that. But so many projects are sold solely on the fact that they are made with Rust, even though it means absolutely nothing to most users.
I remember when System76 announced that they were making a new desktop environment and the only thing they basically said about it back then was that it was made with Rust and it felt like my corner of the internet lost their mind about it like they had announced the second coming of Christ or something.
“Should I use rust or c++” is the wrong question IMO. The right question is “do I want the code I run, written by thousands or millions of randos, to be written in rust or c++”.
Unlike you babies I have Personal Responsibility and I write all of my code directly in assembly the way reagan intended. I don’t need guard rails and I’ve never had any issues with it because my Personal Responsibility keeps me safe
Magnetised needle and a steady hand or gtfo
The problem with these followers of rust is that they’re heathens, disbelievers and worshippers of the devil. Just like all of you heretics. There is just one programming language for the true believer and it is FORTRAN. The pure and true FORTRAN, that is, which is punched into cards of virgin paper, not the heresy created by the blasphemy of 99.
I’m just trying to imagine installing something like modern Microsoft Office from punch cards. Getting the heavy bankers box from the closet. Spending a few hours feeding cards into the reader. Going on a profanity laced tirade because some idiot put them away out of order. It was
probablydefinitely me.
I’d guess it’s Rust fan’s genuine belief that they have something revolutionary.
“Rust’s compiler prevents common bugs” So does skill. No offense to you, but, this trope is getting so tiresome. If you like the language then go ahead and use it.
If you’re that much of a galaxybrain, you should be writing everything directly in opcodes. In reality, nobody is and we invented languages to help us perform an activity the human brain is very poorly suited to.
This attitude also means that OP stares at their own obvious bugs on a screen all day and then decides they’re great, which is frightening level of detachment from reality to me.
Sadly, it is a detachment from reality that is entirely normal, even typical. In all walks of life.
What I still find surprising, even though normal, is how technical people can push actual facts and evidence right out of their world view.
Sure, 70% of the bugs in C++ code bases are memory rated according to multiple sources. So let me aggressively and confidently berate this idiot that says the Rust compiler is doing something useful.
You do not have to use either language to see how idiotic this is. Even if you accept that this guy has “the skill” to make compiler help redundant, he has no point at all unless he thinks that “typical” C++ users have that same level of skill. And, provably and trivially researched—they do not. Being this wrong makes him, as self-evidenced, incompetent by definition.
All he proves in the end is that he is angry (and I guess not a fan of Rust).
“Angry and incompetent” is sadly a much more common trope than the ones he tires off.
There’s some weird effects with language-specific bug rates.
In old Java, most uncaught exceptions are NullpointerExceptions, because most other exceptions used to be checked. Can’t not catch a checked exception.
So they made Kotlin, where NullpointerExceptions are the only type of checked exceptions. Now there are no unhandled NPEs anymore but now you get tons of other exceptions.
Oh yes, it’s so very human nature. But damn.
Most coders get the message at least a bit, I think. Other engineers have a reputation for massive egotism, software engineers don’t really.
Other engineers have a reputation for massive egotism, software engineers don’t really.
That’s a joke right?
Well, it’s possible I’m missing something, or that there’s a different reputation actually in the industry, since I’m an amateur. The first stereotypes I think of are unkempt, caffeine-dependent and socially inept.
When I’ve seen people asking for help online, traditional engineers seem much more likely to flex their credentials and then not actually answer. Although there’s definitely software examples as well.
What’s actually tiresome is how this keeps happening: https://paulgraham.com/avg.html
Great read
“So does skill” I agree 100%
However, we’re human. You show me a skilled developer who never causes bugs, and I’ll show you a liar.
No matter how skilled or experienced a developer is, they always have the capacity to introduce a bug by accident.
Whether it’s a typo, or simply being tired or distracted, or just having one of those moments, or even one of those days. It’s completely normal.
Coding is just communication, and when working on larger codebases it can be just as nuanced as interpersonal communication. People miscommunicate every second of the day.
I’ve never used Rust.
Gonna guess, basically the same thing. Easy answers to hard questions instead of you having to think about them.
So, as far as they would be concerned, the only reason more people haven’t chosen that path must be because they don’t know how much easier it is, and how much less they have to think about stuff.
They can’t see that building skill and knowledge has value beyond the extra effort.
I love this argument because it means this dude is the only skilled C developer on the planet. Chromium devs are just chumps that should be replaced by this uncommon God.
If we measure only by the amount of mistakes, there would be much more skilled C developers. Take my pristine skills for example, I’ve made zero mistakes writing all of my 3 lines of C code over years and years, zero mistakes
Because most projects are worked on by multiple people, and you shouldn’t trust that everyone who will work on something will have the same skill level as you
If there are two languages otherwise equivalent in NFRs, where one lets you make the mistakes and the other doesn’t, you’re a bit silly if you don’t pick the latter.
Good engineers shouldn’t struggle to use a different language, so that’s not an argument