A lot of interesting stuff is going on.
More and more (dynamic typed) languages are appearing and getting more attention. Are they better than the Java language? Well after my visit to the Scala talk of Bill Venners I certainly think these languages have some strong points. Most of the time they require less code to do the same thing, are easier to read, and allow your objects to be more dynamic. With Scala the type safety can still be statically checked.
This trend is going on for some will now started with the introduction of Ruby. An other group of dynamic languages that run on the JVM are Groovy, JRuby and Scala and others. The focus at Devoxx was more on these languages.
Should the Java language change to support this kind of features. Should it allow a more functional like programming style. For Java 7 is has been decided that closures will not be in there. They just have too much impact on the language.
Because Java makes sure it is backwards compatible it cannot introduce any big changes to the core of Java. The Java kernel as introduced with the Java 6 update 10 (consumer edition) is a small step to modularization. It allows to download certain packages on demand. One of the big announcements this morning was JigSaw. The JDK 7 is going to be modularized. So you don’t need to have any Swing stuff into your JRE on your mobile phone. They probably will create some profiles as we already know for the J2ME platform. The introduction of modules can also make it a little easier to drop some backwards compatibility for next releases. Although Mark Reinhold stated that this will not happen in the near future this makes it possible. In mine opinion they will have to break backwards compatibility in the future to keep up with these new languages.
Some other developments which come with these new dynamic languages that run within the JVM is that the vm is going to support some new byte-code instructions. With these instructions compilers for these languages can easier generate byte-code for example dynamic types or open classes. Even more important this code will also perform better with the new JVM instructions.
Further I have been attending the web beans introduction by Pete Muir yesterday. Last year at Devoxx then called JavaPolis 2007 I also attended a talk about web beans. So now I was more prepared to see all these different annotations (binding types, deployment types etc.) Most of the concepts are the same but they are more clear now. The Jboss Seam team is going to create the RI for this JSR. WebBeans still contains a lot of annotations and I wonder if this is going to be read easy or to document. In a few weeks the first alfa should be released. So we can try some stuff out.
Another WebBeans related JSR is the one about bean validations. This is an interesting concept and also used in Seam. With this becoming a spec some more implementations can be made available.
Lots of interesting stuff to investigate. Some more presentations and of course the BOF: using Seam and Hibernate on GlassFish by a colleague Wouter van Reeven today.
Hi,
Scala is not “a dynamic” language like Ruby or Python. It is statically typed but the compiler has a type inference mechanism. That’s why you do not see type annotations all over the source files.