5 ms·
The cost of abstraction. If it doesn't affect performance then who's thinking is "wrong" here?
by mentos 11y ago
The cost of abstraction.
If it doesn't affect performance then who's thinking is "wrong" here?
- mousa 11y agoWhat abstraction? Comparisons are ubiquitous, easy to read, and a one-liner as well. If the range were to change it could affect performance. I've never seen anything written like the original loop, it's not like it's a Python idiom or anything. I'd say it's the wrong way to do things.
- mentos 11y agoThe abstraction is in removing the cognitive overhead needed to understand this. The original programmer can now allocate the time saved to higher level concerns. That is what C did for assembly and what Python is doing for C. Is that not the theme of abstraction?
- blktiger 11y agoIn this case I actually think the cognitive overhead is larger for the in range(5) call. You have to know how that will behave, is it 1 <= x < 5 or 1 <= x <= 5? The comparisons are more explicit and they are quite easy to read in this case.