Is Java a Dead Language?
For many years, coders have been declaring the deaths of numerous computer programming languages, many old and unused, but some still very much alive. So it was not surprise when I found this question while stumbling around the internet:
“Is the end of Java near?”
So here was my response:
Languages don’t truly die. But I’m not referring only to code languages. There’s a simpler, less bipartisan way to answer this question.
My thesis? By the definition of dead languages, Java will never die so long as there are coders who are fluent in the Java language, and actively make use of this knowledge.
But first, let’s recap! Every answer to this question that I’ve found seems to revolve around a few basic points:
- Android relies on Java.
- Java developers are constantly augmenting the existing Java libraries.
- The JVM is alive and thriving
- Many large corporate and public infrastructures rely on existing Java code, and no one wants to invest in upgrading/rebuilding said edifices.
- Java has application-specific advantages that make it a healthy competitor to other major languages, depending on the intended use.
Alternatively, some responses have declared that Java should die:
- Java is a patchwork language that has been muddied and obfuscated -through years of hastily cobbled additions.
- Java teaches poor coding practices that rely on outmoded or ineffective core principles.
- Java’s object-oriented paradigm is clunky and gluttonous, and is used far too often in situations that don’t require objects.
- Java is striving to do too many things at once, and is mixing paradigms in an unhealthy way between web applets, Android apps, and server-based tasks.
But how is my answer any different? What if we look not at code languages, but at spoken languages. Linguistic history provides us a long history, full of data, within which we might look for answers. It is very likely, if you have ever attended primary school, that at some point during your life you would have heard the phrase “Latin is a dead language”. But this is simply not true! The term “dead language” specifically means that a language has no more native or fluent speakers in existence. Does this mean that any language can, in theory, die? Absolutely! But not every dead language stays that way. In fact, I reference Latin for precisely that reason. On two fronts, Latin is a language that is still very much alive: on the one hand, all Romance languages are derivatives of Latin, and carry along much the same sentence-structure, grammar, and pronunciation as was originally seen in Latin. What’s more, many schools still teach Latin as a language.
Latin has been used as a common basis for knowledge exchange amongst Europeans since before the fall of the Roman empire (for more information on this, see Medieval Latin by K. P. Harrington). In scholarly texts, in biblical passages, in maths and in science, in legal fields… The number of places in which Latin has persisted as a language even after its demise is immense! (n.b. I claim that Latin never died by pointing specifically to the verbal exchanges amongst scholarly or Christian monks, and eventually to the fluent use of a Latin as the language of Natural Philosophers throughout the Age of Enlightenment, and finally into Latin being taught in modern schools.)
How can we apply this to Java? Well, that should be pretty straight forward. From the example of Latin, as the root of the Romance Languages, and as a medium of scholarly exchange, we can draw parallels to the existence of Java. To wit, Java has provided the spiritual ancestor, if not the whole kernel, of many modern languages (i.e. any language that runs on the JVM, as these are eventually compiled down to Java bytecodes). Moreover, Java exists as a thriving language because there are still people who like it. No matter the number of jaded, bitter, or contemptuous voices that decry the use of Java, there are still droves of coders who live in the Java world, or learned Java as their first language, or must maintain Java code in their workplace. The totality of these individuals share a common factor: they are fluent in the Java language, and by that marker, Java is still a thriving language.
Why won’t Java die? Because some people still like it, even if others don’t. And that’s all it takes to keep a language alive.