Monday, January 4, 2010

Features of Java which makes it great

I'm a java, J2EE developer and I like java platform, the question arises "why"?

Here is a list of top 10 java features I constantly use and highly recommend; features which makes Java great as a language and platform.

1. Platform independence - It works in most cases flawlessly. It has significantly improved over the years.
Some other languages / platform offers some degree of platform independence too.
However in Java it is without pain. I develop on Windows and yet deploy on Linux regularly without any issues ever.
2. Availability of JVM source code - When in trouble we can always look up the source code and find what exactly is going on behind the scenes.
3. Security - Java was designed with security in mind. It provides super solid libraries for all your security requirements.
Security in Java was nowhere an afterthought like many other languages.
4. Strong support for protocols and interfaces with API's like JDBC, JNDI, JNI, Java IDL, JAXP etc.
Java has a solution for almost anything you can throw at it.
5. Dynamic class loading - Ability to load class data over different devices and network.
This forms the foundation of EJB, RMI and host of other technologies.
6. Reflection - Java reflection API allows dynamic discovery and invocation of methods etc.
7. Generics - Java generics simplifies coding while continuing to provide type safety
8. Annotations - In terms of usage we have only begun to scratch the surface.
I expect it to be the next XML for Java developers (for better or for worse).
9. Lack of pointers - This is a boon for those frustrated with pointer arithmetic in C / C++.
10. JSP & Servlets - Most of java development today is arguably done on JSP & Servlets. It is the most widely used part of EJB specs today.

This is my top 10 list. Feel free to add your own list in comments. Have I missed any of your favorites?

No comments:

SpringBoot: Features: SpringApplication

Below are a few SpringBoot features corresponding to SpringApplication StartUp Logging ·          To add additional logging during startup...