Monday, November 7, 2011

Why is Java so confusing?

The word 'Java' is used to refer to both the programming language, and the web development framework. It would have been better if they had a separate name for the framework. But they didn't and so now we are stuck with calling two things Java.

The Java language is well defined, object oriented- and the syntax is not that different from C/C++.

The Java framework has many different pieces to it - JVM, JRE, JDK, JMS, JCA, JSF, EJB, Spring, Hibernate, ......... and so on and so forth. It is the framework which is confusing because of all the different pieces.

So why so many pieces? Because each piece is a solution to a different piece of the web development puzzle. A typical web application needs a front end (web page GUI), a backend (something running on the server that can respond to the web page), a way to persist data to a database, a way to send emails, a way to schedule tasks, a way to log, a way to enforce security, a way to do this, that and the other!

No comments: