When I run into yet another posting about adding yet another cute little element to Java syntax, it makes me sad and angry. It seems that people are converting Java into a some kind of a science project.
Someone asks, “Kids, what new features you ‘d like us to add to Java language? ”
And the chorus responds, “We want this, we want that…And we want it now! ”
“OK kids, we ‘ll give you this and we ‘ll give you that. We can ‘t give it to you now cause we have a process. We ‘ll run experiments on humans, and if not too many software developers will stop using Java because of these new features, we ‘ll stick them into the language spec. ”
We had a nice language, then it became a platform, then for some people it became a religion. Some time ago I was trying to participate in various Java forums. But then I realized that if you are not 100% for Java, some of them become dangerous places to be. If you even mention any other language that people are using behind the fence (should I say behind the iron curtain?) you become an enemy.
And the closures discussion is a pinnacle of what can be done to screw and bury Java. Closures are discussed by the best minds in the community, but when I look at the proposed syntax, I get an impression that these best minds are flying so high, that they do not have time to see how these closures are implemented in other languages. While the trend in other languages is to hide the complexity by engaging under-the-hood-code-generators, Java closures proposals are forcing a programmer to do all the calligraphy.
JavaFX is an a little-to-late response from Sun to the rapidly growing community of the languages, tools and techniques for development of the rich Internet applications. Fine, let ‘s give JavaFX some time, it ‘s still too young. But what can you expect from a scripting language built on top of Swing libraries? This is already outdated…even before its own release. I hope to see some real competitive sample applications showing the power of JavaFX rather than declarations that it ‘s a Flash or Silverlight killer. This is not even funny.
JVM is very robust. Why not concentrating major efforts on Consumer JRE, Java Kernel, creating new languages that can run on JVM?
Java as the language is pretty stable in the server-side enterprise applications. A typical IT shop of a large firm in the USA is either Java or .Net.
You may argue that J2EE is too heavy and will be replaced with “lighter frameworks “, but in the end, it ‘s still Java. You may not like the fact that Google ‘s Android is not using Java as the doctor ordered, but hey, it ‘s still Java.
Even without any new additions Java is not going anywhere and we can safely retire developing applications in this great language. The Java bookshelves are already shrinking in size, which is clear indication that less people are interested in this language. Please leave the Java syntax alone. KISS.