Didn’t see it mentioned in the article but isn’t leading with if-statement called a “guard clause”.
I like that pattern but it’s just general best practice I thought.
socializertoday at 8:00 PM
I am continually impressed by the ability of LLMs to take trivial ideas and turn them into lengthy and obtuse blog posts with unnecessary analogies.
wallstoptoday at 8:34 PM
What is missing here is any benchmarks backing up this argument for code structure.
The same technique is applied as an optimization, when deemed safe, in all current gen c compilers (gcc, llvm, etc).
I'm very confused why neither measurements nor references to when this is done automatically in most modern languages is included in the article.
ninalanyontoday at 8:51 PM
I've done this for years. Not every time of course but where it makes the code easier to understand and maintain.
Speed was almost never the reason.
aapplebytoday at 8:57 PM
I have always phrased this as "Never do one of something".
OutOfHeretoday at 9:12 PM
I like it, but to do fizzbuzz in this way, you'd have to separate what's inside the loop into a reused function.
alteromtoday at 9:10 PM
TL;DR in one sentence:
"the loop runs without a branch, and is a candidate for vectorization".
That's it, that's the article. This matters a lot in huge-scale / scientific computing / HPF, where if you can express something as an operation on vectors on matrices, you win big (those ops parallelize well, can be run on GPUs, clusters, what have you).