asp:review
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.
Rating:
Price: US$1,799
http://www.borland.com/csharpbuilder/