The Artima Developer Community
Sponsored Link

Cool Tools and Other Stuff
One Awesome IDE -- CodeGuide
by Eric Armstrong
December 11, 2003
Arguably the most important tool in a developer's tool chest is the IDE they use -- if they can. In this post, I talk about my favorite -- CodeGuide.


I've been a fan of the CodeGuide IDE for quite a while ( There's a lot to like about it, including refactoring capabilities, the ability to find all references to the thing you're pointing at, and the ability to jump to where it's defined. Then there is auto code-completion, and pop-ups that show the available methods for an object, as well as the API documentation for each one you're thinking about using.

I'm a big fan of their interface, as well. It's written in Java, but looks (and runs) like a native application -- at least on the Windows platform, where I use it. That's because the interface runs on the Windows JVM, which has native performance and graphic characteristics. (At least on Windows. It's performance tends to be more like the usual Java application on other platforms -- still an important problem to solve for interactive programs, although progress is definitely being made.)

But while the IDE runs on the Windows JVM, the application you're creating can be developed using any version of Java that you have installed. And that's where CodeGuide really shines -- because its developers somehow manage to stay ahead of the curve on each and every release of the Java platform.

They do that partly by sacrificing any pretensions to doing visual, interactive GUI development. You can run your program to try it out, but you won't be able to develop it graphically as, say, a Visual Basic programmer would. I'll describe a prospective solution for that problem in my next post, but in the meantime, CodeGuide is superb for servlets, JSP pages, and other non-interactive applications.

On the other hand, when I was using a graphic IDE (and writing my first book on it), I found that I was always "behind the curve". The IDE was invariably a major revision behind the platform, which meant that I wasn't able to explore or take advantage of the latest innovations -- not a happy condition for a writer who's supposed to be surfing the edge of the wave.

CodeGuide, on the other hand, has somehow managed to support new features in the language even before the beta version of the Java platform is released. Since I started using it, I've never once been forced to lag behind the curve, so I have the convenience of an IDE, plus the ability to stay up to date. Heaven.

But perhaps my favorite reason for loving the CodeGuide IDE is that the folks behind it really listen. They engage in dialogue with developers, understand what they're saying, implement solutions, and diligently process the feedback they get on the results.

The result is an IDE that really works.

Recently, they've been improving their support for unit testing (see my upcoming blogs and/or articles on the subject). And coming down the pike relatively soon, they are actually supporting a "back-in-time" debugger. In other words, once you reach the point in the program where you realize that things are broken, you can go back in time to find out exactly where it broke -- instead of starting the program over and over in an attempt to catch it in the act.

The pre-release version of that program is available at And get this. Not only does it do back-in-time debugging, it also does single-step expression evaluation. So you don't have to edit the program to break expressions down into little itty bitty pieces so you can find out which part is breaking.

CodeGuide has plenty more of features. I probably haven't even mentioned some that I use every day. But hopefully this post has given you enough to whet your appetite. Then again, maybe it won't. That's ok, too -- because I really like the fact that they always have time to respond to my emails...

Talk Back!

Have an opinion? Readers have already posted 12 comments about this weblog entry. Why not add yours?

RSS Feed

If you'd like to be notified whenever Eric Armstrong adds a new entry to his weblog, subscribe to his RSS feed.

About the Blogger

Eric Armstrong has been programming and writing professionally since before there were personal computers. His production experience includes artificial intelligence (AI) programs, system libraries, real-time programs, and business applications in a variety of languages. He works as a writer and software consultant in the San Francisco Bay Area. He wrote The JBuilder2 Bible and authored the Java/XML programming tutorial available at Eric is also involved in efforts to design knowledge-based collaboration systems.

This weblog entry is Copyright © 2003 Eric Armstrong. All rights reserved.

Sponsored Links


Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use