A late comparision of Ruby on Rails with Open Xava demonstrates that you can develop Java based applications fast. This lead another blogger to the conclusiong that java developers do love complicated architectures.

I think this view ia a little to simplistic. Java developers like fast results and progress just as all the other developers. But if you have a look at the environments in which java is used, you'll often find large corporations and that is causing problems. If you are lucky enough not to have worked in a large company let me describe this wonderful experience.

In the typical large company you can't just talk to the future users, ask them about their problems and solve those using software. You also have to adhere to all kinds of rules. Rules about how to implement the login. Rules about how to talk to other systems. Rules how to format your code. Rules about how to blow your nose. All those rules easily amount to one or two thousand pages.

While the amount of rules certainly is a problem rule alone aren't a problem. I'm an absolute fan of rules in order to steer software developments. The problem with those "Large Company Rules" (LCR) is they are based from the largest most complex (or complicated) system the company ever encountered. Thus they dictate an architecture fit for a system consisting of 20 subsystems doing some thousand transactions per minute.

But surprisingly most of the systems are really quite simple with only few users. Yet they have to use everything IBM sells.

So all the java developers get used to EJBs, SOAP, Messaging and what not and many think this is the only way to write systems.

And that is the thing I blame many developers for: To many ignore what happens outside their current project. They don't read, they don't learn. And while I think the companies are guilty of making everybody think development in java is slow and complicated every single developer is guilty when at some day in the future his current project ends and he realizes there is no more demand for his skill set.