3 ms·
A hammer is a skill modifier. Don't believe me? Try hammering a nail with the palm of your hand. As a programmer I deal in thoughtstuff, so things like langu
by fogus 14y ago
A hammer is a skill modifier. Don't believe me? Try hammering a nail with the palm of your hand. As a programmer I deal in thoughtstuff, so things like languages and IDEs are decidedly important. We absolutely must obsess over these things else we'll wind up hammering in nails with the palm of our hands (so to speak) forever.
However, should we stick doggedly to a given tool, especially in the presence of something better?
No.
- munificent 14y agoYour point is definitely true. The challenge is that we don't seem to be skilled in distinguish a hammer that is better from one that is simply newer and different. Programming technology seems to be about 20% utility and 80% fashion. Sure, wearing pants is good and having pockets lets you carry more stuff. But beyond that, changing your wardrobe because cuffs are out or pleats are coming back is just changing just for fashion's sake. That isn't to say it isn't important: social signaling is a huge part of what human animals do and we can and should never disregard that part of our simian nature. But we also should try to understand when we're picking things for pragmatic versus social reasons.
- fogus 14y ago> The challenge is that we... I think that this sentence echoes with the OP's last statement. That is, many people absolutely cannot distinguish, but the "we" you mention doesn't describe accurately, well, we. Otherwise, why are we wasting our time with Dart and ClojureScript? > understand when we're picking things for pragmatic I don't know you personally (to my great sadness), but I'm willing to bet that we do. :-)
- aidenn0 14y agoEveryone thinks they are able to distinguish it, clearly not everyone can. Therefore we might be wasting our time with Dart and ClojureScript (they may be shiny and new, but not much better, or we might be right that they truely are better hammers).
- LnxPrgr3 14y agoCynical people will see a new fashionable language and dismiss it as a pointless new thing to learn. Eager early adopters will jump right in and swear it's the best thing ever. Look, it even makes program X a one-liner! Both strategies will make suboptimal decisions, but both have their benefits. Sometimes the reason a new language or framework or abstraction or whatever is a bad idea isn't immediately obvious. It takes real experience with something, including the process of learning how to use that thing effectively, to work out when and where it's useful and where it falls down. Cynics are late to see the good. Early adopters are late to see the bad. Hipsters never get around to seeing the bad, or they decide it's irrelevant… until the fashion shifts, anyway. Whether you pick up every new technology that comes out or whether you wait until they've matured and proven themselves, you'll spend some time using less than optimal tools for whatever you're doing. But I don't think that's avoidable. Incidentally, I'm not convinced I truly understand a new tool until I can rant about its shortcomings at length and I've spent enough time with it to be reasonably sure it's not just that my brain hasn't yet warped in the right way for it to make sense. And even then I risk being wrong about it.