TheServerSide Europe, second day

June 19th, 2008 at 6:34 pm by Jesper de Jong

The first keynote of today was “Language-Oriented Computing: Shifting Paradigms” by Neal Ford. It was a good presentation (with nice slides), mainly about domain-specific languages. See also Martin Fowler’s page on DSLs.

At 9:10 I went to “Spring 2.5 On the Way to 3.0″ by Jürgen Höller (one of the main committers on the Spring framework). He explained some new features in Spring 2.5, and went quite deep into the technical details of the @Autowired and other annotations - which was quite boring. He spent so much time on talking about those details that he had almost no time left to talk about 3.0. Spring 3.0 will be for Java 5 and newer only, and some new features that it will have are an expression language, support for REST and some preparation to support servlets 3.0. I wonder why they’re going to give it version number 3.0 instead of 2.6, since it didn’t sound like it would be a lot different from the current Spring 2.5.

The next session I attended was “Groovy in the Enterprise: Case Studies” by Guillaume Laforge. As the title suggested, he showed some examples of where and how Groovy has been used by companies. He discussed a number of use cases, such as: using Groovy as a developer tool (for example for testing or extending Ant or Maven), using Groovy to extend your applications (for example by using the Java scripting API to run Groovy scripts from within your application), using Groovy to create a DSL and using Groovy and Grails for web development. There was some overlap with his presentation about Grails that I attended yesterday.

At 11:40 there was an expert panel session titled “Languages: The Next Generation” with Ola Bini, Ted Neward and Guillaume Laforge. They discussed about the programming languages that are currently popular or that get a lot of attention. I found the session a bit disappointing, I had expected more. The panel didn’t come up with a clear answer or vision about what the next generation of programming languages is going to be. The only conclusion they came to was that Java is here to stay and that other languages such as Groovy, JRuby and Scala will be important additional languages, but they’re not going to completely replace Java.

After lunch I went to “Lifecycle APM: Monitor, Diagnose and Prevent Performance Issues” by Alois Reitbauer (from dynaTrace). This session was a “vendor tech brief”, so there was some marketing talk, about dynaTrace’s tool that allows you to follow transactions through a whole chain of systems (so that you can monitor and debug performance of the system).

At 13:50 I went to “JRuby on Rails: Web Development Evolved” by Ola Bini. He spent a lot of time on explaining the Ruby programming language, and had unfortunately not a lot of time left to explain how Rails works on JRuby, which was what I was interested in (I’ve already used Ruby for some time, so the intro to Ruby was not so interesting for me). Anyway, Ruby is an interesting, easy to learn and easy to use programming language, and I’d recommend any Java developer who wants to learn some other language to have a look at it.

The next session I went to was “Concurrency & High Performance” by Kirk Pepperdine. He’s a well-known guy in the field of high-performance and concurrent programming in Java. Writing software that efficiently uses multi-core processors is not easy, but it’s becoming more and more important with the current trend of multi-core processors. One of the things Kirk mentioned was the fork/join framework that will be added in Java SE 7. One book that I want to read someday soon is Java Concurrency in Practice, I’ve heard that it’s a very good book.

At the end of the afternoon there were “fireside chats”, which were sessions in which a few people did some short demos and then discussed among each other and with the audience about the things they demonstrated. I went to the fireside chat titled “Zero Turnaround in Java development”, which was about developing in Java in such a way that you don’t have to go through stop / recompile / redeploy / start cycles all the time. Guillaume Laforge showed how you can edit your Groovy web application on the fly. Geert Bevin showed how the RIFE framework supports the same thing, and Jevgeni Kabanov (from ZeroTurnaround) showed his (commercial) tool JavaRebel, which is a JVM plugin that allows you to reload classes in a running JVM. They discussed about the use and limitations of their tools and answered questions from the audience.

I arrived here late in the evening last Tuesday and I’ve hardly been outside the hotel (the conference is held at the hotel), so I haven’t seen Prague yet. Tonight there’s a “meet a stranger” dinner - you could put your name on one of five lists, and you’re going out to dinner with the other people on the list. So I’m going to a restaurant in the center of the city tonight with a few other people to have traditional Czech food.

Popularity: 578 points

Leave a Reply