The State of Java 2012
This post was originally authored by Brian Doll, the Lead Performance Engineer at New Relic
The JVM is far from dead, and, in fact, the JVM
will see a continuing resurgence in 2012 – but under different names. Programming
languages like Scala and JRuby, and even Clojure that are built on top of the
JVM framework, offer new and unique programming capabilities and are suited for
different types of systems. With the JVM already secured as a standard in
enterprises worldwide, many top companies are already building their own
services with these three JVM-hosted languages: Twitter's services are written
in Scala; while LinkedIn has some services that are written in JRuby, and
travel site Kayak.com has backend services written in Clojure. In
2012, these next-generation JVM-hosted languages will bring solutions to
unique system challenges, all without the need to battle with corporate operations
on how applications written in them will be deployed.
However, developers still rely on many large systems built with Java. What made Java such a valuable platform since the beginning is its ability to perform high-level services quickly and efficiently. Despite the many phases of Java itself, this ability in particular will bring back developers who have been using other languages in combination to perform the same functions. Especially in tighter economic times, it will be more cost effective for smaller companies to purchase one server from a hosting provider like Amazon and use Java to run all of their necessary functions rather than pay for multiple servers to run multiple languages.
Another ability that enables Java to still be a superior language for larger operations management is concurrency. 2012 will be the year for Java SE 7, having just been released in July, with particular focus on the added concurrency features. Among the additional concurrent services in Java SE 7 is the Fork/Join framework, which will play a bigger role in operations in the coming years. So far the adoption curve has been slow, but 2012 will see programs relying much more on concurrency utilities to not only manage and improve the speed of processing but also determine which functions should be concurrent and which need the stand-alone.
As we've seen the rise and fall of many programming languages, in 2012 winning will be defined by different criteria: which one plays well with others. Java developers can feel close to home with JVM-based languages, which introduce a new approach to programming while still making use of the many useful and well performing Java.
Tips for Java developers in 2012
* Learn another JVM-based language and see what all the fuss is about
* Check out how lightweight Java web apps can be with the Play! Framework (http://www.playframework.org/).
* Get your lightweight apps and Java services in the cloud on Heroku
* Profile your Java apps to show off just how fast they are with New Relic!
Brian Doll has been building things on the web for over 14 years and has extensive experience in retail, media, technology and financial service industries in both start-up and large enterprise environments. Currently, he is the principal performance analyst for New Relic, a company specializing in web application performance management.






Comments
Otengi Miloskov replied on Fri, 2011/12/23 - 9:52am
Play framework is a hack and is going more the Scala way. I agree learn another jvm but choose it carefully, me I suggest Groovy, It is easy for start, It is not complex and in version 2 will have static compilation, Grails framework is awesome and is build with the standard Java frameworks.
Ash Mughal replied on Wed, 2012/01/25 - 7:17pm
Hi,
You descrbed in your post that languages like JRuby and Scala are build on top of the JVM framework and there will be lot more improvement or changes in 2012.
Why these languages are based on framework? Should these not be merged in core java in 2012?
new javaCarla Brian replied on Sat, 2012/05/05 - 10:32pm