this post was submitted on 08 Jun 2024
1064 points (98.5% liked)

Programmer Humor

19572 readers
978 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 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] Pelicanen@sopuli.xyz 49 points 5 months ago (1 children)

C++ is unironically my favorite language, especially coding in python feels so ambiguous and you need to take care of so many special cases that just wouldn't even exist in C++.

[–] GlitchyDigiBun@lemmy.world 58 points 5 months ago (4 children)

But can you read someone else's C++ code?

[–] magic_lobster_party@kbin.run 47 points 5 months ago

Why should I do that?

[–] Narwhalrus@lemmy.world 28 points 5 months ago (2 children)

Typically, I can read an "average" open source programmers code. One of the issues I have with C++ is the standard library source seems to be completely incomprehensible.

I recently started learning rust, and the idea of being able to look at the standard library source to understand something without having to travel through 10 layers of abstraction was incredible to me.

[–] barsoap@lemm.ee 6 points 5 months ago (1 children)

One of the issues I have with C++ is the standard library source seems to be completely incomprehensible.

AAAAAAhhh I once read a Stroustrup quote essentially going "if you understand vectors you understand C++", thought about that for a second, coming to the conclusion "surely he didn't mean using them, but implementing them", then had a quick google, people said llvm's libc++ was clean, had a look, and noped out of that abomination instantly. For comparison, Rust's vectors. About the same LOC, yes, but the Rust is like 80% docs and comments.

[–] uis@lemm.ee 1 points 5 months ago* (last edited 5 months ago)

I think some of those abominational constructs were for compile-time errors. Inline visibility macro is for reducing bynary size, allowing additional optimizations and improving performance and load time.

In my projects I set default visibility to hidden.

[–] magic_lobster_party@kbin.run 5 points 5 months ago

I wonder what went into their minds when they decided on coding conventions for C++ standard library. Like, what’s up with that weird ass indentation scheme?

[–] xmunk@sh.itjust.works 11 points 5 months ago

You can absolutely read my code. The ability (similar to functional languages) to override operators like crazy can create extremely expressive code - making everything an operator is another noob trap... but using the feature sparingly is extremely powerful.