It’s cliche to talk about how fast technology evolves. It may also be wrong–at least when we consider the basic building blocks of computing.
Across the spectrum of programming languages, databases, and operating systems, little has changed over the past decade. Most programmers still turn to Java, database administrators still rely on Oracle, and the world remains split between Windows and Linux.
This isn’t to say that languages like Go, or databases like MongoDB and Apache Cassandra aren’t changing the world. They are. It’s just that the future takes a long time.
Do you speak polyglot?
Take programming languages as an emblematic example. We live in a world being devoured by software, with a bevy of modern languages tuned to mobile, cloud, and other relatively recent trends. Yet, we keep writing the future with Java.
Not that we should be surprised: Java has claimed the top spot for eons. It has maintained that spot by evolving to meet shifting industry needs, most recently as the programming language of choice for Android.
Nor is Java alone in its persistent placement. As Redmonk analyst Stephen O’Grady writes, commenting on the top 10 programming languages of 2015:
The Top 10 has been static. With minor [exceptions], in fact, it has remained static for several years. While we see periodic arguments from advocates of a particular language, or a particular style or type of language, the simple fact is that the group of the most popular languages has changed little and shows little propensity for future change….
The only exceptions to this static domination are Apple’s Swift and Google’s Go, built for mobile and cloud computing, respectively. But, even these challengers will take years to unseat Per, Shell, Scala, and R, among other languages.
As fast as the market moves, developer “infrastructure” like programming languages moves more slowly. It takes time to persuade a millions-strong developer population to forsake the tried-and-true for new options that may not prove to have much staying power.
The same is true for other developer options. Perhaps no trend has been as pronounced (or hyped) as much as big data, with a host of new database options to support it. So much so, in fact, that one database expert calls big data-friendly NoSQL “a complete game changer.”
It’s therefore not surprising that NoSQL databases like MongoDB and DataStax-sponsored Cassandra have been on a tear. In fact, both of these relatively young databases have cracked the top 10 and keep making progress against relational databases that have been around for decades.
And yet, as I wrote recently, the venerable Oracle database showed the biggest gains in overall popularity in 2015, despite already commanding a hefty lead.
Indeed, the top three databases of 2015, measured by overall popularity, were Oracle, MySQL, and Microsoft SQL Server. Go back in time a few years, and you’ll find those same three at the top of every developer’s list. Big data may be changing everything, but it’s not changing our database preferences. Not overnight, anyway.
Not that we’re going to remain in this comfortable cocoon of stasis forever. Just as we’ve seen Go and Swift make a dent in the top 10 programming languages, and MongoDB and Cassandra impact the top 10 databases, we’re going to see modern computing needs beg for modern computing solutions.
At the same time, we’re going to see a fair amount of persistence from past leaders. Partly, this will be due to the old guard learning new tricks (e.g. Java), and partly it will simply be a matter of developers forcing square technology pegs into round holes.
While we wait for the future to arrive, there are outsized opportunities for those who want to play their odds with up-and-coming alternatives. According to the 2015 Dice salary survey, while you can make plenty of money working as an Oracle DBA ($114,100), for example, there’s a lot more money in becoming proficient with NoSQL ($118,587), generally, and Cassandra ($128,646), specifically.
The same is true on the language side. No one ever got fired for learning Java, but there’s even more money available for the skilled Go programmer.
The future will take time, but there’s plenty of money for those that want to hurry it along.