A project my grad student is working on required us to review the implementation of the C++ standard library, and now I want to tear my eyes out.
Conversation
Notices
-
Embed this notice
Matthew Green (matthew_d_green@ioc.exchange)'s status on Friday, 27-Oct-2023 22:50:11 JST Matthew Green
- clacke likes this.
-
Embed this notice
Matthew Green (matthew_d_green@ioc.exchange)'s status on Friday, 27-Oct-2023 22:50:12 JST Matthew Green
This code is not cherry-picked. Every single line looks like this. It’s literally the most terrifying, unreadable pile of dogshit I’ve seen in my life. And as the owner of two dogs, I don’t use that term lightly.
clacke likes this. -
Embed this notice
clacke (clacke@libranet.de)'s status on Friday, 27-Oct-2023 22:50:13 JST clacke
@matthew_d_green Needs more underscores. -
Embed this notice
Ryan Castellucci :nonbinary_flag: (ryanc@infosec.exchange)'s status on Friday, 27-Oct-2023 22:50:15 JST Ryan Castellucci :nonbinary_flag:
@matthew_d_green Wait, whose code is that, DJB's?
clacke likes this. -
Embed this notice
Ken Tindell (kentindell@mastodon.social)'s status on Friday, 27-Oct-2023 22:50:16 JST Ken Tindell
@matthew_d_green This is the feedstock for LLM models, so one day all code will look like this.
clacke likes this. -
Embed this notice
clacke (clacke@libranet.de)'s status on Friday, 27-Oct-2023 22:50:16 JST clacke
@benfulton @matthew_d_green GCC libstdc++
-
Embed this notice
Ben Fulton (benfulton@fosstodon.org)'s status on Friday, 27-Oct-2023 22:50:17 JST Ben Fulton
@matthew_d_green Which implementation?
-
Embed this notice
Paul_IPv6 (paul_ipv6@infosec.exchange)'s status on Saturday, 28-Oct-2023 17:30:17 JST Paul_IPv6
i've heard of hazing rituals but this borders more on geneva convention violation...
clacke likes this. -
Embed this notice
Peter H. Fröhlich (phf@mastodon.acm.org)'s status on Saturday, 28-Oct-2023 17:30:22 JST Peter H. Fröhlich
@matthew_d_green For whatever reason I see several parallels to the classic "If you have a procedure with ten parameters, you probably missed some." Perlism.
clacke likes this. -
Embed this notice
Thijs Alkemade (xnyhps@infosec.exchange)'s status on Saturday, 28-Oct-2023 17:30:29 JST Thijs Alkemade
@matthew_d_green The only thing worse than reading decompiled, vtable-heavy C++ code is reading C++ source code.
clacke likes this. -
Embed this notice
Peter Sommerlad (petersommerlad@mastodon.social)'s status on Saturday, 28-Oct-2023 17:30:31 JST Peter Sommerlad
@matthew_d_green typical std library implementation. the ugly names are needed to avoid clashes with user macros.
clacke likes this. -
Embed this notice
Alexandre Oliva (lxo@gnusocial.net)'s status on Tuesday, 31-Oct-2023 13:08:18 JST Alexandre Oliva
underscores protect the code from preprocessor macros. names starting with double underscores are reserved for use by the language implementation -
Embed this notice
John Burns (johnjburnsiii@kzoo.to)'s status on Tuesday, 31-Oct-2023 13:08:19 JST John Burns
Did you find out why they prefixed with the underscores?
I saw something like that in early 00's - but I don't remember the reasoning behind it.