Recently, ActiveState released the latest version of its excellent Komodo integrated development environment (IDE). This new version, 2.0, which is available for both Linux and Windows, is a great advancement over the previous 1.2 series. A lot of hard work and care obviously went into this release, warranting the major upgrade in version and, of course, the upgrade fees that go with it.

Installation is easy. For Linux, simply download the tar.gz file from ActiveState’s Web site and untar it. Then, execute the script. It will ask you where you want to install Komodo and will even set up a symlink for you to quickly execute the program. In Windows, an executable installer does the job for you. Once installed, you’re ready to begin using Komodo.

An IDE for all flavors
The IDE is for multiple languages. It is designed primarily to be an IDE for PHP, Python, Tcl/Tk, and Perl, but it offers basic support for many other languages. This basic support is more or less restricted to syntax highlighting and some other minor functions. Some of the languages Komodo supports in this way are C, C++, Java, Pascal, Ruby, Visual Basic, and even SQL syntax.

Keep your code organized
Komodo has a nice means of organizing your code. You can group files into projects. Then, when you start Komodo, a list of recent files and projects will greet you, as shown in Figure A.

Figure A
Project organization

Clicking on any project file (denoted by the .kpf extension) will load the project and list all of the files in the left-hand pane for easy access. Simply right-click on the file you are interested in and select Open File to open the file in the main central pane. You can have as many files open as you like, each marked with a tab for easy back-and-forth movement.

Right-clicking on the project name will give you a variety of operations you can use on the project itself. You can add new folders, existing files, existing remote files, import a group of files from the local file system, and so forth. You can even add code snippets, dialogs, commands, and macros to your project. Finally, you can also do Source Control on the files in the project: things like generating diffs between the local file and the one stored in CVS, updates, commits, and additions. Figure B shows the source control interface.

Figure B
Source control in Komodo 2.0

Working with CVS
The Concurrent Version System (CVS) control in Komodo is top of the line. You can access CVS repositories over SSH using the traditional pserver approach. This means that any developer working on a group project, such as most open source projects, can link Komodo directly to your CVS repository.

Useful features
One of the new features in Komodo is the Toolbox, which lives in the right-hand pane of the Komodo window. The Toolbox is a versatile repository for often-used components such as files, code, Web services, and URLs. By default, a few items exist in your Toolbox, such as a link to Slashdot, an external command that runs the wc tool so you can count the number of words in a highlighted selection, and a copyright comment that can be inserted with a simple double-click. The Toolbox is a great place to put links to coding Web sites you might be interested in.

Another nice feature is code folding. This makes your code similar to a tree view, allowing you to collapse sections of code. It works by indention, so properly indented code is extremely easy to view. Simply collapse a function or large segment of code to work around it. This offers a great bird’s-eye view of your code.

Komodo’s graphical debugger can save you a lot of time by quickly tracking down bugs and typos in your code. With its simple background syntax check, Komodo will quickly alert you if it finds a syntax error in your code and underline the position it thinks is the problem. Although this might not be 100 percent accurate, it comes close enough to help track the problem down. It also includes all of the standard debugging features, such as breakpoints, watches, and stepping.

Going one step further, Komodo allows remote debugging—useful when you’re working on a live site. Remote debugging can be used with PHP, Perl, Python, and Tcl code. On a local system, Komodo can create a CGI environment to help you run your programs as they would run in production, without wreaking havoc on your live systems.

Available versions
Two versions of Komodo are available: the Professional and Personal editions. Some of the more powerful features, such as Source Control, GUI building, and the Visual Package Manager (for making sure Perl modules are up to date), are available only in the Professional version. The GUI builder is useful only for those using Tcl/Tk, Perl, and Python. The value of the Source Control is almost in itself worth the increased price for anyone who does a lot of work with CVS or Perforce.

The Komodo engine
One other nice thing is that Komodo is built on the Mozilla engine and uses a lot of Mozilla technology in the program. Granted, it uses an older version of Mozilla as the base (0.9.5). But Komodo has made its patches to Mozilla available to the community at large, due to the Netscape Public License and Mozilla Public License, both of which govern Mozilla itself.

Komodo should be considered
All in all, Komodo 2.0 is a top-notch IDE. It has progressed quite a bit from the older 1.2 series, and a lot of new and handy features have been incorporated. Existing Komodo users should seriously consider the upgrade; it is more than worth it.

If you are looking for an IDE to use with Web development using languages like PHP, Python, and Perl, you have a few choices. Although Komodo is certainly not the cheapest solution, it is perhaps one of the nicest. Other IDEs achieve multiplatform use through Java, but Komodo is a solid application that runs native on Windows and Linux without requiring Java, eliminating that extra overhead.

The IDE is also smooth in both Windows and Linux, unlike other IDEs that look fantastic in Windows but not quite so nice in Linux. If you’re a Linux-based developer, Komodo is a must. If you’re a Windows-based developer, you have more options, but you should still evaluate Komodo before making your choice. If you’re a cross-platform developer working on both Linux and Windows, Komodo is pretty much what you want.