Productivity or performance? Hey, why not both?
Delphi 1.0 celebrates 25 years
On this day 25 years ago, Borland Software trotted out version 1.0 of the Delphi application development product, making the announcement at the Software Development ’95 event in San Francisco.
That year, the current version of Windows was 3.11 (or NT 3.5), with Windows 95 in beta. There was high demand for custom business applications and developers had plenty of tools to choose from: Microsoft Visual C++ 1.52 for 16-bit applications, Visual C++ 2.0 for 32-bit, Borland’s Pascal or C++, various database-oriented tools like PowerBuilder or Microsoft Access, and many more.
There was also Visual Basic (VB) 3.0, with integrated support for both ODBC and Microsoft JET databases. VB was easy to use with its visual form builder and non-threatening programming language (case-insensitive and no curly braces) and massively popular among developers who were either in a hurry or reluctant to tangle with C/C++.
There were some issues with VB, though. It was an interpreted language, which meant applications were dependent on installing a runtime, and it was slow in comparison to C or C++. The language also had eccentricities (“Bring your hatchet,” wrote VB expert Bruce McKinney) and did not support object-oriented programming.
Enter Borland Delphi, which combined Object Pascal with a VB-like visual form builder. Object Pascal was Borland’s own language, with full support for inheritance. It is case-insensitive and not much harder than VB for coding, once you get used to typing
end a lot (loosely equivalent to curly braces in C). Unlike VB, it sensibly has different operators for assignment (
:=</code) and comparison (=).
Microsoft C# chief Hejlsberg: Our open-source Apache pick will clear the FUD
Delphi made a huge impact on developers who encountered it. It is rare that a product ticks so many boxes, and it seemed to solve all the issues with VB while also being stable and usable even in its 1.0 incarnation. Delphi applications compiled to standalone native executables, which you could install simply by copying them to a new machine. The programming environment was easy to use, compilation was fast, and the applications performed well too with none of the slowness of VB. The system also supported third-party components and was compatible with VBX controls. Unlike VB, Delphi had unfettered access to the Windows API. Anything you could do in Windows, you could do with Delphi.
In 1996, Delphi’s architect, Anders Hejlsberg, was nabbed by Microsoft where he went on to develop C# and then TypeScript.
Delphi 1.0 was 16-bit only, but was followed by the 32-bit Delphi 2.0 in 1996. Versions 4, 5, 6 and the celebrated Delphi 7 (released in 2002) followed. By then Microsoft was promoting the .NET platform as the future of Windows programming and Delphi lost its way. Delphi 8 for .NET appeared, but it turned out that Delphi programmers either did not want .NET or preferred to switch to C#. Delphi survived, though the .NET version was abandoned.
Delphi was more of a niche product, loved by independent developers but less prominent in corporate IT departments
Today it is Embarcadero Delphi, the latest version being 1.3 Rio, launched in November 2018 (but now on Release 3). The Windows-only VCL (Visual Component Library), the original Delphi framework, is accompanied by the cross-platform FireMonkey, which targets Windows, macOS, iOS, Android and 64-bit Linux. The environment would still look familiar to a developer who started with Delphi 1.0 in 1995.
That Delphi has survived and evolved is a testament to its quality, though it is no longer the obvious choice that it was for Windows development in the second half of the ’90s. Looking back, the question is why Delphi failed to sweep up more of the Windows development market than it did, given its combination of performance and productivity. One factor was that some businesses preferred to stick with Microsoft and liked the way VB integrated with Office and Access or SQL Server databases. Delphi was more of a niche product, loved by independent developers but less prominent in corporate IT departments.
Microsoft also upped its game. VB’s compiler improved, but it was the introduction of the .NET Framework and C# that did most to undermine Delphi’s advantages. C# made Delphi’s Pascal look dated, as well as having the object-oriented features that VB lacked. Microsoft wove .NET into its various platforms and frameworks, making it hard for Delphi to compete.
There is still reason to be thankful for Delphi. In 1995, it proved that you did not have to choose between the productivity of VB and the performance of C/C++; you could have them both. Delphi’s excellence pushed others to improve their tools, and you can see its influence in what Hejlsberg went on to achieve with C# and .NET. ®