Earlier quoted context omitted.
I mean, the whole point of explicit being superior to implicit is because what's obvious to some isn't necessarily obvious to everyone. Someone following me could look at it and go.. "well duh" and that's not going to hurt anyone, but if I didn't put that comment and someone refractometer, then we have someone redoing and then undoing, for no good reason. There's that meme where people are told to update the number o…
Do you write a comment before every for loop to explain how a for loop works? Do you write a comment above that to remind the reader that the next few lines are written in, say, Go, just like in the rest of the file? Do you write a comment explaining that the text appearing on the screen is actually digital and will disappear when you turn off the computer? Obviously you don't, because you assume that the person read…
Thank you for missing the point.
It's not about the WHAT, it's about the WHY.
For loops are obvious. O(n) being intentional instead of 'lazy' isn't obvious without context. That's what comments preserve - the decision rationale, not the syntax explanation.
A professional developer can read code. But they can't read the mind of the author who made a non obvious tradeoff. That's what comments preserve.
> I guess where we differ is that to me, a professional software developer should be able to understand good code. If they aren't, they are a junior who needs practice. But I am for designing tools for the professionals, not for the apprentices. The goal of an apprentice is to become a professional, not to remain an apprentice forever.
If you are going to make personal attacks, you should know that I work with actual professionals, and they understand that future maintainers, myself included, cannot read their mind on why they chose the path they did.