Rewind to 1992. Borland has Windows development sewn up, with the Turbo C++ 3.1 compiler, the excellent Object Windows class library, and even a Windows IDE. Microsoft by contrast has C++ 7.0, the inelegant Microsoft Foundation Classes, and a complex DOS IDE called Programmer’s Workbench that nobody uses.
The following year Microsoft brings out Visual C++ and condemns Borland to a C++ niche. The IDE was good enough, and owning the platform gave Microsoft C++ too many advantages for Borland to compete. Borland, however, still has a trick up its sleeve.
In 1995 it released its Visual Basic killer, a miracle called Delphi. Before Delphi, you had to compromise. You could have rapid development, or fast code, but never both. Delphi changed the rules, with a Visual Component Library that enabled drag-and-drop programming and a fast native code compiler. It should have swept the board, but somehow remained the best-kept secret in Windows development. Managers felt safer with Visual Basic, while hardened C++ coders muttered something about not liking Pascal. Those who discovered Delphi loved it for ever, but many never did.
Even a niche product can be successful, and Delphi steamed along merrily until version 7.0, though even the faithful complained about poor-value upgrades while Borland poured its energy into Java and the ill-fated Kylix project: Delphi for Linux, a desktop application tool for an operating system used mainly as a server.
Then came Microsoft .NET. Borland wanted to be in, but once again competing with the platform vendor was difficult. There was C#Builder, but all the serious C# developers stuck with Visual Studio. Then there was Delphi 8, a remarkable achievement introducing a Delphi compiler for .NET with a high level of compatibility with the Win32 version of Delphi. Developers could use the same code, but have it run more slowly, use more memory, and depend on the .NET Framework runtime. It was not a big success. Delphi 2005 was more interesting, bringing Win32 and .NET development into a single IDE, with C# thrown in for good measure. It was released too early, plagued with bugs, and some began to feel Delphi 7 was the last good Delphi Borland would ever make.
2006, and Borland has confounded its critics. Delphi 2006 is not only a bug-fixed version of the previous release, but adds in C++Builder, a Win32 development tool that marries the C++ language to Delphi’s Visual Component Library. I won’t dive into the sad story of C++Builder X, but enough to say that C++Builder is back; to the delight of C++Builder developers, who finally have an update they can use.
Here’s why Delphi 2006 is worth a look. In the Win32 world, it is still a Visual Basic killer, now improved with the inclusion of the FastMM memory manager that delivers a noticeable performance boost both in the IDE and compiled applications. Even Delphi 7 diehards will find something to like: a decent range of refactorings, innovative and customisable "live templates" that automate the creation of common code structures, auto-alignment of controls in the form of designer, automatic highlighting of code edited since the last save, and integrated code visualisation and UML 2.0 modelling with the Together diagram tool.
There is still a role for Win32 code in the .NET era - if you doubt that, ask Microsoft, which continues to use it for its most strategic application, called Office.
Delphi is a harder sell as a .NET tool, particularly as it currently targets .NET 1.1 rather than 2.0 (a further version is promised soon). The question Borland has to answer is this: why not just use Visual Studio? One possible reason is ECO (Enterprise Core Objects), an object-relational mapping framework for .NET that after several iterations is now a pragmatic and usable approach to model-driven development. ECO is integrated with Together, and with Class Diagrams and State Diagrams, in combination with the standard Object Constraint Language (OCL) and extended by the ECO Action Language, you can generate complete applications. Full use of ECO requires the high-end Architect edition, though some parts also turn up in the Enterprise and even Professional variants.
Another Borland advantage is integration with a family of application lifecycle tools, including CaliberRM for requirements management and StarTeam for configuration and change management.
The .NET product forces some difficult decisions. Delphi ships with two .NET GUI libraries, the backwards-compatible VCL.NET and Microsoft’s standard Windows Forms. For database work, the Borland Data Provider is an extension to ADO.NET that requires its own drivers, which is inconvenient. It is all a bit messy.
ECO is attractive, but the truth is that most .NET development will continue to be in Visual Studio. It is as a Win32 tool that Delphi scores most highly, particularly since Microsoft abandoned Visual Basic 6.0.
Overall, you get a lot for your money. Delphi for .NET and Win32, C++ Builder for Win32, an alternative to Visual Studio for C#, Together UML modelling, and ECO model-driven development. There's no longer even a hint of cross-platform, but for Windows developers Delphi 2006 must be worth checking out.
Read full details of what’s new in Delphi 2006 on the Borland Developer Network here. ®