Jul 10, 2006

NFJS 2006 (No Fluff Just Stuff)

First I should mention that NFJS 2006 was the best software conference I have attended. They have talked about a lot of new technologies in a single conference which it very rare.

I have targeted mainly Java, Enterprise Development Technologies, AOP and some Java frameworks. Actually I have attended to 3 sessions of Brian Goetz's presentations where he talked about

  • Java Concurrency in JDK 5.0
  • Java Memory Model
  • FindBugs tool

I have surprised to hear that findbugs tool had found over 50 bugs in JDK 1.5b59 and 170 bugs in Eclipse 3.0! If those highly worshiped programs contains that amount of bugs how many bug should our programs contain? So I decided to use this tools to revise my codes.

All of the Java examples were done in JDK 1.5 and they have talked about J2SE6 also. To get the best of Java we have to use at least 1.5. The Java concurrency presentation elaborated that we should sufficiently synchronize the code where necessary and the synchronization had become very efficient. In traditional single-core processor systems, he said, we might not see the problems of poorly synchronized concurrent applications, but with all the new multi-core processor systems we might get into troubles. Synchronization is not heavy and it was a myth propagated since JDK1.1. The new Future and Executor concepts have drawn my attention where these will boost the performance heavily in back end server cores.

The presentations on Enterprise Java State Management by Ted Neward and SOA by Neal Ford were very good refreshing ideas for experienced developers. The idea of Aspect Oriented Programming (AOP) is a very interesting.

I also went to a Hibernate session and that is a wonderful framework which allows you to do the Object to Relational (with relational data bases) mapping very easily without a single line of SQL command. And you get the best of it when you want to integrate multiple databases (like Oracle and PostgreSql). You can do that without changing a single line of code in your code base.

All of the Java frameworks used very rich features in Java5 like annotations. There was a lot of talking about meta programming (programming the programs). AOP, Hibernation and JSF needs meta programming capabilities and they use the annotations in Java5. Therefore I am thinking if we need to go with the trend and get the best of new technologies we need to migrate to Java5.

Agile development had been given a big attention this time. I like the presentation by Scott Davis about easing into Agile. I think it should be the de facto software development model now.

I did not totally rejected other technologies. But I did not attended to Java Script, Ruby or Groovy sessions because I thought to cover the areas with Java and related frameworks and letting others who are very much into it to attend to those sessions. So I would like to hear more about those technologies from the people who had attended those sessions. It was very interesting to see how flexible Rails is. In the last session Bruce Tate showed how to create a programs with Rails and MySql. He showed how we could override the methods which were not even implemented! Strange idea but very handy at the end. There were lot of talking about languages with static typing (like Java) and dynamic typing or "duck typing" ( like Ruby). And there was a strong arguments against static typing. It was said like now is the time for dynamic typing.

Overall it was a great conference to be in.

Lasantha Kularatne

University of Texas at Austin

No comments: