Programming productivity obstacle No. 14: Clinging to legacy tech
There are 680 job listings on Dice.com with Cobol in the title out of 70,000-plus listings. That's still close to 1 percent. The defenders will say it's a great technology that still gets the job done. Why rewrite that dusty deck of punch cards just to move forward?
They have a point, but they often forget about the costs of keeping this ancient code around. Everything usually needs to be translated, often with custom code. Some of the code was written before ASCII, which means converting the input and output. The old systems often count the blank space characters just to figure what is in the database. That's even more conversion.
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.
- Read the Off the Record blog for on-the-job stories from IT pros -- and share your own
- Dev-olution: Saluting 19 generations of computer programmers
- Safeguard your code: 17 security tips for developers
- 9 key career issues software developers face
- Top 7 dilemmas facing today's developers
- 7 programming myths -- busted
- 10 hard truths developers must learn to accept
- 11 programming trends to watch
- 12 programming mistakes to avoid
- 10 programming languages that could shake up IT
- 9 popular IT security practices that just don't work
- 10 crazy IT security tricks that actually work
- Download: InfoWorld HTML5 Deep Dive
- Download: Malware Deep Dive Report
- Download: Data Loss Prevention Deep Dive Report
- Download: Insider Threat Deep Dive Report
- Quiz: "Hello, world": Programming languages quiz
- Quiz: Java IQ test
- Quiz: HTML5 IQ test
- Quiz: Programming IQ test: Round 1
- Quiz: Programming IQ test: Round 2
This article, "15 workplace barriers to better code," originally appeared at InfoWorld.com. Follow the latest news in programming at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.