On the one hand, I agree. On the other hand, a type declaration cannot possibly tell you /why/ unless the type system encodes a significant portion of our physical world.
This encoding is left as an exercise for the reader.
Agreed, generally. I'd say comments are to express things the code itself cannot. More expressive languages can get by with good naming, some declarations, and clear idioms in many cases.
The most useful kind of comments are "why" comments, about why specific design trade-offs were chosen.
Comments
On the one hand, I agree. On the other hand, a type declaration cannot possibly tell you /why/ unless the type system encodes a significant portion of our physical world.
This encoding is left as an exercise for the reader.
Agreed, generally. I'd say comments are to express things the code itself cannot. More expressive languages can get by with good naming, some declarations, and clear idioms in many cases.
The most useful kind of comments are "why" comments, about why specific design trade-offs were chosen.