What is Deprecation?
Q
I have just started to learn java and am facing some problems.
The source codes which i have obtained from sites do not complile.
I am using JDK1.2. I keep getting the same error message:
Note: AppGetImageExample.java uses or overrides a deprecated API. Recompile with "-deprecation" for details.
1 warning
Could you please explain what this means and how I can rectify this problem?
A
Let's face it. When the folks at Sun first released Java, they were still experimenting.
I mean, Java as a language was new not just to the world - it was new even to the designers of the language itself.
As such, it was inevitable that the designers of Java would make some errors.
Now when I say that there were errors in the first release of Java, I don't mean they there were bugs in the programming code (although there were).
What I mean is that there were errors in the way the objects were designed.
Most noteworthy was the fact that in Java 1.0x, errors were passed in an extremely non object-oriented (ugly) way using methods such as handleEvent().
In fact, there were dozens of little quirky things that, although functional, were....well...were not exactly designed correctly from a software engineering perspective.
I'm sure we all know what that is like.
It is rare that you get any program right the first time.
In fact, any developer that has ever had to return to a program, knows that each time the program is rewritten it gets a little better but never is perfect.
The same thing goes for languages.
When the Java team at Sun released the first version of Java, they knew that the language would have to evolve.
However, there was a problem!
As soon as Java was released, people began to build programs using Java.
In fact, some businesses began to use Java for mission critical applications!
How could the language be rewritten when people depended on the functional, but poorly designed code?
The answer was deprecation.
Deprecation is what happens to functions when they are retire.
When a function is deprecated, it means that the method was once valid, but has now been replaced by a newer method.
Deprecated methods all produce warnings that let the developer know that she is advised to use the newer method.
Deprecation allows an industry to gradually move off bits of a language that are intended to be phased out but which cannot be phased out immediately because too many programs depend on stability.
Deprecation gives the designer of a language a "take-back".
So what you are seeing is not exactly an error.
It is just a warning.
In fact, your applet should run without trouble since most JVMs will support all the deprecated methods from Java 1.0x.
However, you should take the warning to heart and try to use the recommended newer version of the method.
Selena Sol contributes to the JavaBoutique's Introduction to Java. Selena curently works for Barclays Capital in London, one of the leading global investment banks in Europe and has worked as a software developer for the National Center for Human Genome research, Microline Software, Neuron Data, and Electric Eye in Singapore. Selena is perhaps best-known for creating the Public Domain Web Script Archive (Extropia) and writing several books on Web Programming (Perl, CGI, Java).
Email: selena@extropia.com
|