Evolution of Pascal – Key Features and Contributions

delphihistorypascal

I am compiling a detailed history of the Pascal language, and there are a few details I am missing.

There are so many features today that we take for granted. What features significantly contributed to the evolution of Pascal, and why were they significant?

I'm looking for language features, not platform or framework features. So like operator overloading or default parameters, but not Linux support or new Rich Text widget.

I know there are a few different flavors of Pascal (Delphi, Free Pascal, Oxygene, Quick Pascal, Apple Pascal, etc.) and they introduced the same features at different times and in parallel. That is OK. I'm looking at the Pascal language as whole, and when the significant milestones occurred (dates, versions, etc.)

Best Answer

From a language historical perspective, probably the biggest contribution of Pascal was strong type safety. That battle is mostly over now - Pascal's side won - and the industrial tipping point was Java. But for a very long time, C was favoured ahead of Pascal by people who considered themselves grown up coders in large part because of this: people wanted the freedom to manipulate their pointers as if they were integers. Practical implementations of Pascal had loopholes, however, like unions that didn't dynamically check the discriminant field, or even had full-blown typecasting of pointers to the point of being all but C equivalent (Turbo Pascal was one of these).

This, and a simplification of the complicated ALGOL 68 spec[1], might be a starting point.

[1] Try reading the ALGOL 68 report sometime - it's definitely a product of the 60s! One site on the web mentions some of its odd jargon: 'bus token', 'invisible production trees', 'primal environs', 'incestuous unions', 'notions', 'protonotions', 'metanotions', 'hypernotions', 'paranotions', etc.

Related Topic