This is why I stick to Rust. The gender affirming surgery takes some getting used to, but at least I have both legs.
Don’t waste money on HRT, use Rust and your private parts will rust away in no time.
Enjoy your government mandated Blahaj shark
He forgot to allocate his leg.
Also, it looks like he pointed to foot correctly. I’m surprised he didn’t shoot his hand, the pointer to a pointer to a foot.
This joke has layers, is quite funny, and kind of hurt. Just like my pointer handling code!
I’ve heard this trope before but I’m skeptic. I’m not a C expert but I can’t believe memory bugs in that language are so much more benign than in C++.
With C, you need to carefully craft your own gun with just iron ingots and a hammer. You will shoot yourself in the foot, but at least you’ll have the knowledge that it was your craftsmanship that led to it.
With C++, there are already prebuilt guns and tons of modifications that you can combine at will. If you shove it in the right way, you can make a flintlock shoot a 50 cal, but don’t complain when your whole leg gets obliterated.
C also has pre-built guns, such as
gets
andscanf
.Oh, for sure. It’s just that in C, you have to make most of, well anything, really.
It is indeed a trope and a mostly false one - C++ introduces more dramatic ways to footgun yourself but a plethora of tools to make it easier to avoid them - in particular the built in library functions actually encourage good C++ programming practices…
Well, let’s just ignore
gets()
.Memory bugs are only a tiny share of the foot guns in C++
They are, but it’s also more than that. C++ is like if git were a programming language.
Yep. Incredibly powerful, and it will not hesitate to help you blow your own legs off.
The big difference is that git will save your legs in
reflog
for a couple of weeks.Learning about reflog was a game changer. Now I’m never afraid of breaking my branch. If I mess up, I can always
git reset —hard
to a previous state.Another game changer was learning that a perfectly valid way of doing squash is to do
git reset
to an earlier commit and then dogit commit -a
. Saves a lot of rebasing headache.
Interesting analogy, please explain
use after free error (trying to walk with one leg missing)
I don’t want to give the impression of being elitist, nor am I trying to make myself look super skilled, but whenever I hear people criticizing C for being unsafe, or for lacking some library, I can’t help but think that’s a skill issue, not an actual problem with the language.
i think its more a critism of using C where it shouldnt, or by people who shouldnt use it. certainly a skill issue, but a lot of people simply will make mistakes, and better to be safe. C of course has its uses though
no foot to shoot, no problem! 👍