Productivity Killers
A few days ago the Middleware Company released a research comparing .NET and IBM tools for java.
I guess most of you read this research (and if you didn't - you better do it), but I wanted to add my 2 cents about it.
One of the big problems in java, which is not part of the .NET (thanks god), is its over-complexity. This complexity may be logical for huge systems, with loads of servers and thousands of users, but for most systems - this is simply overkill.
Take, for example, the following scenario: you are developing a business logic component, and whie debugging you found some minor bug (say - add 1 to a variable). What would you do?
In .NET- stop the debugging, change the code, press F5 and check again.
In WSAD (IBM's IDE for Java), this is what may happen:
1. Stop the debugging (~10 secs)
2. Change the code (~ 2 secs)
3. Build the project (~0.5 mins)
4. Oops - hot code replace not working! Restart server (~ 10 mins) (For those who have no idea what I'm talking about - you have to have an active server to work on. The closest thing to this in .NET would be the CLR, however you can't restart the CLR. To do that you would have to start the whole OS, and how many times did you have to do that?)
5. Mmmmm... where did this additional server come from? You can't really debug like that. Restart WSAD (~ 10 mins)
6. Wait for the ClearCase to load its data (~5 mins)
7. Start the server (~5 mins)
8. Now go for it, and make sure you fixed that goddam bug!
So - in .NET the bug was fixed and tested in less than 10 secs. In WSAD - more than half an hour to add "+1".
To make things clear: Our Java project is not a small one. It has hundreds of files. However, we also have large .NET projects as well, and we didn't experience those horrible times.
Now, I'm sure there are some lighter Java tools, and maybe our architecture is not perfect, but hey - under no circumstances should an IDE take more than 5 minutes just to start up!