Thursday, September 10, 2009

Why will Java survive?

A friend of mine, who has started working on .NET based project, raised concerned over survivability of Java, which prompted me to highlights key pillars for Java, which will keep it ahead from others:
1. Being an open-source language, there is no vendor lockin like Microsoft. There are 100+ companies surviving on open nature of Java namely JBOSS, APACHE, etc. Also, big companies like IBM, ORACLE, BEA have 1000+ products based on Java technologies.
2. Frameworks - Struts/Spring/Wicket and there are so many frameworks offered by Java technologies as compared to Microsoft single .NET framework. It gives flexibility and choice in choosing competing “state-of-the-art” products.
3. New Languages - As new languages like Ruby, Python, PHP are coming up, JAVA's open-source approach enabled competing JAVA based version of these like JRuby, SCALA, JPython.
4.Faster Development with IDEs- Eclipse, RAD, JBuilder, NetBeans, TogetherJ and there are so many IDEs now offering Wizard-based Web Services, EJB, etc. development and makes life easier.
5. Clustering/High Availability & other non-functional requirements support- Java based enterprise servers not only offer range of products but also there are specialized companies like "TERACOTTA" especially for faster & optimized clustering.
6. Open Specification based Technologies - All Java technologies (Servlet, JSP, JMX, EJB, JTA, JTS, JMS, JAXB, JDBC, JAAS, JMX, JSTL, JCA, JavaSpaces, JavaFX, JSF, etc.) are based on open-specifications (JSRs) developed in accordance with major industry players like Sun, Oracle, IBM, BEA and hence the “collaborative approach” of “mutual knowledge sharing” has higher chances of success in future.
7. Hardware devices for Java - Java based hardware devices (like Azul Vega 3300,7300 Series, inSilicon JVX Accelerator)  are also present in market strengthening its present & future.
8. Java “everywhere” – Java is not limited to server or desktop technology; it has made a bigger presence in mobile devices & others.
9. Last but not least, Java is portable & supported on multiple operating systems like Unix, Linux, Solaris, Windows, etc.
All data and information provided on this site is for informational purposes only. This site makes no representations as to accuracy, completeness, currentness, suitability, or validity of any information on this site and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use. All information is provided on an as-is basis.This is a personal weblog. The opinions expressed here represent my own and not those of my employer or any other organization.