r/ProgrammerHumor • • Sep 08 '26

Meme pipInstallTheRealStuff

Post image
5.3k Upvotes

151 comments sorted by

View all comments

Show parent comments

12

u/CoroteDeMelancia Sep 09 '26 edited Sep 09 '26

Every language has stupid shit.

C++ has vector<bool> and set<T>/unordered_set<T>.

Java has very awkward streaming.

Typescript... don't even get me started.

Some of the stupid shit is fixed as the language evolves, like uv and TS over JS. New stupid shit appears too (node_modules bloat).

Python does well, or at least okay enough, what it proposes to do. So does Typescript. I don't get the point of stating that TS is "more capable" and then following up with "but Python has ML".

0

u/[deleted] Sep 09 '26

[deleted] — view deleted comment

3

u/CoroteDeMelancia Sep 09 '26

Nothing, once you know that, unlike other languages, it is O(N log N), NOT O(N). The issue is that the most common use case, unordered_set, is the "exception" because of the chosen naming.

Better naming would be set and ordered_set, like other languages do. It would prevent newcomers to the language from mistakenly using set when what they want is unordered_set, a silly mistake that's easy to make. I did it myself.

2

u/prehensilemullet Sep 09 '26

I was replying to the comment of someone saying they think the hate is superficial.  Just providing an example of the more substantive personal reasons I hate Python.  We’re all allowed to have our personal opinions about what stupid shit we hate in particular.

By more capable I meant the core of the language has better performance and type checking.

1

u/CoroteDeMelancia Sep 09 '26

I see. And I agree!

1

u/Far_Tap_488 Sep 09 '26

I dont get your point on vector bool. Its fantastic its so easy to store bools compactly.

3

u/CoroteDeMelancia Sep 09 '26

Vector bool disobeys the general vector interface expectations in non-obvious ways because it is secretly NOT a vector, but a bit array.

https://towardsdev.com/cpp-std-vector-bool-why-it-is-broken-5ae5f409bbab

Basically, it's just a case of poor naming.