this post was submitted on 16 Mar 2025
804 points (100.0% liked)

Programmer Humor

21852 readers
1100 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
804
C++ (ani.social)
submitted 1 week ago* (last edited 1 week ago) by [email protected] to c/[email protected]
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 72 points 1 week ago (2 children)

Ah, C++. An endless supply of footguns where the difference between a junior and a senior dev is knowing what parts of the language to never use.

[–] [email protected] 29 points 1 week ago (2 children)

Real C++ programmers pass by const ref and tell pointers to fuck off.

[–] [email protected] 17 points 1 week ago* (last edited 1 week ago) (2 children)

You can also make everything a smart pointer and be done with it.

I can count on more than one hand the number of large scale projects where converting everything to smart pointers fixed major memory issues. Even if smart pointers can’t handle circular references, the number of projects that just don’t manage their memory correctly at all and were fixed by introducing these tools is way too high.

[–] [email protected] 5 points 1 week ago (1 children)

This is a bit embarrassing but the last time I actively worked in C++ it was with Qt and pre C++11.

[–] [email protected] 3 points 1 week ago

Almost the same as me. All kinds of programming jobs. I usually end up working in Python or C, for embedded systems work.

Of course, if you’re talking hobby, it could be anything.

[–] [email protected] 2 points 1 week ago (1 children)

Which kind of smart pointer, with which kind of footgun? I mean, it's better than not even trying I guess, but if it was actually a full solution you'd just have Rust.

[–] [email protected] 9 points 1 week ago

You’re right. It’s a stop gap, but when you’re talking about a code base that has been maintained for 20 years plus you can’t really sell re-implementation.

Most recently it was with an older version of C++ using shared pointers.

[–] [email protected] 2 points 1 week ago

const ref or unique_ptr if you need ownership

[–] [email protected] 8 points 1 week ago (2 children)

I thought C++ was meant to get rid of C’s footguns?

[–] [email protected] 55 points 1 week ago (1 children)

It’s almost backwards compatible. You can use old or new foot guns.

[–] [email protected] 21 points 1 week ago

Hooray, choice!

[–] [email protected] 21 points 1 week ago

C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.

- Bjarne Stroustrup