After watching deprecation warnings for years in Java code that still worked -- and still worked with those deprecated methods years later -- I'd finally convinced myself that deprecation warnings were worthless. There was no real reason to be worried about them. I suppose on some level I knew that might not be the case, eventually. But Java seemed to be pretty backwards-compatible friendly.

Deniel Steinberg, editor-in-chief over on java.net, has an interesting recommendation:

Make 1.6 the Deprecation - we mean it this time release. Then don't put out any more 1. releases. It is too confusing to move to 2.x releases as we already call this Java 2. Draw the line in the sand and announce that the next release after 1.6 will be Java 3.0. Work for the next few years on performance and reliability so that we can remove all of those warnings that Java shouldn't be used in a critical situation.

Not a bad idea, and I don't think anyone can argue with going straight to 3.0.

My only concern is that many Java coders expect deprecated methods to work forever, just like I eventually had convinced myself that they would. Even James Gosling's recent hack, JNN, uses deprecated methods right alongside Java features that require 1.4+!! Now that's lazy programming, but might also reflect just what Sun faces if they decided to gut -- or even "Carbonize" -- Java.