Programmers can do a great job with screenscraping, reformatting, and jury-rigging together systems like this, but after some time they spend more work refreshing the glue logic and less time writing new logic.
Programming productivity obstacle No. 15: Lust for the latest and greatest
We've all been in meetings with this guy. He refers to Java as something "my grandfather wrote." Node.js is, like, soooo 2012 to him. He's moved past thinking of Haskell as a language, and he's back to using it for an ironic reference to "Leave It to Beaver."
The latest tools are fun to play with, but they can't be used in a respectable development shop without spending hours recoding the work you did last week. The people on the cutting edge are always tossing away entire sections of the API and rewriting them, forcing those of us downstream to rewrite our code too. I'm still cheesed off when I try to juggle Python 3.0 code with Python 2.7 code, and as things go, Python is a relatively stable code base.
In many cases, the new tools haven't been battle-hardened. Node.js, for instance, can be wicked fast, but only if you relearn all the lessons about deadlocks that lead people to create threads in the first place. There's often no free lunch, and these tools can produce wonderful results by cutting a corner. However, those shortcuts come back to haunt us.
Sign up for Computerworld eNewsletters.