Computer languages have a strange shelf life. The most popular among them experience explosive growth driven by herding behavior akin to that of the fashion industry. But when they fade from the spotlight, something odd happens. Instead of disappearing like a pop song or parachute pants, they live on and on and on and on. The impetus behind this quasi-immortality? It's often cheaper to maintain old code than to rewrite it in the latest, trendiest language.
In the past, tending to an old code base was a lonely experience, not unlike living on a desert island. The job was to keep everything running with virtual duct tape and baling wire. Old tools and old compilers were coddled and fussed over because they were essential to keeping the old code alive. Old libraries were treated like family heirlooms, especially if they came with source code.
That's changed in recent years with the emergence of new cross-compilers and interpreters. Suddenly the old can be brought into the present, not with perfect harmony but with enough integration that curators don't need to feel like they're living and working alone. The right tools can follow Ezra Pound's dictum to "make it new again."
The tools are far from perfect, but they tantalize despite their flaws. Rewriting remains a challenge, as it usually means understanding code that was written when disk space was expensive and comments cost real money. While putting in the effort can yield great benefits and erase some technical debt, we often don't have that luxury. Instead, it might be simpler and faster to fiddle with these cross-compilers, translators, and emulators to modernize old code bases than it would be to collect a big team steeped in dying programming languages to pick through old code and rewrite everything.
Sign up for CIO Asia eNewsletters.