Today was a quite long day at Jazoon in Zurich.
James Gosling’s Sun Opening Session
In the morning I assisted to James Gosling’s Sun Opening Session. My opinion is that he didn’t say much. From such a personality as his one in the Java universe, I would have expected some vision of what Java’s future will be. He didn’t say much more than enumerate all devices where Java (or the JVM, which to his eyes is the key technology) is used.
I must say that I was surprised that he’s that tall. That was my only real surprise, lol.
Why applications do not scale
Alois Reitbauer presented the difference between performance (caracteristics -latency, precision, response time, or whatelse – of an application systems) and scalability (the aptitude of an application to conserve its caracteristics under heavy load), than showed different ways to achieve scalability and showed how to determine if an application has performance or scalability issues. The conclusion, of his speech was that it’s important to determine during design phase exactly what kind of scalability must be achieved in the application. It’s the work of software architects and it’s up to them to determine this before the development takes place. Taking such decisions after development are impossible or very hard because the scalability goal of the application will have deep impact on the code.
“Design patterns” in Dynamic Languages
Neal Ford made a review of several well know design patterns, most of them being ones from the GOF (Gang of four, Gamma et al.) and showed how easily or elegantly the issues they tackle may be solved using dynamic languages, mainly Groovy. Depending on the programming language, the solutions are more or less elegant. As the JVM supports a lot of programming languages, it’s possible to find ones providing elegant solutions to common problems.
Gradle – A build system for Java
Hans Dockter, the creator of Gradle, presented us this tool and compared it to popular build systems, like Ant or Maven. It looks like Gradle is somehow very powerful and learned from Ant’s or Maven’s limitations. Gradle seems to be well integrated to IntelliJ IDEA and provides some compatibility with Ant and Maven. I really can’t judge this tool much better, but I’m curious and willing to try it and see if it’s worth adopting.
Next Generation Enterprise Builds: Maven, Mercury, and Tycho
This presentation covered the evolutions of Maven and showed what functionalities Maven 3 would have. It seems like Maven 3 is deeply rewritten et re-engineerd, when compared to Maven 2. I have several questions concerning this evolution:
- Will Maven 3 be compatible with Maven 2 files?
- Won’t it be too complicated to manage artifacts which may be downloaded from p2, Maven or gem repositories?
- What about existing plugins? Will they be re-usable without change with Maven 3?
This is kind of very obscure to me and I’m looking forward seeing what Maven3 will become.
Java Rules Engines (Drools, iLog)
Raed Haltman summarized what rules engines do, compared the commercial iLog to the open source Drools (which are only two of many other rules engines out there). He insisted in the fact that most SOA solutions are built upon rules engines, or at least that there exists evidence to this. Then he tried to show what rules engines are good for using his own experiences. And that’s when I was bored enough to leave. I’m really really really not interested in the details of someone’s experience. I’m only interested in concepts, rules, general lessons from experience. This does not give less interest to rules engines, which I believe are not enough well known by developers. It’s a paradigm that’s really often ignored by developers, if they even know its existence.
Java 7 – BOF (Birds-of-a-feather Sessions)
This was quite interesting, as there were some discussions about the evolution of the Java language. It seems like Sun won’t try to change the Java language to anything really different. The reason is: there is the fantastic tool that is the JVM, it enforces exception handling (unlike the CLR/C# – I have no idea if it’s true, it’s what was said), and there are many other languages available for the JVM, so it’s up to the developer to choose the best one. No need for a big company to support the language: Scala for example has support from a renowned university and that should be enough to convince clients and companies that Scala may be the best language for their developments.
My opinion is that the Java language sometimes really sucks, and does not always imply quality or productivity. And as long as no other big organisation will do real marketing around another language for the JVM, the Java language will remain the one that is most used, although Sun really seems to see no objection in the use of other languages.
tba – Neal Ford
Well, Neal Ford told a lot of things with a lot of humor and references to the Terminator (as well as some other movies about robots) movies. Well, what’s the point between science fiction and Java? Java is everywhere (confer James Goslings Opening Session this morning), Java or the JVM never were great innovations, but both have a really huge success in the past and still will have in the future. He predicts that robotics are going to become a technological trend in the future. He also predicted many other things, of whose I don’t remember all. I think he’s a crazy but brilliant person. He also predicted that the Clojure language will have some great success story on the JVM, as a LISP-like language. Maybe this will be the first real success of LISP. Oh, yes, I’ve almost forgotten: he mentioned that Samsung (at least that’s what I understood) builds killer robots (which are deployed at the border between South- and North-Korea), which I absolutely don’t like – I’ll try to avoid buying Samsung stuff from now on, and he mentioned that Apple (you know, this little computer company) is the biggest internet music retail company, and that they created a new trend using the iPhone.
This was not technical at all, but I must say that what I expected from James Gosling (some vision of Java’s future) was given to me by Neal Ford. I think it’s really important in a community/society to have people who are able to give some directions of thought, some ideas, and finally some visions to people, and Neal Ford does this quite well. But he’s really crazy. Robots still aren’t taking over the world. =)
What they don’t teach you about software at school: Be smart!
I agree that I’ve never been told this at school. I more often heared: Learn more! Ivar Jacobson explained very simply how a lot of situations are making developer’s lives too complicated. He reminds us that software is developed by people, not by machines. That’s the most important point. He insisted on the point that doing refactorings and applying methods and now procedures and again refactorings won’t always save us, that software development is a question of trends (scrum – xp – rup – cmmi – …) and that no trend is really the ultimate one we need. The conclusion of this is that instead of refactoring from the beginning, we should try to tackle our problems one by one and sequentially reduce them, until we achieve to obtain good processes, good code quality, good design etc etc.
That’s all fine and it’s still not the end of the day.
JavaEE 6 – BOF (Birds-of-a-feather Sessions)
BOF with Antonio Goncalvez (he’s written a book which you should definitely buy about JEE6 with Glassfish 3), Ludovic Champenois, Roberto Chinnici, some other people I still don’t know. We made a review about new features of JEE6, commented and discussed those, and that’s it. There are really a lot of interesting features in JEE6/Glassfish: profiles, beans validation, JAX-RS, Async, blablabla
Discussing future features is really interesting, but without some more implication in the community, I don’t think it’s worth more. I prefer concentrating on what’s already usable and released and to learn about new technologies once they are ‘real’.
Conclusion
It was a dense day. I’ve already taken a look to Scala, I’ll do with Groovy and Clojure, which seem to be quite elegant languages. My only question concerning different languages is about the compatibility with the Java language.
I’m definitely happy to have won the free entrance ticket for Jazoon at the Yajug (http://www.yajug.lu), and I’d like to thank them as well as my employers (Pragma Consult, Luxembourg – http://www.pragmaconsult.lu) for permitting me to be here at Jazoon in Zurich these days.
Tomorrow will be my last day here – I still have no idea of what presentations I’ll be attending to.