From LXF Wiki

Table of contents


Pascal is an appalingly poor programming language that is often taught at school because the teachers themselves were made to learn it and want to make others suffer the same pain as them. Later students were fortunate enough to be able to use modern Pascal compilers that hacked in the missing features, but by then the damage was already done. Pascal has a number of mindbogglingly stupid features:

  • The lack of a "break" statement means that you can't arbitrarily escape from loops when the work has been completed. This usually results in extra variables called cunning names like "isdone" that get set to 1 when the loop can terminate.
  • The inability to switch/case on a string. Instead, you need to enumerate your strings with numbers attached, convert the string to its enumerated equivalent integer, then switch through that instead.
  • Arrays start at 1. This is a cardinal sin.


The Pascal programming language was originally developed by Niklaus Wirth, a member of the International Federation of Information Processing (IFIP) Working Group 2.1. Professor Niklaus Wirth developed Pascal to provide features that were lacking in other languages of the time. His principle objectives for Pascal were for the language to be efficent to implement and run, allow for the development of well structured and well organized programs, and to serve as a vehicle for the teaching of the important concepts of computer programming. Pascal, which was named after the mathematician Blaise Pascal, is a direct descendent from ALGOL 60, which Wirth helped develop. Pascal also draws programming components from ALGOL 68 and ALGOL-W. The original published definition for the Pascal language appeared in 1971 with latter revisons published in 1973. It was designed to teach programming techiques and topics to college students and was the language of choice to do so from the late 1960's to the late 1980's.

Significant Language Features

Pascal contains some significant language features that allow it to be used as a powerful learning tool in introducing structured programming techniques to students :

  • Built in Data Types- Pascal contains it's own built in data types of Integer, Real, Character, and Boolean.
  • User defined Data Types - Has the ability to define scalar types as well as subranges of those data types.
  • Provides a defined set of Data Sturctures- These data structures include Arrays, Records, Files and Sets.
  • Has a strong data typing element - Pascal compliers can diagnose an incompatible assignment of one type to a variable to another type.
  • Supports Structured Programming - This is accomplished through the use of subprograms called procedures and functions.
  • Simplicity and Expressivity - Because the language is simple and expressive in nature it allows for effective teaching of computer programming techniques.

Areas of Application

The Prime area of application that Pascal entails is the learning environment. This language was not really developed to be used for anything other than teaching students the basics of programming, after all it was originally developed for this purpose. In the early 1970's to the early 1990's Pascal was the language of choice for most major colleges and universities for teaching college level programming techniques. Now with the growing popularity of Object Orient Programming Pascal has taken a back seat to other languages such as C++ and Visual Basic.