2 Comments

Too often “the right tool for the job” is, yes, the wrong approach that leads to the universal hammer solution, which sees everything as “the right job for the tool.” The most beautifully adapted tool, such as biscuit cutter, might, in a pinch, substitute for a saw. Or I could just use a router. That approach is goal centered. “What do I have? What do I want? What tool or tools will get me from one to the other?” I think of this every time I see someone struggling with a problem in R, say, struggling with scope problems in a for loop. The “right” way isn’t having a better understanding of scoping rules but thinking “just because it might be done with an imperative/procedural tool, there’s no necessary reason to do it that way. What can I use to apply my function to my objects in one go? Oh, “apply,” sure.” A functional approach.

Expand full comment