Every month we're told again and again how Java is on its way
out. A multibillion-dollar company tells us that, while hiring other
large companies to say the same thing. One sad group of souls says
it's because of Java's licensing, or the lack of features available
in other languages or frameworks, and another wails that Java's too
flexible, while another set says that Java's too slow.
It ain't so.
The oddest thing about all this, to me, is that Java is one
of the best languages around, and all the yammering about it is an
indication of its health. You don't eulogize for very long; you only
discuss healing while the patient's still alive, while there's hope.
Microsoft doesn't bother advertising how much better Windows is than
XENIX or OS/9 or OS/2 - those are battles it's won. Instead,
Microsoft reserves its fire for Linux and, dare I say it, Java.
There are a lot of obstacles in front of Java developers
today. Most of them are philosophical in nature, and can be fixed by
a little bit of logical thought and education; I find that in my own
sphere of expertise, developers tend to be unaware of many critical
aspects of J2EE programming, mistaking some of the component
specifications as being representative of the entire J2EE spectrum
(which I'm guilty of myself!), or simply riding on the assumptions
offered to them by other similarly inexperienced coders. Some of the
obstacles are simply based on outdated information (such as the "Java
is slow" myth); others are based on advertising. Some of the issues
are bullet-point related (such as the "Java needs templates"
discussions), and even more are based on simple defeatism.
All this is fine, really. I don't mind that these issues and
others even exist, because we're aware of them. Sun Tzu, in "The Art
of War," said that you should know your enemy; these are our enemies.
There are those who pick on this column and various Web sites for
being negative when Java doesn't need it - they want positive
analyses and happy success stories only; I think these Pollyannas
need to wake up and smell the Java! You can't solve a problem you
don't know about, and while I try to be constructive in nature, even
those who are less constructive serve a very valuable purpose: they
show you things that need to be improved. Even if the things they say
are wrong, their data had to come from somewhere - perhaps that's an
opportunity to improve the documentation or education process.
In fact, I'd go so far as to say that I distrust a purely
glowing review. I've been really happy with a few products, to the
point where I'm happy to agree that their warts are very minor -
Borland's Optimizeit ServerTrace is one of these products. That
doesn't mean the warts aren't there or can't be improved, and I offer
feedback in an attempt to make every product everything it can be.
Java's no exception. In my last editorial, I asked where the
components were (Vol. 8, issue 9), and I'm glad to say there were a
number of vendors and programmers offering answers. I've been willing
to critique Sun's management of Java along with many others, and
here's the thing that shows Java's health: those critiques have been
acknowledged and answered!
Sometimes the answer isn't what we want to hear, but the fact
is that little of this truly falls on deaf ears.
Java's alright, and unless things drastically change, the
continued growth of Java will go on, unstemmed. It's still fun, still
useful, still worthwhile - and will be for a long, long time.
About The Author
Joseph Ottinger is a consultant with Fusion Alliance
(www.fusionalliance.com) and is a frequent contributor to open source
projects in a number of capacities. Joe is also the acting chairman
of the JDJ Editorial Advisory Board.