On 26/11/2010 23:44, Jonathan M Davis wrote:
<snip>
Java marks stuff as deprecated and then _never_ removes it. It makes the
deprecation a bit of a joke really. Many people continue to use the deprecated
stuff anyway. A prime example would be that they deprecated Date's most useful
constructors in an effort to make you use the Calendar stuff. People keep on
using
those constructors anyway, because they don't care about the Calendar stuff, and
it's a lot more of a pain to use.
Hooray for Phobos's "simple operations should be simple" philosophy!
Another example of a pain in Java is GridBagLayout. If only Java had
that philosophy, I suppose GridBagLayout would never have been invented.
(Sun did eventually publish something better - TableLayout - but for
some reason it hasn't become a standard API feature.)
As far as I know, Sun has _never_ actually
removed a deprecated function from Java's standard library (and if they haven't
before, now they never will since they were eaten by Oracle - who knows what
Oracle will do).
I wonder when/if they're going to get rid of Thread.destroy, which was
in the API for many years but never implemented.
Certainly, whatever we do, we don't want to follow Java's route. Hopefully there
are other languages out there which handle deprecation better.
<snip>
But does Java ever deprecate language features, or only API features?
In the latter case, it's a matter of other libraries/APIs, not other
languages.
Stewart.