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.
I'm reminded of how I had to replace a faucet on an old, hyper cramped, sink and the ONLY way to get it out at the time was to use needle nose pliers and painfully twist the retaining nut like 10deg at a time... only after that ordeal did I search online out of frustration and found there existed specialized sink wrenches help do this. I could've saved the $20 and kept on using pliers, but I sure as hell won't any more.
Knowing what tools exist out there is part of the job, even if we don't use them for other reasons
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.
I'm reminded of how I had to replace a faucet on an old, hyper cramped, sink and the ONLY way to get it out at the time was to use needle nose pliers and painfully twist the retaining nut like 10deg at a time... only after that ordeal did I search online out of frustration and found there existed specialized sink wrenches help do this. I could've saved the $20 and kept on using pliers, but I sure as hell won't any more.
Knowing what tools exist out there is part of the job, even if we don't use them for other reasons