10 reasons why Java is still relevant
In the fast-evolving world of technology, this is a language which has defied the odds to keep its place as a top priority for any developer who wants a comprehensive skill-set
What language do coders speak when they get together over a coffee (or a smoothie, or even a green tea)? Sounds like a poor joke? Well it isn’t. It’s a serious question – and we’re not talking linguistics.
Coders will, of course, always speak about computer languages, but you can bet Java will not be a hot topic. Python, Groovy, Scala, maybe Erlang: They may sound like a foreign language to the casual listener, but these are some of the current favourites among developers.
Does that mean that Java – which turned 20 this year – has lost its relevance? Not a bit of it. Just because you’re not on the tip of everyone’s tongue doesn’t mean you’re not one of the most reliable go-to options in the technology world.
Trend-setters might think Java’s day is done. Others. Like coding expert Eran Medan (have a look at his Twitter feed @eranation) know better and he recently shared some of his thoughts about why Java is and will remain a major player:
- Major corporations and businesses use it. Tech companies like Google, e-commerce organisations like Amazon and eBay, online entertainment giant Netflix and – perhaps most relevantly of all – business networking favourite LinkedIn are all Java users. If you’re looking for a career with one of the big guys, knowing Java can only enhance your prospects. It’s a given if LinkedIn – the go-to business connection platform for anyone and everyone in the know – is happy to stay signed up to Java.
- Hosting Java has improved. A few years back, costs and a lack of hosting options for Java apps were a major drawback. Nowadays, from Amazon Elastic Beanstalk to Google app engine, deploying Java is an easy option.
- It is possible to write Android apps with Scala or even Clojure, but the main language is still Java. If you want to be an Android developer, Java is a necessity.
- You can’t really avoid Java. Somewhere, during your career as a developer, you’re bound to come across it: In open source code, in code written by a collaborator, in handbooks or manuals.
- Its speed compares well with other languages. It’s faster than Ruby, Python and JavaScript and in web development terms (for example, creating servlets), it holds its own against C.
- The Java Virtual Machine (JVM) is an impressive concept. There’s a widely-held belief that Java is not the most fun you can have whilst code-writing. But with the JVM it’s a different story. It has efficient garbage collection, thread management, monitoring and debugging services and is a natural fit for many languages (among them Clojure, Scala, Groovy and JRuby).
- The Spring framework has improved massively. From being the bane of Java users’ life, it has become a more than useful tool for writing web apps. There are no big XML files required (apart from when turning on the Annotations mode). It may not be as productive as Rails, Django, Node, or even Play framework, but it has come a long way since the low point of having its reputation traduced.
- Java can be used alongside Scala. Twitter, Foursquare and countless other start-ups have chosen Java as central to their development strategy, due to its expressiveness, relative performance, and development productivity.
- There is an argument that the time spent developing languages like Ruby and Python pays off in terms of developer productivity and eventual income from code writing. But Java is not far behind, and using options like Apache Commons or Google Guava means you can apply everything missing from Java.
- Maybe the strongest argument for Java is the most obvious: it’s so widely-used that there are thousands or IT jobs out there which require a knowledge of the language.
Far from being superseded by younger, fresher languages, Java is still going strong and still evolving. It’s a crucial part of any developer’s toolbox, both for creating output and because it enables you to recognise bad or wrong coding.