On Fri, 2010-11-26 at 15:44 -0800, Jonathan M Davis wrote:

> 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 

Not entirely true.  There was some stuff that Sun actually removed
between 1.3 and 1.4 I think but there was a huge outcry and so it was
all put back in (undeprecated!) for 1.5.  I can't remember the exact
details but there were two issues:

1.  The items in question should not have been deprecated in the first
place.

2.  The whole incident, and Sun's obsessive commitment to backwards
compatibility, meant that nothing ever got removed again.

On the whole though, it is true Sun should have removed things that have
been 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. 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).

Actually the whole Calendar thing should not only be deprecated as a
whole, it should be ignored as of now.  Use only JodaTime!

> Certainly, whatever we do, we don't want to follow Java's route. Hopefully 
> there 
> are other languages out there which handle deprecation better. Since I've 
> mostly 
> been a C++ and Java guy though, I'm not at all familiar with how other 
> languages 
> deal with it. Python would probably be a good place to look though, since 
> they 
> generally seem to be pretty organized.

I guess the prime example here is Fortran -- they end up not being
allowed to deprecate anything, let along remove it from the language.
It never ceases to amaze me that the committee manages to evolve the
language and yet still be able to compile all the 1960s legacy code that
everyone colludes in finding no-one willing to rewrite.  This is not a
negative comment on the Fortran language evolution people, exactly the
opposite, but it is an indictment of a society that chooses to insist
that old code that works not be rewritten even though hardware has moved
on significantly making the code significantly past its use-by date. 

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:[email protected]
41 Buckmaster Road    m: +44 7770 465 077   xmpp: [email protected]
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to