If Java changes to "Java 3" like this, and one learns the "new" features of "Java 3". Who could guarantee that those "new" features of "Java 3" will not be thrown away in future release of Java, e.g., "Java 4"? In that sense, why should we(a company, etc.) learn & use to-be-out-of-dated "Java 3" now instead of waiting for "Java 4" to come out and learn then?
First I respect your effort for writing such a good article, really.
I admit that your article is quite good in the sense that you found all the problems while I couldn't find all of them, because at least I like some of them.
But did you ever think of the end-users of previous version of Java? Will they support (ie., upgrade to) new version you designed? How could they support you if you first did not support them(be not compatible with old version of Java)!
I could NOT find a good reason that I should NOT learn Java 2 now, before I read your article.
You could be an extraordinary programmer, but not a good businessman.
My alternatice solutions: Embrace a new language, or design & use a full new language!
Although my comment is not from a pure technical point of view, but I hope that readers could got something from it.
Please forgive my rudiness, if this comment makes annoyance to you.