Delphi

My Inkscape version of the Embarcadero Delphi logo

Delphi is a rapid application development (RAD) environment using the language of the same name, a derivative of Object Pascal. It is the successor of the famous Turbo and Borland Pascal. The language allows both object oriented and plain structured programming. The language is very rich and powerful and is usable for high level programming as well as for programming close to the bare metal. The traditional desktop compilers even have a built-in x86 (or x86-64) assembler. Delphi is, in my opinion, the best language and the best RAD tool for native Windows. One of the main strengths of Delphi is support for several database and data processing technologies, but Delphi also supports many other technologies in varying other fields. It is a real general purpose language.

Version 1 supported 16 bit Windows, and versions 2 and higher support 32 bit Windows. Delphi 8 did not support native programming, but created programs for Microsoft .NET 1.1 instead. Later versions, 2005, 2006, and 2007 allowed programming to both native Win32 as well as for .NET. These programming environments also come as a RAD Studio, which had different "personalities" for each of the supported languages. In RAD Studio 2005, there was also a personality for Microsoft’s C# compiler, and since RAD Studio 2006, also for C++Builder. Later versions omitted the C# personality.

In later versions of Delphi, especially XE2, XE4 and XE5, compilers for OS X, iOS and Android (on ARM processors) have been added to the product.

Delphi also has its own GUI framework for Windows, the famous VCL (visual component library), which makes the creation of user interfaces very simple. There is a VCL for .NET, but Delphi 2005 and 2006 also allow the use of .NET’s own Windows Forms library. Later versions do not allow WinForms programming anymore, and in RAD Studio 2009, the Delphi for .NET personality was omitted. Instead, it was delivered with Delphi Prism, which uses the Oxygène language, also a derivative of Object Pascal, but not quite the same as the Delphi language. It does not use the IDE (integrated development environment) of RAD Studio, but runs in Microsoft’s Visual Studio (or the free Visual Studio Shell). Later on, Prism was abandoned, but is still sold by its originators, RemObjects Software, as Oxygène, part of their Elements product.

To support multi-platform computing, there is a new GUI framework (or “application platform”), called FireMonkey, which works on all the supported platforms (currently: Win32, Win64, OS X, iOS, Android). Using new technology in the IDE, it is possible to design FireMonkey (often referred to as FMX) applications for several platforms at once, with one code base.

Delphi was originally developed by Borland, but was later phased out (together with the other development products) into a company called CodeGear. CodeGear was then acquired by the development company Embarcadero, which, until then, mainly produced environments for database programming.

The naming of Delphi version is probably a bit confusing. Delphi had plain version numbers from 1 to 8, then got year numbers like 2005, 2006, 2007, 2009 and 2010. After that, the Delphi versions are called XE, XE2, etc. The latest version using XE is XE8. After that, Delphi is called Delphi 10 and gets and extra city name, like Delphi 10 Seattle, Delphi 10.1 Berlin and Delphi 10.2 Bottrop Tokyo.

More information on Delphi can be found on the Embarcadero website and on Wikipedia (if you can read German, the German Wikipedia pages are also very interesting).

C++Builder, the sister product (in the Delphi 2 timeframe, they were referred to as “Ebony and Ivory”) shares much of the functionality with Delphi: VCL, Firemonkey, many technologies, form designers, etc. C++Builder uses the C++ language, but with extensions to work with Delphi.

Issues with or about Delphi (and C++Builder) can be discussed on the numerous Delphi newsgroups (using NNTP and a newsreader) or web forums on the Embarcadero server. Just subscribe to the embarcadero.public.delphi.* newsgroups or Embarcadero Delphi discussion forums which best fit the subjects in which you are interested. You can find more information on the Embarcadero information page for them.

You can also find a lot of information and articles around Delphi on the Embarcadero Developer Network. Take a look at my Links page and the Stack Overflow platform, which has become a valuable forum for Delphi (and C++Builder) programming questions, too.

Back to top