this post was submitted on 21 Nov 2023
189 points (89.9% liked)

Programmer Humor

32588 readers
935 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 29 points 1 year ago (5 children)

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++.

[–] [email protected] 34 points 1 year ago* (last edited 1 year ago)

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.

[–] [email protected] 17 points 1 year ago

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().

[–] aport 7 points 1 year ago

Memory bugs are only a tiny share of the foot guns in C++

[–] stifle867 1 points 1 year ago

It's not just that but C is also a much simpler language overall. I've always referred to these two blog posts for some interesting points:

Why should I have written ZeroMQ in C, not C++ (part I)

Why should I have written ZeroMQ in C, not C++ (part II)