I was fortunate to be a member of this week's QCon panel billed as the event where "influential leaders of the software development community" would debate Java's future.
I see Java's evolution more in terms of the overall platform, not just the language. The platform improvements that I look forward to most include …

I think you pretty much covered all bases there without giving Direction and Leadership to any.

Starting something New though, would immediately put everyone in Front os something New they could build upon.

Considering Sun Technology/Methodology/Vision, which states that the Network is the Computer, who Better Placed is there in CyberSpaces....AI Virtualised Environments to Create a Live Global Quantum Computer Floating between Networks Gathering and Disseminating Information for Further Third Party Analysis and Adoption/Adaptation via Positive Reinforcement of Positive Positions and Outright Rejection of Negative Sentiment.

It is illogical, except for the Creation of Chaos, in anything you may care to mention, to Support and Reinforce Negative Sentiment for it does not Show a Lead, and if Followed will lead to a Negative Place/Living Hell? And that is surely a Manufactured Madness easily rendered a Past Folly of Man by Exorcising such Negative Script out of Code and Communications.

I am of the Opinion that Wwwe have already built the Quantum Computer that is necessary to Virtualise an Orderly Transition to a Virtual Reality devoid of Negativity...... for, of course, InterNetworking Open Source Micro Analyses ITs Macro Code.

Optional Additional Reading ...... [IT may even herald the Veridian HyperVisor in MicroSoft 42 Energise AIMacroVision ....... AIDiamond Geyser of IntelAIgent Source. But that is most definitely just a Business Tangent for Buffalo Bill Cody Gates and the Capitalista Cavalry to Monetize. That MS choice is always only a Purchase away. IT is their Way 42 Buy IT in and/or Buy into IT whenever IT is Priceless.]

Deprecated

From the dictionary:

deprecated

Said of a program or feature that is considered obsolescent and in the process of being phased out, usually in favour of a specified replacement. Deprecated features can, unfortunately, linger on for many years.

Features are deprecated for a reason - they are going to be removed from use. If someone relies on deprecated code, tough, they shouldn't be lazy. If more programmers started writing better code that would be a good thing

Why bother to deprecate if you don't remove??

Deprecation is still useful

...because developers generally steer clear in ongoing development. You get compiler warnings otherwise (or your IDE will flag the deprecated usage), so you'll stop and find the better approach. Deprecation is just a simple way for Sun to say, "there's a better way now."

I also understand why deprecated features aren't actually removed for a long, long time (if ever: last I checked, at least some 1.0.2 features that were deprecated with Java 1.1 are still around).... Many applets and applications are not developed "in-house". So perhaps your company has a custom graphic applet on your website (or something like that) that you paid quite a lot for back in 1997, OR they paid for any of the many libraries, APIs, applet collections, etc. that can be pretty pricey for specialized niches.. but the provider may not even be in business anymore. It's all okay, as long as it still fills your needs there's no reason to lay down the cash to change it or replace it... unless Sun starts removing deprecated features.

The number of applets and apps like this is surprisingly high, and Sun doesn't want to make their users suffer unless there's a good reason -- and so far at least, "just to tidy up a bit" doesn't count as a good reason.

As a developer, yes, I'm all for removing the deprecated stuff. Give me a leaner, cleaner Java to work with! But there are lots of businesses with a very different point of view.

XML is occasionally useful for EDI. My development environment has become HTML, CSS, Javascript and PHP (non-OOP). It's been that way for some time now. Nothing else lets me get the job done faster. I'm not sure why I would need anything else?

What about new additions to Java?

I had the chance to attend the QCon panel discussion, and I have to admit I was surprised at the discussion on reducing the Java SE by removing things deemed unneeded. This seemed very odd to me. Is there any precedent for stripping down a well adopted platform like Java? I would think not… Even if we did, would it really reduce the ‘surface area’ that developers have to know to utilize Java? You still ‘need’ the API’s you ‘need.’

Also, to me using ‘deprecated’ API’s isn’t about being lazy. It is about backwards compatibility. If I want to upgrade a system from Java 1.4 to Java 5, I shouldn’t be forced to rewrite my entire application to take advantage of the Java 5 features in a newer parts of the system.

Either way, I still thought it was a bit strange of Rod Johnson to take the discussion on the ‘Future of Java’ down this road. I personally would have been more interested in hearing about possible new additions.