« Straw Man, SOAPy Water | Main | another test »

I is for Integrated

One of the principal features if an IDE is the Integrated part. What it takes to be integrated has gone up from the days of the first IDEs. The way it used to be was you had the compiler and the editor running from the same binary and that was what constituted integrated. Slowly the IDE became more and more integrated. Features like next compiler error and code context highlighting brought the editing and the compiling closer together. Now the bar for integrated is high, and if you know how to use the environment it can speed up your coding time. While it's true that if you don't know how to use the environment that it can slow you down there are some capabilites that could not exist without wich integration.

Lets take NetBeans for an example, and three rather un-related tasks: Source Control, Internationalization, and GUI design. The IDE intrgrates these three facets without making you switch to three differnt applicaitons or even three different panes in the IDE. First I open up the GUI designer and I add some components. However, I cannot just hard code some of the label names in since we plan on selling it outside the US (one of the few places you can get away with monolingualism, and that too is changing). So I click on the label I want to internationalize, and I bring up the property editor for the "text" property. I select a drop down box tha says I want to get the value to be internationalized. Now I am doing some rather common Java I18N tasks: I need to identify the resource bundle I will get the text values from and select the key. I can either create a new bundle or select an existing bundle in my code base. For the keys I can select from one of the existing keys or create a new one as well. The value of the key in the current language is also displayed to me so if I don't unerstand the key name I can select an appropriate key based on it's value. I can even add a new key and it will be added to the bundle for me. Resource selected, key selected, time to press OK. Here's where the source control comes in. If I've selected an existing resource bundle and I've either added or chagned a key NetBeans will save the changes. But if the resource bundle is in source control and is read only NetBeans will also ask me if I want to open it for edit in the source control. All this without me having to navigate pop-up menus and I am prompted only when I need it. When all this is solved and I am back in the GUI designer, the label I just internationalized has the value from the resource bundle shown right in the designer!

Source Control, Inernationalization, and GUI design, all dealt with in the same application in a logically connected fashion. And when you are done no visible warts are sticking out at you. Without these tools the work would have taken me mutliples of time longer because I would have to switch in and out of three seperate programs and mental contexts, where instead the IDE deals with the warts for me and only brings these issue to my attention when being dealt with.

A truly integrated experience is very seductive indeed.

About

This page contains a single entry from the blog posted on July 22, 2003 10:09 AM.

The previous post in this blog was Straw Man, SOAPy Water.

The next post in this blog is another test.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.33