Too much magic in Java IDEs

I am very bothered by the way a typical Java web site development works. Java website developments, through JSP (Java Server Pages) is largely supported by IDEs such as Eclipse and Netbeans. It is not in any way the easiest to utilize. And at worst these huge IDEs are too kludgy for my liking.

Take the current Java project that I am working on, it’s a website that has sign in and numerous data presentation tools. Everything .java compiles into a .class file and the remaining JSP files are deployed into this WAR file through Apache Maven into tomcat. With an IDE, everything seems seamless. You don’t even need to know how it works. Just by magic. You configure the servers and paths and it just works.

You could of course decide to dump WAR files again and again to the server paths and watch it automatically deploy after you do a manual restart of tomcat. Unfortunately that’s too unproductive, starting a tomcat server takes 2 seconds for me, and starting the application takes 10 seconds in debug mode. That’s unacceptably slow because it all adds up.

So, IDEs make you more productive by deploying the files in the server for you and compiles the .java files into .class and .jar files or something like that. Essentially you only need to restart the tomcat7 server if you updated the controller. Updates to the views do not require compilation. However — there’s always a caveat — you have the .jsp file edited on the server path rather than your workspace.

Now, under the hood of the IDE, each time you save a .jsp file, what you are essentially doing is:

  1. Saving the file in your workspace.
  2. Copying the file from your workspace to the server path.

Your workspace can be managed by revisioning tools such as SVN or git and the remnants don’t get copied over to the server space. It’s pretty well thought except that you really need a proper IDE set up to save you all the repetitive work.

So the reason why I am writing this is because I wanted to use Sublime Text and Sublime Text doesn’t have Java and tomcat integration features at all. At first this seemed surprising, after all Java is so common. Upon discovering what Eclipse and Netbeans actually does, I can’t help but to feel that there is a certain amount of over-engineering.

Forgive me if that’s not the way Java IDEs work. I’m uncovering new things every day still, so please correct my mistakes, I want to understand the platform better too.

Bleh… Symbian going opensource

On tech news today, Symbian adopts the Eclipse Public License, set up the Symbian Foundation and went opensource.

Industry leaders to unify the Symbian mobile platform and set it free

…industry leaders are coming together to establish Symbian Foundation, to bring to life a shared vision and to create the most proven, open and complete mobile software platform – available for free. To achieve this, the foundation will unify Symbian, S60, UIQ and MOAP(S) software to create an unparalleled open software platform for converged mobile devices, enabling the whole mobile ecosystem to accelerate innovation.

The Symbian Foundation platform will be available to members under a royalty-free license from this non-profit foundation. The Symbian Foundation will provide, manage and unify the platform for its members. Also, it will commit to moving the platform to open source during the next two years, with the intent to use the Eclipse Public License. This will make the platform code available to all for free, bringing additional innovation to the platform and engaging even a broader community in future developments.

The platform will be free and open to develop on from the start whether you are enthusiast, web designer, professional developer or service provider. To develop on the platform you will not need to be a member of the foundation. The Symbian Foundation’s developer program will provide a single point of access for developer support; providing a wide offering of tools and resources. (Source: Symbian Foundation)

Symbian is used by Nokia. It’s like Apple has the iPhone, Microsoft has Windows Mobile and even Google’s coming up with something too. Symbian’s having a rather unexciting future with all the other platforms (especially the iPhone) making news every now and then.

For years Nokia kept the OS closed and all of a sudden they open it. And why’s that so? Because they used it enough already, they earned their cash and they finally decide to share. This news would have been more exciting if released years ago, not anymore.

This will make programmers freak out

This is the type of thing that can scare you in Eclipse:

This is the type of thing that can scare you in Eclipse

It’s some sort of Eclipse rendering bug. Your code is totally jumbled up and all the indentations and braces are all prancing around when you scroll up and down.

When such things happen, be daring – save your work. Close your file, make a silent prayer and open it up again. If your work get corrupted, you know you haven’t been sincere in your prayers.