25 Sep 2013
When we started working on Java, Java was the IT thing. Really, people wrote songs about Java. Sun (now deceased) was the company to work for, and James Gossling was the coolest cat in the Silicon Valley. So, what is different now days? Is java still the same thing? Is it dead?
And here I say it, “Java is not dead!”
What do you mean Paul?
Java is actually more popular than ever. Almost every company out there, knowingly, or unknowingly uses Java. Heck, all those few hundred million Android users are using Java. Java is everywhere, sometimes behind the scenes, but its everywhere. Its well, alive, and kickin!
Then why does it seem dead?
Because technology has moved along. Java enabled people to do more, with less. Since Java, many more technologies have came along which make it easier for people to do more, with even lesser. Java is being used in the background more these days.
Big Data is where java has been the king since the term big data came around. If you read up on big data, you would have to be living under a rock (reading up on big data?) to not hear about Hadoop, Cassandra, Solr, Pentaho, ElasticSearch, just to name a few. One thing common between all these systems mentioned is that they are all written in java. About 50% of the graph databases are written in java (http://en.wikipedia.org/wiki/Graph_database), including my favorite OrientDB. If a system is not written in java, there is always a java client. Big Data has grown on the backs of java, and now java is the king in that domain.
Event Driven / Async Java
Event driven and async programming is in, and java has quite a bit of support for it. With JMS, java introduced async, and NIO for event driven network programming, many years before they got popular. Today there are many frameworks making it super easy for you to write your event driven / async code. Few names that come to mind are Vert.x (vertx.io), Reactor (https://github.com/reactor/reactor), Netty (netty.io), Apache Mina, and I am sure I have missed a few more.
Java for your programming language
Java has been a popular way to implement other programming languages as well. There are few dozen programming languages which are written in java and use the JVM. Clojure, Groovy, Scala are just a few popular languages which are based on the JVM. Java is also a popular language to implement other languages. There are implementations of php, python, ruby, perl and many other popular languages written in java.
Modern Java Frameworks
There are some really good modern app frameworks written in java. My personal favorite is Spring Boot. Spring Boot makes a developer very productive, without any of the limitations. There is also Spark (http://sparkjava.com/), Jodd (http://jodd.org/), Ninja (http://www.ninjaframework.org/), and many more. Be assured that java community has not abandoned you. Even if you are still doing Struts, thats fine, I am sure someone is still maintaining it. Now you know that you can do your coolest new app in java, using one of its shiny new frameworks.
Java Under Oracle
I was a little scared when Oracle bought Sun. I didn’t know where Java would go. I know there are some grievances among the community. but I am pretty happy with how java has released new versions and upgraded the language to be more modern. I feel that Sun sometimes lacked in upgrading the language in the name of keeping it compatible.
Folks, if you thought java was on its way out, I beg to differ. I think Java is on its way up.