The Pascal Family of Programming Languages


The computer programming language Pascal, was designed by Niklaus Wirth in 1968-69 while he was Professor of Informatics at the ETH in Zürich, Switzerland and was published in 1970. Pascal utlimately evolved to Oberon, the first version of which was created in 1986, as a successor to Modula-2, which had its roots in Pascal.

The computer programming language Pascal, was designed by Niklaus Wirth in 1968-69 while he was Professor of Informatics at the ETH in Zürich, Switzerland and was published in 1970. Pascal utlimately evolved to Oberon, the first version of which was created in 1986, as a successor to Modula-2, which had its roots in Pascal.

Introduction

All of these programming languages trace their roots back to the ALGOL family of programming languages – the first generation of high level programming languages developed at the ETH Zürich (Federal Technical University) in the 1950s and 60s. One of the main characteristics of a high level programming language is to provide an abstraction that does not require the programmer to understand the underlying hardware architecture in order to program and Pascal embodied this philosophy like no other programming language through the 1990s, when object oriented programming languages became more popular.

An important goal of the Pascal programming language was to teach good programming practices based on structured programming and data structuring. It was named after the French mathematician and philosopher Blaise Pascal.

Innovation and Influence

Niklaus Emil Wirth, born in 1934 in Winterthur, Switzerland, is the Swiss computer scientist best known for inventing the programming language Pascal and its successors Modula-2 and Oberon. After getting his Ph.D. in Electrical Engineering and Compute Science in 1963 at the University of California in Berkely, he went on to become an assistant Professor of Computer Science before become Professor of Informatics at the ETH (Federal Technical University) in Zürich Switzerland. Pascal and its successor programming languages were the result of Niklaus Wirth’s work at the ETH. He received the ACM Turing award for the development of these programming languages in 1984 and was inducted as a fellow of the ACM in 1994.

Pascal is best known from the commercially successful TurboPascal by Borland which evolved to Delphi, which initiated a trend of powerful Integrated Development Environments (IDE) for software development. Other widely used versions of Pascal include UCSD Pascal (from the University of California, San Diego) and Waterloo Pascal (from the University of Waterloo in Canada). Pascal was also very popular among users of the Apple II computer family and became an important tool for programming on the early Mac.

Philosophy

Pascal and its successors followed a philosophy which involved:

  • An abstract programming paradigm, which meant the programmer did not need to understand the architecture of the underlying hardware, but could work with a high level programming paradigm. By keeping this paradigm simple, it was possible to write compilers which generated efficient machine code from Pascal.
  • A simple and precisely defined syntax (BNF: Backus Nauer Form) which made it easy to implement compilers.
  • Strongly typed language: the programming language enforced prevented common programming mistakes, making programming much more efficient. This meant that many common errors could be detected at compile time before the program ran, rather than have end users be confronted with runtime errors.
  • Runtime checking and enforcing of array bounds. This made it easy to find a problem when it occurred, because the Pascal run time environment noticed it immediately and threw an error. This sort of error often goes undetected in other commonly used programming languages like C, where these sorts of errors may not be detected immediately and can lead to an error many days later in a completely different context, often making the detection of the real cause of the error a time consuming process.

Today, the programming language Oberon-7 is the standard bearer of the Pascal family of programming languages. Pascal was characterised by its philosophy of high level abstraction combined with a precise syntax definition which leads to efficient code. It has been enhanced to provide support for more modular programming (Modula-2) as well Type Extensions which is Oberon’s mechanism for object oriented programming.

Quotes

Analogous to Moore’s law, which states that computing power doubles every 18 months, Wirth’s law, named after NIklaus Wirth, states that “Software is getting slower more rapidly than hardware becomes faster”. His philosophy of programming and programming languages were meant to prevent this.

Some quotes from Niklaus Wirth:

“But quality of work can be expected only through personal satisfaction, dedication and enjoyment. In our profession, precision and perfection are not a dispensible luxury, but a simple necessity.”

“But quality of work can be expected only through personal satisfaction, dedication and enjoyment. In our profession, precision and perfection are not a dispensible luxury, but a simple necessity.”

“Indeed, the woes of Software Engineering are not due to lack of tools, or proper management, but largely due to lack of sufficient technical competence.”

“Usually its users discover sooner or later that their program does not deliver all the desired results, or worse, that the results requested were not the ones really needed.”

References and further reading:

  1. Pascal programming language: https://en.wikipedia.org/wiki/Pascal_(programming_language)
  2. Niklaus Wirth: https://en.wikipedia.org/wiki/Niklaus_Wirth#Notable_publications
  3. Oberon: https://en.wikipedia.org/wiki/Oberon_(programming_language)
  4. Quotes: https://www.brainyquote.com/authors/niklaus_wirth
  5. Niklaus Wirth’s home page at the ETH Zürich: https://www.inf.ethz.ch/personal/wirth/

 

About the Author

Prodosh Banerjee

Prodosh Banerjee

CEO | Chief Executive Officer

Prodosh has worked in software development and IT operations for companies like UBS, SWX Swiss Stock Exchange (now SIX), Grapha Informatik, IBM Software Laboratories and Telekurs (now SIX) in various roles: executive, project manager, programmer, operations manager.

His education includes a Master of Systems/Computer Science (M.S.) degree as well as a Bachelor of Science (B.Sc.) in Physics. 

His focus has been on innovation in IT to expand its scope from serving internal enterprise needs to include more digital interactions with customers and suppliers. His mission is to deliver the advantages of information technology and digitalisation to customers in an easily usable way, quickly and reliably.

Other interests: Jazz and arts

Connect on LinkedIn

CONTACT»

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Please Note:
You may use one of these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>