ive years ago, I reviewed Borland’s C++ Builder 4.0 and I was so impressed with it that I have used it as my C++ IDE ever since! So I jumped at the chance to review this latest release. C++ BuilderX is a multiplatform IDE for building C++ applications that can be deployed on various target platforms: Windows, Solaris, Linux, and Symbian-powered mobile devices. Additionally, it offers an unparalleled degree of customizability, enabling you to choose the underlying compiler, linker, and debugger according to your preferences and target platform.
Despite the fact that C++ BuilderX pack contains no less than 14 CDs, the installation process went fast and smoothly. Of all the 14 CDs, only the one containing the C++ BuilderX core files is essential. The remaining CDs contain optional compilers, commercial database libraries, performance tuning tools, and other goodies. I decided to stick to the basic configuration and add more components later, should the need arise. The unavoidable registration process was also fast, although the pestilential habit of forcing it on customers should be discouraged.
C++ BuilderX’s default look and feel was rather disappointing. If anything, it looked like a mid 1990s AWT-based applet, with those sluggish buttons and menus, blotchy fonts, and a gloomy gray background (Figure 1 shows the default C++ BuilderX user interface). Fortunately, I soon learned that customizability is C++ BuilderX’s strongest feature. You can choose between four different “look and feel” settings, including Emacs, Motif, and Windows. Naturally, I chose the Windows look and feel (Figure 2). At last, I was ready to build my first application.
Although C++ BuilderX retains many of C++ Builder’s characteristics, there are quite a few changes. For starters, the class view has been significantly improved (Figure 3). It now lists every macro, #include file (recursively!), enum type, function, and class member. There are other welcome enhancements besides that. Customizability, as noted previously, is the name of the game. Not only does C++ BuilderX allow you to choose from five different keymaps including Emacs, Visual Studio, and Macintosh CodeWarrior, you may even define your own keys. Visual C++ developers, for instance, can feel at home by switching to Visual Studio’s debugger keymap. Nifty, isn’t it?
|Figure 3:. The new and improved classview.|
Nonetheless, some of the changes are less enthralling. C++ Builder lets you edit a source file during a debugging session. It immediately recognizes any changes and kindly asks you whether it should rebuild the current project and launch a new debugging session. Consequently, I developed a foolhardy habit of fixing source files during debugging instead of waiting patiently for the program’s orderly exit. While this can be perilous, most code fixes are small and frequent so why waste precious time? Alas, C++ BuilderX isn’t as lenient as C++ Builder. It locks all source files during debugging. If you want to edit any of them you have to wait patiently for the debugging session’s graceful termination or abort it using the “reset program” key. I wasn’t ready to give up so easily, though. A little poking about revealed the secret handshake, namely disabling the “Editor files are read-only during debugging” option under Project Properties?>Debug. Hallelujah!
One of my main concerns when choosing a C++ IDE is ANSI/ISO compliance. In this regard, C++ Builder circa 1998 was a treat to work with. Its core language compliance was close to 100 percent?a rarity in those days. A lot has changed since then, however. Microsoft’s promise to bring Visual C++ .NET to full ANSI/ISO compliance has become a reality. Likewise, GCC and Sun’s Fort