Is Ruby Replacing Java? – Not So Fast
Okay, I have heard it all: Ruby On Rails (RoR) is so much cooler and simpler
than Java EE. It allows you to write web applications 10X faster. And Ruby
has nifty language features we can only dream of in Java. So, Ruby must be
replacing Java to become the "next" programming language just as Java
"replaced" C++/COBOL and C++ "replaced" Fortran.
Well, in my opinion, this kind of talk has some serious logical problems.
First of all, as the short history of high technology has proven again and
again, the "superior" solution does not always win over "inferior" ones. In
fact, the opposite is more likely to be true. The question regarding to Ruby
versus Java is NOT how much more advanced RoR is compared with Java EE -- the
real question is whether Java EE is good enough for most developers.
The reason, in economics terms, is that the... (more)
Lightweight application frameworks are all the rage in the enterprise Java
community in the past couple of years. From the pioneering Spring and
Hibernate frameworks, to the infusion of technologies like aspect-oriented
programming and metadata annotation, to the new standard EJB 3.0 (and Java EE
5.0) specifications, lightweight frameworks have gradually become mainstream.
The rise of lightweight technologies was largely due to developers' rebellion
against the "heavyweight" of EJB 2.1 (and earlier). Lightweight frameworks
aim to make developers more productive and the applicatio... (more)
As I have whined many times before, J2ME has been treated like a second class
citizen on Symbian smartphones. Most importantly, the Java runtime does not
integrate well with the underlying platform. For example, on my Nokia 6600, I
cannot access the local PIM database or the photo gallery or the MMC card
from Java applications. That severely limits Java's usefulness on those
devices since "integration" is key to any successful mobile UI application.
Symbian C++ was the only "real" way to develop compelling applications on
Series 60 phones.
On Nokia 9500, the J2ME File I/O and PIM... (more)
Annotation is a new Java language feature introduced in JDK 5.0. It has
quickly become one of the most popular, and yet most controversial, language
feature in core Java. New Java frameworks, such as EJB 3.0 and Hibernate 3.0,
make extensive use of annotations to eliminate the excessive XML
configuration files (a.k.a. the "XML hell" in Java EE). Those annotations
significantly reduce the amount of code and configuration data, and simplify
the overall architecture, making application development easier. At the same
time, enterprise architecture purists are complaining that annotat... (more)
Personally, I think the biggest announcement from JavaOne was that Nokia is
building a Service-Oriented Architecture framework on smart mobile phones
that could quickly change how an average technology user sees Web services.
No, I am not talking about the standard SOAP interfaces between
desktop/server applications and telecomm hosted servers (e.g., the MMS
messaging server, location server and presence server). They are cool
technologies already in use but they are only part of the mobile Web service
big picture that is about to emerge.
I am talking about integrating mobile clie... (more)