YOUR FEEDBACK
Brian Vicente wrote: Where are listing 3 and listing 4?


2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP THREE LINKS YOU MUST CLICK ON


State of the Union
State of the Union

JavaOne is here at last, and while it's not really my place or choice to issue a "State of the Union" for Java, I think we need to do some straight talking.

Sun has, for what it's worth, given us a language and platform. It has restrictions and limitations based on a long-range view of requirements. Originally the requirements were set by Sun Microsystems alone; they then created the JCP to allow the user and vendor community to offer input on what the future requirements would be and how they would be met. What I fear is that some of the recipients of Sun's largesse have decided, in a fit of pique, to reject Java as a gift horse that's simply missing too many teeth. Many people have decided that Java is almost acceptable but "almost" doesn't cut it, because there's this blemish or that problem that simply cannot be overlooked.

The problems are certainly relevant to those who see them, but their inability to see past the problems has turned out to be a major problem for Java, to the point where it's no longer as relevant as it was.

As one example of Java's problems: we have a splintering of user interfaces in such a way that it renders the JVM less important than the libraries being used. The state of things now is that most users accept this, and some excuse it, saying that the platform you run the JVM on is now more important (again) than the fact that you're supposed to be using Java as the platform. The problem here is so bad that some expect authors to willfully abandon the Java platform in favor of Linux or Windows, which begs the question of why they're using Java in the first place, in my opinion.

That's not to say that Java isn't a powerful language apart from the concept of the Java platform. It's certainly capable, and I suppose I'm happy that people want to use the language while not really caring about the platform. However, I don't think there's a legitimate separation there, especially when you consider Java's history and remember J++.

As another example: we see choirs of cacophony (O, sing!) that are begging Sun to release Java from its proprietary licensing. The licenses offered as replacements don't allow Sun to preserve any real meaning of what Java is, but most people assume that variant implementations will "do the right thing" and preserve the concept of a unified platform. Unfortunately, relying on good will doesn't work when real money is involved (again, remember J++?), and complying with this kind of request is very difficult - unless Sun's intent is to gut Java and expose it to external and internal attack.

"From where?" you might ask. Well, apart from "minor" languages like Python, Ruby, and Perl, we have the possibility of multiple virtual machines running libraries that don't provide the services that the platform requires; we have a 400-pound gorilla competing with Java on its own terms, first with J++ and now with .NET, promising the same cross-platform strengths of Java.

Of course, that "cross-platform" means "...as long as you're running Windows," and for those of you who are thinking of Mono right now, I'd like to point out that I had to massage Mono to get it to install on any OS besides...Windows.

Remember, though, that our first example showed us a core group of users and developers for whom Java's cross-platform quality is irrelevant for all intents and purposes. My personal desire would be to ignore them as outliers, but I don't think that's really a valid conclusion.

In yet another example: we have a whole gamut of conflicting mechanisms by which we can persist data, process data, present data, or even think of data. Each of these different mechanisms have their proponents, all waving their flags like mad, trying to shout each other down.

They represent a tyranny of choice and, in the end, the array of options actually makes doing something in Java harder rather than easier. What's more, this problem shows no signs of going away.

In (thankfully) my last example: we have the JVM itself, slowly morphing and growing into a behemoth all its own. Far from UCSD's concept of p-Code, the VM now far supersedes anything we're likely to deploy on it (unless we're BEA, IBM, or Sun), and even there it's not sufficient: witness the proliferation of third-party libraries implementing (and overriding!) core mechanisms, such as SWT and Thinlets, in a reference to my very first example.

As an administrator, programmer, architect, and user, I like Java. I enjoy working with Java more than I have any language since I first really grokked C, honestly. Java has a certain simple clarity that allows and encourages me to focus on the problems at hand, and a lot of that can be credited directly to Sun's stewardship. I can't say I think everything Sun's done has been "right" or "good for Java," necessarily, but I think Sun's done a bang-up job, all things considered.

Sun doesn't exist in a vacuum, however. There are a lot of forces at play, some of which I've tried to enumerate, and I wonder now if Java hasn't started to go past the point of maturation to the point where it'll be spoken of the same way COBOL is today: in use in the sweatshops, still carrying its load, but no longer glamorous or entirely desirable, no longer really growing and improving publicly and measurably. Sure, improvements are made, even important ones - but Java's only keeping the mind share it has, not really garnering new converts in large quantities.

My problem is that I don't know what will replace it. There are lots of technologies out there, but right now they seem to be all glitz, all flash-in-the-pan technologies that impress you but don't make you want a second date.

What do you think?

Think long term, and enjoy!

About Joseph Ottinger
Joseph Ottinger, formerly editor-in-chief of JDJ (2003-4), is a consultant with Fusion Alliance in Indianapolis and is one of the contributors to the OpenSymphony project.

YOUR FEEDBACK
Robert Wilson wrote: JDJ Ranks No. 1 in the World in Digital Magazine Circulation, and it runs on a coldfusion server, with code written in CFML
LATEST JAVA STORIES & POSTS
Unit testing is hard. There I said it. Although I have been developing software for the past 18 years I still find that putting my applications through their paces via unit testing is difficult. I have learned the lesson (I'm sure like many of you) the hard way. Unit testing is p...
Continuent has announced support and enhancements to MySQL Server 5.1.30 GA release, the 5.1 production version of the open source database. MySQL 5.1.30 is recommended for use on production systems by the MySQL build team at Sun Microsystems. Continuent Tungsten provides advance...
As a software journalist, there are times when certain vendors will shut the door on reporting opportunities that might represent too much of an "inside view" of their technology or their organization. I've been to more developer events than I can remember where I've been handed ...
Active Endpoints has announced the general availability of ActiveVOS 6.0.2, in response to ever increasing demands for improved process performance and efficiencies. ActiveVOS is an all-in-one, 100% standards-based orchestration and business process management system (BPM) that p...
Just because the web has been open so far doesn't mean that it will stay that way. Flash and Silverlight, arguably the two market-leading technology toolkits for rich media applications are not open. Make no mistake - Microsoft and Adobe aim to have their proprietary plug-ins, ak...
Doing network I/O on the user interface (UI) thread is bad. Most developers know that and can tell you why; unfortunately, it’s still done. At this year's JavaOne, one of the keynote JavaFX demos bombed because the network was slow, something that would be forgivable had the en...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

SPONSORED BY INFRAGISTICS
In every field of design one of the first things students do is learn from the work of others. They ...
There are many forces that influence technological evolution. After a decade of building enterprise ...
2008 is going to be an important year for Rich Internet Applications. Most organizations are deliver...
The OpenAjax Alliance is developing an Ajax industry wishlist for future browsers, using a dedicated...
Infragistics announced the availability of two Community Technology Preview (CTP) User Interface (UI...
The YUI development team has released version 2.5.2; you can download the new release from SourceFor...
ADS BY GOOGLE