Technologies by their very nature are moving targets, as there will always be a better and faster way of doing things, whether its incorporated in the next version or a new incumbent appears on the scene. Ted Neward explores a series of issues related to Java to see if its actually done or of its 'done'
Languages should enable you to fall into the pit of success. That's the heart of the Principle of Least Surprise, even if it's not always said that way. (I'm not sure that C# 3 does this, time will tell. I'm reasonably certain that Ruby doesn't, despite the repeated insistence of Ruby advocates, many of whom I deeply respect. I'm nervous that Scala and F# will fall into this same trap, owing to their unusual syntax in places. It will be fun to see how ActionScript 3 turns out.)
Here's a thought: Let's leave Java where it is, and just start creating new JVM languages that cater to specific needs. You can call them Java, too, if you like. Or something else, like Scala or Clojure or Groovy or JRuby or CJ or whatever suits your fancy. Since everybody compiles down to JVM bytecode, it's all really academic--they're all Java, in some fundamental way. Which means that Java can thus rest easy, knowing that it fought the good fight, and that others equally capable are carrying on the tradition of JVM programming.
Upon reading this last entry, Don Box over at Microsoft sums up his impressions on the subject of Java being 'done' with the following:
Java has achieved cockroach status and its inventors should be proud.
Read Ted Neward's complete post:
Read Don Box's complete response post: