Reality Check

Blog archive
learning

Don't go chasing waterfalls … or programming languages

In the last year, a new programming language seems to pop up every few months promising huge improvements over past languages. Just last week, Wired magazine presented a new language called “Julia” and proclaimed it was “the one programming language to rule them all.”

Before that, we had Go, Rust, Dart, Scala and Ceylon just to name a few. (There are many more out there, like F#, Opa and Fantom). Tired yet? Well, as one blogger recently pointed out: “The programming steamroller waits for no one.” 

Personally, I have not yet found a new language that is significantly better than the current dominant languages like Java, C# or Javascript. Marginal improvements at the edges just don’t interest me, nor do they pass the barrier to entry. Furthermore, as I have previously written, programming languages no longer matter – platforms matter

On the other hand, the government notoriously suffers from technological inertia with major initiatives using mainframes and their archaic languages like Ada and even MUMPS (circa 1966). 

On one hand, government IT managers should not be enamored by the latest shiny new language, but they should also not be mired in the tar pits of outdated technology. The sweet spot lies in utilizing the dominant language by platform (i.e. clients, servers, mobile, cloud). Don’t be fooled by niche promises of over-zealous techies who like to live on the bleeding edge. I myself, in my younger days, have been guilty of this – chalk it up to youthful exuberance. Now, I know better, and so should you. 

Some of the niche improvements these languages are pursuing are performance (a perennial favorite), easy parallelism (like goroutines in Go), functional programming (like Scala), cross-platform (like Fantom), and syntactic sugar promising either more intuitive or faster coding. 

I once witnessed a major, mission-critical initiative bow to techie demands to use a hot new dynamic programming language that was over 30 times slower than the dominant language. That system is still in development but given that the performance requirements and volume of data were expected to triple, choosing a dynamic language, for that set of requirements, was downright foolhardy. 

And that brings us to the moral of this story: A programming language is merely a tool to achieve the business objectives of a robust and efficient IT system.  Be wary of techies steering the conversation to the hottest new language of the month in the name of feature X or improvement Y. The dominant programming languages for each platform type are dominant for a reason. 

As platforms like cloud computing mature, we could see new languages tailored to the that platform become dominant. Then, and only then, a switch is warranted. As TLC says in the song, “Please stick to the rivers and the lakes that you’re used to.” 

Michael C. Daconta (mdaconta@incadencecorp.com or @mdaconta) is the Vice President of Advanced Technology at InCadence Strategic Solutions and the former Metadata Program Manager for the Homeland Security Department. His new book is entitled, The Great Cloud Migration: Your Roadmap to Cloud Computing, Big Data and Linked Data.

Posted by Michael C. Daconta on Feb 12, 2014 at 10:45 AM


Featured

  • Telecommunications
    Stock photo ID: 658810513 By asharkyu

    GSA extends EIS deadline to 2023

    Agencies are getting up to three more years on existing telecom contracts before having to shift to the $50 billion Enterprise Infrastructure Solutions vehicle.

  • Workforce
    Shutterstock image ID: 569172169 By Zenzen

    OMB looks to retrain feds to fill cyber needs

    The federal government is taking steps to fill high-demand, skills-gap positions in tech by retraining employees already working within agencies without a cyber or IT background.

  • Acquisition
    GSA Headquarters (Photo by Rena Schild/Shutterstock)

    GSA to consolidate multiple award schedules

    The General Services Administration plans to consolidate dozens of its buying schedules across product areas including IT and services to reduce duplication.

Stay Connected

Sign up for our newsletter.

I agree to this site's Privacy Policy.