Skip to main content

Deprecated

Posted by daniel on August 31, 2004 at 8:54 AM PDT

Maybe that word is about to mean what we think it does

There's a running motif in "The Princess Bride" where every time the hero foils an advance party of villains, the organizer of the advance party exclaims "inconceivable". Finally, one of his team says something like, "I do not think that that word means what you think it means." I have felt that way for years about the deprecated tag in Java. I've kept waiting for those methods and classes to go away.

It has felt like a scene from Gilbert and Sullivan where an ever growing collection of APIs with signs around their necks that read "deprecated" sing a long number that includes:


We know that you will be elated,
To eliminate those  marked "deprecated",
So those of us that are marked to die,
In the next JRE will say good-bye,
The class libraries will grow and grow,
But we're not needed and so must go.

At this point the Lord High VM Deployer expostulates, "but you don't go." And so it has gone for years and years. Instead of cleaning out the APIs, the libraries continue to grow and even the deprecated classes and methods continue to come along for the ride.

The news story Java Bug Database: Mechanism for Removing Deprecated Methods
gives us hope. "Sun Microsystems has accepted a Java Bug Database issue that calls upon them to propose a mechanism for removing deprecated methods. 'Sun should propose a mechanism whereby deprecated methods, classes could be removed from standard JRE distribution. Backwards compatibility could be maintained by providing a 'backwards compatibility JAR', one per JRE release.'"

It's a start.


In
Also in Java Today
, developerWorks is running a series about languages supported by the JRE in a series titled "alt.lang.jre". The series shows that CLR is not the only framework that allows you to write in a variety of languages. In the first installment, Barry Feigenbaum introduces the series with Get to know Jython
He says, more generally, "In its support for multiple languages (including some that pre-exist the Java platform) the JRE provides a comfortable entry point for developers coming to the Java platform from other backgrounds. It also gives developers who have rarely, if ever, strayed from the Java language the opportunity to explore the potential of other languages without sacrificing the familiarity of the home environment."

Eric Giguere has written an introduction to The Information Module Profile(IMP). He writes that the "IMP removes MIDP's display and input mechanisms - in other words, the javax.microedition.lcdui package is gone. Instead, IMP devices must provide their own implementation-specific classes to handle any interaction with the user they need. For example, a device with a set of external lights may provide an API to turn individual lights on or off. User-interface classes are not required - if there's no interaction with the user, there's no need for any UI support."


Jeff Kesselman is back to blogging and writes about Sun Game Server Technology. In
today's Weblogs,
though, Jeff mind kind of wanders and he takes us along for the ride. Welcome back Jeff.

In his post about component reuse, Allen Chan writes "If we're to draw analogy between software and hardware reuse. I often find that in hardware the limitation and constraits are more clearly specified and their behavior is usually defined in ranges rather than descrete values - maybe there lies one of the reasons why software is not as reuseable as hardware."

Ed Burns introduces Jayashri Visvanathan from the JavaServer Faces implementation team.


The discussion of Hackers and painters begins in Forums. Jonathan Simon starts with Chapter 5, The Other Road ahead. "Graham talks about web based software in this chapter from the context of ViaWeb -- the software startup he started and eventually sold to Yahoo. He talks about several aspects of web applications and their superiority over rich client applications citing fast bug fixing, quick release cycles, and powerful server computers."

John M responds "Basically, over time, the 'browser' will become, from a developer's perspective, a complete operating system within which there will be a spectrum of ways to do things (as a programmer) from lightweight clients (i.e., everything except view on the server) to bloated clients (i.e., server? oh, I only use that to suck down the latest version of the bloated client)."

Erik Hatcher adds "Paul's insistence that the only way to build an application is as a web application, though, is a bit over the top. It is the right way in some cases, but impractical in other scenarios.
I agree with Jonathan that hybrid approaches are great solutions. Consider Subversion, the new CVS replacement version control system. It takes a very nice hybrid approach allowing for offline status, diffs, reverts, and other operations, and then updates when connected quite nicely. "


In Projects and Communities, project owners, use JavaNetTasks "to automate simple and boring tasks. This tool was created by Kohsuke Kawaguchi and Ryan Shoemaker aiming to provide programatic access to the web interface of java.net."

The UML tool Visual Paradigm for UML offers a free community edition as well as a free education license. The Case tool integrates with a variety of IDEs.


In today's java.net News Headlines
:

Registered users can submit news items for the href="http://today.java.net/today/news/">java.net News Page using
our news submission
form
. All submissions go through an editorial review before being posted to the site. You can also subscribe to
thejava.net
News RSS feed
.


Current and upcoming
Java Events
:

Registered users can submit event listings for the href="http://www.java.net/events">java.net Events Page using our href="http://today.java.net/cs/user/create/e"> events submission
form. All submissions go through an editorial review before being
posted to the site.


Archives and Subscriptions: This blog is delivered weekdays as the
Java
Today RSS feed
. Also, once this page
is no longer featured as the front page of
java.net
it will be archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.