It’s 50 years of the Pascal language and Delphi is its heir, empowering Pascal developers in today’s complex scenarios, despite being ignored by the Pascal language inventor
Niklaus Wirth published the paper “The programming language Pascal” in March 1971, which means it is exactly 50 years this month since the Pascal programming language was officially launched.
The renowned computer scientists celebrated the anniversary by writing a very interesting viewpoint article for Communications of the ACM (March 2021, Vol. 64 No. 3, Pages 39-41) and titled 50 Years of Pascal.
The article is fully worth reading and I suggest you to go over it before continuing with this blog post. I’ll wait here… Done? OK, good, here are my comments.
Table of Contents
Rooted on Type Safety
I want to start by mentioning that there is no reason to be shy of the Pascal inheritance that lives in Delphi. Pascal has been one of the most successful programming languages ever and it brought to the table concepts like type safety and a focus on code readability and maintainability that are core tenets of any programming language today.
As Wirth writes of the key ideas of Pascal, “a significant extension were data types and structures… most essential was the pervasive concept of data type… This contributed to the detection of errors, and this before the program’s execution”. In a world of dynamic languages, this remains a key idea and differentiator (and a reason for safer languages like TypeScript to exist).
Borland Made the Splash
While Pascal quickly gained acceptance in Universities, it took a few more years (starting with 1983) for it to become mainstream. As Wirth writes:
“Philippe Kahn at Borland Inc. in Santa Cruz surrounded our compiler with a simple operating system, a text editor, and routines for error discovery and diagnostics. They sold this package for $50 on floppy disks (Turbo Pascal). Thereby Pascal spread immediately, particularly in schools, and it became the entry point for many to programming and computer science.”
Having a very fast compiler was a key tenet of Turbo Pascal (and this is still true for Delphi today), along with an affordable price. And at the time DOS became mainstream, Turbo Pascal was so much more powerful than the built-in Visual Basic.
Academic Successors… Ignoring the Industry
In the last part of the article Wirth goes at length into covering all of the languages that followed the original Pascal, starting with Modula-2 (which shares with Turbo Pascal the notion of compilation modules or units, as we call them even today).
From this point, the article focuses on Oberon, a very nice object-oriented extension of Pascal data type system, but one that had very limited success compared to Apple’s Object Pascal and (more notably) Delphi.
Wirth writes: “Even today Oberon is successfully in use in many places. A breakthrough like Pascal’s, however, did not occur.” While it is true that Oberon wasn’t a breakthrough, he fails to consider that a different object-oriented extension of Pascal, Delphi, had a huge popularity in the late 90ies, comparable to that of Turbo Pascal in the early days. So while he’s formally correct that academic versions of Pascal like Oberon had limited success, nothing compares to the success of the many Object Pascal dialects in the industry, including but not limited to Delphi.
Today Delphi is still extremely successful compared to Oberon and any other Pascal derived language and remains one of the 20 most used programming languages, according to most sources. I’m not sure if Wirth deliberately chose to ignore Delphi in his history of Pascal. It is clear he decided to focus only on his academic route, his journey to achieve the perfect Pascal language (“The sequence Pascal–Modula–Oberon is witness to my attempts to achieve it.”). However one of the reasons he should be proud of Pascal is the fact that Pascal-derived languages are actively used in the industry today. Ignoring Delphi seems like a glaring omission to me.
Pascal is still largely used in the IT world due to Delphi today and its impact in the industry at large remains powerful. When Wirth claims that “many of those languages, like Java (Sun Microsystems) and C# (Microsoft) have been strongly influenced by Oberon or Pascal” he misses the fact it was Delphi, more than the original Pascal or Oberon, to have influence on C# via the ideas of Anders Hejlsberg, but also on Java via the collaboration of Borland and Sun on the concept of properties.
Pascal Is Alive in Delphi
Again it is great to celebrate 50 years of Pascal, a remarkable language that deeply influenced our industry. But it is even nicer to celebrate it along with Delphi’s 26th anniversary and after our 10.4.2 release that brings an unparalleled support for Windows 10 client development (one of the best in the industry), an even faster compiler capable of going over millions of lines of Pascal-based code in minutes, and the unique ability to target many operating systems (Windows, Linux, macOS, Android, iOS) with the same source code including the user interface.
Delphi is still rocking the world, so we owe a big thank you to Wirth, Hejlsberg, and Kahn — but also to the developers and managers who kept Delphi alive and kicking over the years and the great team working on it today.