All Linux enthusiasts are attractive women.
I’ll settle for girlish and overknees
Even if they are men?
Especially if they are men
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.
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)
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.
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!
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.
- 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
w o u l d
Absolutely. Put the gun away. You got me at nerdy.
Seriously though, anyone knows the source of the pic? I’ve been wondering for a while.
In C++? I’d rather be shot, thanks :P
Jesus Christ, how old is that Pi?
12
My type of stay-at-home wife works on OSS projects all day
I better be getting pegged at the end of the night if she makes me suffer by writing C++.
Nothing says “I love you” quite like a surprise LFS install.
When you find out your partner is into BDSM…
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
The cool kids are forcing people to read this at gunpoint nowadays
Why is there Gleam and Deno on the cover?
I know you’re joking, but uh, both of those are (largely) implemented in Rust…
Cool, I didn’t know that!
I like Go better
However, C is still king in a lot of ways
C is definitely still king, but I wonder if crABI will eventually be able to dethrone it:
https://github.com/rust-lang/rust/issues/111423
If they can define a useful ABI that manages to include lifetimes, that might just be enough of an improvement to get people to switch over from assuming the C ABI everywhere.
The problem is that both Rust and Go are huge. The compiled binaries are bigger and the compilers themselves and slower and more resource intensive. The current benefit to C is that is lean and compiles quickly.
Rust is only huge because it doesn’t have an ABI. If you had an ABI (and didn’t have to compile every single dependency into the binary) the binary sizes would probably drop a lot to the point where they’re only slightly bigger than a C counterpart
Edit: I don’t know if Go has an ABI but they also include a runtime garbage collector in their binaries so that probably has something to do with it.
Still remains to be seen if a potential rust ABI can avoid becoming a chain to the wall the way the C++ ABI seems to have become. When a lot of C++ers apparently agree with “I’m tired of paying for an ABI stability I’m not using” it’s not so clear it would really be a boon to Rust.
That said
no_std
appears to be what people go to for the lean Rust.And a lot of us are happy not having to juggle shared dependencies, but instead having somewhat fat but self-contained binaries. It’s part of the draw of Go too; fat binaries come up as a way to avoid managing e.g. Python dependencies across OS-es. With Rust and Go you can build just one binary per architecture/libc and be done with it.
Right? It’s in the kernel and everything now. Linus likes it. Linus hates everything. HOW MUCH ARE THEY PAYING HIM?
Did he actually say that he likes it? My impression was that it’s not his comfort zone, but he recognizes that for the vast majority of young programmers, C is not their comfort zone. And so, if they don’t hop on this Rust train, the Linux kernel is going to look like a COBOL project in a not too distant future. It does not happen very often that a programming language capable of implementing kernels gains wide-spread adoption.
One (1) good programming language is what they paid him XD
Big Rust has gotten to Linus
Not the L man!
I’m pretty sure Linus dissed on RUST, but then again he disses on everything and everyone.
I’ll never touch Rust.
I hate the syntax and cargo too much for that. If that means that I’ll never write mission critical, low level code, so be it.
What don’t you like about Cargo? Is there another package manager you like more?
Well - I of course prefer a centralized package manager like pacman, which I also use for python packages etc., but I mainly dislike the building process of rust, which is usually done with cargo. No libraries, not even a global cache for already compiled dependencies, no distcc. This makes it infinitely slower than most C/C++ projects. Compiling the kernel is literally faster than compiling a “simple” project like spotify_cli (500+ dependencies, depending on configuration).
So it’s ass from a user perspective, waiting for stuff to compile (just for it to fail, and start from scratch, as some stuff needs a clean build/src dir), and imo very weird from a dev perspective.
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.
please don’t make me read another bjarne book. the last time i read one it made me want to stop programming
That’s not socks that’s a gun