3 ms·
Reasoning About Code
- wantreprenr007 11y ago"Don't make me think (unnecessarily)" is just one of several good ideals for scalable and maintainable projects, because valuable code is easy to learn and easy to add to. And since the code and doc is a shared, collaborative description of machine behavior, it should help new people understand tradeoffs, motivations for engineering decisions and history to better use or add to it.
- horsebees 11y agoThinking about side effects is only a part of the issue. E.g. I use immutable classes with builders in Java almost dogmatically. Run-time cost thinking is something that is never brought up when FP is contrasted to other forms. For example, in CLRS when you look at run-time of a function with loops, it's really really easy to just look for the loops. But with FP... people like recursion. Solving recurrence relations is Hard Work (tm).