Put the gun away and throw that cpp book in the bin, fool. I brought The Linux Kernel Programming Guide, which is in C, and my own socks, which are wool. Now let’s gets crackin.
Bonus points for some Rust device drivers.
Never touched rust, so I don’t understand the hype. I’m not arguing against it, mind you, but I’m gathering, more and more, that it’s worth a look. Maybe I’ll look into it after work.
even all of that hype about memory safety and borrow checker you keep hearing aside, the actual coolest thing about Rust is how it does Traits instead of classes and that you can bind arbitrary data to enums
Really? That’s really cool. So, what’s all the hate? Is there any actual merit to it, or is it just an “I’m better than you because I just am” mindset?
The serious answer here likely has several components:
- Some people and businesses have invested a lot in languages that governments are now trying to deprecate. When someone is told that their assets may be stranding, and please move on to
$NEWTHING
, they’re likely to get … grumpy. Both they and the government may be correct here, even if they’re at odds—they have different scopes and concerns. - Differing values. See e.g. Cantrill’s “Platform as a reflection of values”.
- Rust highly values correctness, which will feel like a straitjacket to a lot of people.
- It also moves as much error detection as it can to the compilation stage, which won’t sit well with people who want to get something out the door ASAP and then find the bugs as they happen.
- So it also encourages tackling complexity early rather than kicking the can down the road, which again isn’t to everyone’s preference.
More than half the points are just good engineering practice directly embedded in the language.
It tells a lot about the state of programming in general with the pushback we see with memory safe languages.
I’m down with Rust and I can’t wait for official support for embedded Rust in chip manufacturers, because until then, very few clients will be okay with using unofficial Rust cargos for their products.
Yeah, that’s the correctness focus. Some people dislike it as a straitjacket, some even take it as a personal insult because they see it as a skill issue. They, the good devs, shouldn’t be held back like that (spoiler: they aren’t as good as they think they are).
Personally I like that aspect of Rust, but I also write Python with a typechecker and a loong list of enabled lints in
ruff
. I can get the happy path done without it, but having just the happy path often isn’t good enough.Enforced correctness helps a lot with confidence for those of us who know we sometimes make bad assumptions or forget some nuance or detail. But it will be absolutely infuriating for people who can’t stand being told they made an error, even one of omission.
This is a very detailed answer, and I greatly appreciate it. So, the subpoints on point 2 are benefits in my eyes. Just another reason to delve deeper into this language. Thanks!
- Some people and businesses have invested a lot in languages that governments are now trying to deprecate. When someone is told that their assets may be stranding, and please move on to
I already use linux. My feet have been getting cold lately. it never occurred to me to get wool socks. Is this how it starts? Are skirts next?
Unless you use goat wool socks. Then you can go for a old school hippie build. Sandals, long hair, tie dye shirt and go from there.
Socks were invented to be used in sandals, it’s the one true way!
(Typed wearing big woolen socks in birkenstocks)
C++? Shoot me
the author of C++ said that C gives you many opportunities to shoot yourself in the leg. You have a much less chance for this to happen with C++, but when it does, you will blow your whole lower body off
Yeah C++ is a bazooka, C is like the death of 1000 paper cuts.
The paper cuts are all poisonous and kills you anyway.
I haven’t used either, but compiled a lot of C source code and they compiled or could be adjusted easier even for someone who barely knows what printf, fopen, or #include are
The thing with C is that you probaby won’t know you messed it up. It happens silently as memory gets corrupted.
Modern compilers are much more advanced but you still can overwrite stuff in memory with other stuff
Wat? Don’t you dare talk that way about my favorite multiple personality disorder clusterfuck of a language.
C is the only language, all the rest are mental disorders 😉
I still.like fortran better. (And I am not even lying.)
As someone that has programmed professionally a good chunk in C for embedded systems (basically it’s home turf), fuck C.
In C++? I’d rather be shot, thanks :P
Linux is C only, ever read the rant by Linus last century about C++ ? I was there, in usenet
They’re about allow bits of rust though
Have they tried applying a bit of protective oil coating?
Heresy!
Wait, you are telling people had discussion in Usenet? No way!
it was mostly flame wars, alt.bin.pictures.erotica, warez, discussion about The Simpson, and of course The Oracle, and Kibo.
EDIT for young people, the usenet oracle and kibology
He’s having the same rant every couple of years. It’s always funny.
I appreciate the usage of the pi 1 and not one of the newer versions.
Maybe I’m just old but old pi was special
Pi 1 was an amazing idea, I ordered one as a sonon as they were available and then never used it for anything. I’ve bought way to many pis since then.
It was! I still have mine somewhere in the house. It was my kodi media player for a long time.
please don’t make me read another bjarne book. the last time i read one it made me want to stop programming
Could’ve got me there quicker by telling me the truth
That’s not socks that’s a gun
My type of stay-at-home wife works on OSS projects all day
Only the internet to keep telling us these lies 😭
I better be getting pegged at the end of the night if she makes me suffer by writing C++.
Bad trigger discipline
its more intimidating
Here’s what we’re gonna do. We’re going to do the equivalent of x11 application network transparency but with wayland.
Kind of like streaming a desktop with sunshine, but on an app by app basis.
Also we’re gonna make a client that work for it on android, windows and in a browser.
Then I’m going to fuck you in the ass
I’m down for Linux, but not C++ (I’m not into S&M)
Jesus Christ, how old is that Pi?
12