Reality Check

Blog archive

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 ([email protected] 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


  • FCW Perspectives
    zero trust network

    Can government get to zero trust?

    Today's hybrid infrastructures and highly mobile workforces need the protection zero trust security can provide. Too bad there are obstacles at almost every turn.

  • Cybersecurity
    Rep. Jim Langevin (D-R.I.) at the Hack the Capitol conference Sept. 20, 2018

    NDAA process is now loaded with Solarium cyber amendments

    Much of the Cyberspace Solarium Commission's agenda is being pushed into this year's defense authorization process, including its crown jewel idea of a national cyber director.

Stay Connected

Sign up for our newsletter.

I agree to this site's Privacy Policy.