The three most prevalent themes in the discussion surrounding the article are:
-
Critique and Sarcasm Regarding Implementation Complexity vs. Simplicity: Many users pointed out that the highly complex, meta-programmed solution (generating 4 billion
ifstatements) was an extreme over-engineering of a problem solved simply by looking at the last digit or using the modulo/bitwise AND operator.- Supporting Quote: "All you need is the final binary digit, which incidentally is the most optimal codegen,
v & 1." (mgaunard) - Supporting Quote: "Horridly inefficient. Just unfold the loop." (kroolik)
- Supporting Quote: "All you need is the final binary digit, which incidentally is the most optimal codegen,
-
The Sarcastic Praise of the "Visionary Genius": There was significant joking and sarcasm directed at the author's purported justification of using C due to "visionary genius" figures like Dennis Ritchie, often conflated with humorously incorrect attributions (like Ross van der Gussom for Python's creator).
- Supporting Quote: "Thanks for making me doubt myself & googling who that guy who made python was again, because surely 'van der Gussom' isn't a normal Dutch name. Well played." (isoprophlex)
- Supporting Quote: "I decided to use the slowest language on the planet, Python (thanks to the visionary genius of Ross van der Gussom)." (mbivert, quoting what they assume was the author's joke)
-
Discussion on Compiler Optimization and Performance: Users debated whether a compiler (like GCC) would simplify the absurd amount of code generated, or if disabling optimizations (as mentioned in the original experiment) was necessary to observe the intended effect, leading to further tests regarding compilation time.
- Supporting Quote: "Lets compile the code, disabling optimizations with /Od to make sure that the pesky compiler doesnβt interfere with our algorithm" (bspammer, quoting the likely practice)
- Supporting Quote: "Well I created the 16 bit .c file, because I'm not that curious. gcc -O0 completed immediately and made a 1,5MB executable. -O1 took about 10 minutes for a 1,8 MB executable. -O2 has been running for 1h15m so far..." (encom)