Borland C#Builder Enterprise
By Michael Riley
C#Builder is the first commercial Windows-based C# development tool that is not from Microsoft. Borland is attempting to win over converts from the Microsoft C# community the same way it did in the Java world - by offering a better solution than the incumbent's. However, the circumstances are considerably different for Borland this time around. First, at the time of Borland's JBuilder introduction in 1997, no competitor in the Java space had a strong IDE package, especially not from JDK-provider Sun Microsystems. Second, the commercial competitors in the Java space had tools that were still first generation in their approach to the development problem. Most importantly, Borland eventually got around to practicing what it preached about Java by releasing its JBuilder tool written completely in the Java language.
Conversely, C#Builder's situation is not as strong. For starters, C#Builder's primary competition is Microsoft's Visual Studio .NET IDE. As VS .NET developers know, this IDE is one of the most sophisticated development environments on the planet, and the latest 2003 edition solidifies that position even deeper within the corporate application development market. Second, no other commercial interests have opted to compete head-to-head with Microsoft's .NET IDE dominance, making Borland the only other player in the C# IDE space. And although Borland may achieve this goal by version 3.0 (as it did with JBuilder), the first release of C#Builder was written in a combination of languages, from Borland C++ to Delphi. Borland could have made quite a statement if it had gone the native C# route (akin to Delphi being written in Delphi, JBuilder in Java, etc.), but most likely because of time and market constraints, they evidently opted to get the product out the door and gauge its success in the marketplace.
Figure 1. The C#Builder IDE improves upon Borland's best practices culled from years of experience with their C++Builder, JBuilder, and Delphi IDEs.
Installing the product can take anywhere from 10 minutes to an hour or more, depending on the number of dependencies already installed (Windows 2000 or higher with Service Pack 2 or higher, Internet Explorer 6.0 or higher with Service Pack 1 or higher, .NET Framework SDK 1.1, Microsoft Visual J# .NET Redistributable v1.1 and IIS 5.0 or higher), the speed of your hardware, and the number of program options selected. Even with most of the dependencies previously installed, it took my 1.8 MHz test system about 20 minutes of configuration before launching the first instance of the program. Like most expensive software these days, the product requires electronic registration and activation, and will expire seven days after installation if an authorization key is not installed.
Besides the core C# IDE, the Enterprise edition is bundled with a number of useful third-party tools. These include the ComponentOne Studio Enterprise suite (see Brian Noyes' review of ComponentOne Studio for ASP.NET), and customized versions of Crystal Reports, InstallShield Express, and Wise Owl Demeanor, a .NET code obfuscator. Developer editions of Microsoft SQL Server 2000, IBM DB2, and Borland's InterBase SQL servers are also included.
In addition to CaliberRM, a separately installed IDE plug-in that that connects C#Builder users to Borland's collaborative requirements management product, one of the most compelling tools bundled in the package is Borland's Janeva product. Janeva bridges .NET to J2EE and CORBA server-side components via IIOP, effectively connecting the Java world with the .NET world. Janeva is installed as an IDE Plugin package (janevaide71.bpl) and requires the Java Runtime (JRE) version 1.4 or higher. This is the tool that C#Builder markets as enabling cross-platform development within the IDE, but this message is diluted by the fact that Janeva is sold as a standalone product that can also be integrated into Microsoft's Visual Studio .NET IDE, thereby negating the exclusivity that C#Builder might have provided. However, when I attempted to explore the VS .NET integration, this option failed on my machine and the installer reported that it could "not find your Visual Studio .Net 2002 installation." Apparently, Visual Studio .NET 2003 integration still needs some work.
Aside from all the goodies included in the box, the pinnacle achievement is the C#Builder IDE itself. Rather than attempting an apples to oranges comparison of the C#Builder versus Visual Studio .NET IDEs, I've elected to highlight the C#Builder enhancements that are either radically new to C# developers or are far superior to Microsoft's current feature interpretation. Topping the list is the integrated dynamic modeling feature, which generates UML class diagrams on the fly, courtesy of Borland's Together product. Whether application developers use this feature as a lazy auto-documentation feature or for the real honest-to-goodness real-time whiteboard design ability, the flexibility of the modeling tool is self-evident. Even though Microsoft has announced their intentions to build modeling capability into future editions of Visual Studio .NET, Borland's C#Builder answers the call today. And for those fans of Borland products who prefer the presentation style of C++Builder or Delphi, acclimating to C#Builder's IDE takes a matter of minutes instead of hours. Developers may even be surprised to discover that the product can consume and compile VB .NET syntax. Borland doesn't heavily promote this fact because, unlike C# tool tips and parameter auto-completion, only syntax highlighting is supported for the VB .NET language. Nevertheless, for those large projects with mixed .NET syntax, it's comforting to know that developers won't need to switch to an alternative editing environment to work with non-C# files.
Figure 2. One of the coolest features of C#Builder Enterprise edition is the integrated Model View, allowing application designers to dynamically switch between UML class views and actual code.
Other nice-to-have amenities bundled into the product are LiveTeam, an interface providing access to various source-control management systems such as Microsoft SourceSafe, Rational ClearCase, CVS, and Borland's own StarTeam product. Borland has also created Borland Data Provider (BDP) for ADO.NET to include the bundled SQL database servers - and even one that didn't quite make it into the box; the printed Quick Start guide erroneously states that a developer edition of Oracle 9i is bundled with the product, but the inclusion of Oracle's CD never made it into the final package. Speaking of documentation, with the exception of the Quick Start guide, documentation is almost entirely online. Although some might lament the lack of stacks of books weighing down the box, the amount of documentation is considerable and well written, and even includes the most meaningful extracts from five of Sams Publishing's C# books and a 19-lesson online C# tutorial authored by third-party provider Softsteel. Last but certainly not least, the product includes Microsoft's relatively new Cassini Web server for local development and testing of ASP.NET Web pages and Web service components.
C#Builder is not without its faults. It is littered with the trappings of a 1.0 product. Nagging bugs and interface glitches are apparent throughout the product, from list boxes missing vertical scrollbars to buttons sizing outside their dialog box frames. Other bugs are full-blown showstoppers that can bring the IDE to a crashing halt. A patch was immediately issued just as the product hit the end-user distribution channel, but it will take an army of beta testers paying the privilege of debugging a 1.0 product to ferret out these and other troublesome issues before the product is hardened enough for enterprise budgeters to consider bulk license purchases.
Figure 3. The product is not without its problems. Besides fatal bugs that crash the IDE, even minor nuisances like the Installed .NET Components tabbed dialog box lacking a vertical scroll bar advertise C#Builder's 1.0 status.
Ultimately, the question comes down to whether developers should buy into Borland's interpretation of the C# development environment. Companies that have adopted Visual Studio 2003 will most likely have no reason to reconsider their choice, unless they have a deep rift between their .NET and Java developers. Companies that haven't yet committed to a standard development environment should evaluate C#Builder in the context of Borland's end-to-end development lifecycle suite of tools. On its own, C#Builder is a good first attempt, but it really shines in the context of Borland's Define-Design-Develop-Test-Deploy-Manage strategy.
Unlike Microsoft's current offering, C#Builder fits nicely within an integrated, end-to-end application lifecycle management platform that can reduce both overall development time and multi-vendor tools integration problems. Borland is ahead of the pack when it comes to this approach, and is one of the first major players to embrace the emergence of Model-Driven Architecture (MDA), which is viewed by many computer scientists as the next wave of application development practices. Like Apple in the computer hardware space, Borland is an innovator in the field of software development tools.
Although the 1.0 version of C#Builder is a good first try, it may be too early to adopt for all but the most enthusiastic supporters of Borland's vision. However, once it hits its stride in its next iteration, and is seamlessly integrated into the Borland lifecycle strategy, its respect and stature among even the strongest Visual Studio .NET advocates will unquestionably arrive.