Monday, February 19, 2007

Beyond Java and the complexity of Java

I finished reading the "pamphlet" (actually I find it refreshing with a nice short book) called Beyond Java by Bruce Tate. He has some good arguments on why Java might - in some areas - soon be coming to an end. One of the ideas are, that Java is becoming harder to grasp for newcomers. Not long ago I was involved in a contract with a customer at work, that is making the switch from the C++ platform with a bunch of hard-core C++ developers to the Java Enterprise platform. This was when I came to understand, that what many of us think is so easy to grasp and get started with, actually now includes a big bunch of APIs and concepts that you need to understand, just to know you way around a Java Enterprise development project.

A little longer ago, I had the - somewhat mixed - pleasure of working with the .Net platform and doing web development using ASP.NET and C# 2.0. Now, I know I have a head start with my intrinsic knowledge of the Java Enterprise platform, but still, it was quite easy to get started with web development. Not like the complexity of weaving together a Tapestry, Spring, Hibernate stack.

And lately - the last two weeks - I have actually been doing web development in Ruby on Rails and the Ruby programming language. Now thats effective! After one week I felt the productivity kick in. There is nothing like spoiling a customer with business value again and again. Yes, there are places where you say: "Hugh! Rails does it that way?". Like for instance, the missing support of built in internationalization and the use of those .rhtml templates, that looks awfully like JSP with scriptlets.

But again, the application I am doing in Rails is a lot like what Bruce Tate in "Beyond Java" describes as baby sitting a relational database with a web frontend.