Several years ago, I wrote in this column about the long, painful death throes of Borland. I suggested the company try to right itself by spinning off or shutting down non-core assets, including Delphi, the object-oriented, Pascal-based language and development environment. Whether Borland’s (or CodeGear, as Borland’s IDE group came to be known) not heeding this advice was a good decision will never be known, as CodeGear—including Delphi—was sold to Embarcadero Technologies for a song. To my surprise, Embarcadero has just released an impressive update to Delphi.
The new product, called Embarcadero RAD Studio XE, is technically an update to RAD Studio rather than to Delphi, but it comprises all the new features promised in Delphi 2011 (codenamed Fulcrum). RAD Studio XE, (I’ll just call it XE from here on) is a collection of four different developer environments: C++ Builder, Delphi, Delphi Prism (which I’ll discuss shortly), and a new development environment for PHP called RadPHP.
During the last few years, the term “Studio” in a product’s name has come to imply a collection of tools rather than a single product. Even Microsoft Visual Studio, which is as close to a single product as you can get, provides dev environments for multiple languages.
In the case of Embarcadero, the products in XE are not tightly integrated. For example, the principal environment is a C++ and Delphi affair. Delphi Prism is a plug-in for Visual Studio, and RadPHP is a partially integrated product. To say the least, this is an odd product strategy. How many developers need to combine, say, PHP and C++ in the same project? Despite this odd selection, it’s clear the individual products are well designed and thoughtfully crafted.
Let’s start with Delphi. Delphi is the anchor product in XE in that it defines the suite. For the moment, Delphi generates pure Windows binaries. However, binaries for Mac OS X and Linux have been announced and will be released shortly. The current version contains a redesigned UI, new testing tools, a static code analyzer, a metrics dashboard, and a visual build tool. The famous Delphi component palettes have been expanded with widgets for REST transactions and other technologies. Cloud platforms are also integrated, with app deployment available to Amazon EC2 and Microsoft Azure directly from the IDE.
The tools, which work with Delphi and, in many cases, on C++, include “lite” versions of AQtime, the well-regarded performance profiler from AutomatedQA (which is now a division of SmartBear).
Delphi, as such, does not generate binaries for .NET. To do that, you must use Delphi Prism, which uses an Object Pascal look-alike language in a plug-in for Visual Studio. This solution works only for Object Pascal. That is, there is no equivalent for C++ or PHP. In this regard, C++ Builder looks like an orphan, available only for native Windows binaries and nothing else.
This neglect of C++ has long roots, going back 10 years when Visual Studio’s feature set began to surpass Borland’s C/C++ offerings. Rather than competing, Borland folded up its C++ tent and went home, as if Microsoft’s apparent superiority were insuperable. However, Embarcadero is migrating some of the Delphi features to C++ Builder, including the present support for cloud deployment and the planned support for Mac and Linux.