December 2005

I was recently at lunch with a friend going over my latest piece of software with him (over Mexican food) when he looked at the IDE running on my laptop. He was very surprised to see Netbeans rather than Eclipse, I was equaly surprised since this is a well informed CTO/consultant who I respect quite a bit. How come a person who is up to date enough to discuss Ruby on Rails with me (and is even familiar with the specifics of the demo) doesn’t know how far Netbeans has come?

While the Netbeans team has come a long way in their marketing and evangelisem since the days of 3.x (all the marketing in the world couldn’t help a piece of crap like 3.x) especially thanks to the new web site and the work of  some great bloggers ( ) there is still a problem.

This isn’t a big problem though, most of the hard work is already done the product is ready for prime time (especially 5.x I’m working with it right now and it rocks), the web site is informative and there is a strong group of dedicated core users. Now the work is to bring in the masses, arguably this is the easier part it just needs some money and legwork… The elevator music flash demo for Java Studio Creator was great, I was amazed at peoples responses they have never seen this before. The problem is with people like myself is that I assume (unintentionaly) that everyone reads and sees the same things I do, the problem is that people in Sun know how well their tools work and they assume that people are informed of the progress made. Most people out there don’t know this and its time to get the message across and be agressive and my solution is:

Start advertising in Eclipse web sites! Be polite don’t attack, ofer a decent alternative and humor. Better yet advertise in Microsoft developer tools jornals and web sites. Hell MS advertises on Slashdot and those guys know the score when it comes to PR and advertising, borrow a page from their book.

Ok, I just finished watching the two main demo video’s of Ruby on Rails from their web site. I’m shocked that people buy into the whole “ruby beats Java arguments” having watched these demos it seems that Rails really has very little to ofer in terms of serious web applications and would only appeal to PHP hackers that want to get something out the door (and spend the rest of their lives fixing the problems).

Oh where do I start… First there is this stupid mentality that has been in the programming community since forever: “Low line count is good”. This means evaluating the complexity of a system through its line count, everyone agrees this is a stupid metric yet they keep using it. Within this demo the narrator “brags” about writing only 53 (if I’m not mistaken) lines of code to build a weblog, however Rails seems to be bundled with some elaborate templates including one that practically generates the entire thing… The narrator even stopped the presentation several times to regenerate the code of the blog… When code generation is involved with such a metric line count just doesn’t count! The code might be generated but it will need to be maintained and its complexity still exists and burdens the entire application, writing a line of code takes 1 minute but maintaining a generated line of code is much more complex since people tend to stay away from the generated code (due to its complexity). So the whole idea of generating code to hide the complexity of the web application, useless.

But Rails does something far worse, it uses defaults. Unlike a generated line of code that you will eventually track using standard debugging practices, when functionality is determined by default finding that out (without reading every single page of documentation which is just not practical with todays development platforms) is just impossible. I won’t be able to grep the code and find the source of the problem or the area to change and guessing that a default in some anonymous method is responsible for this functionality is just not something I would expect from someone new to this environment.

Some people will chime in claiming that with todays world you need fast prototyping and development, this is true however you also need to support i18n and you will always need extensive customization. In these respects Rails is a step in the wrong direction that will complicate our lives further, I would like to see the same demos and some customization done by someone with limited experience in Rails. In Java I myself can produce the same sort of results in the same amount of time using J2EE even without hibernate but with a decent IDE.

The syntax seemed like a simpler version of JSP with extensive use of scriptlets and no custom tags, the IDE doesn’t seem to have even basic features like completion and the documentation seems monolithic and dissorganized although when delving into a particular feature it seems quite detailed.