Why use Pascal

From Free Pascal wiki
Revision as of 22:37, 23 April 2007 by Dejvid (talk | contribs) (→‎The Readln and Writeln effect: popularity contests)
Jump to navigationJump to search

"A low level language is one whose programs require attention to the irrelevant."

Introduction

Many times we find Pascal under attack that it is a language which should be dead, or that is not suitable for to do much.

This document will discuss these claims and add latest informations about pascal as of 2005 and beyond.

What is Pascal ?

Pascal is a very clean programming language, which looks more like real languages in the sense that it uses real English words as keywords rather than random ascii characters. This is important in understanding existing code as well as debugging because people don't read individual characters but whole words.

A common misconception is that Pascal started as a teaching language. While this is partially true, the associations are usually wrong; usually that makes people expect systems like Logo, limited playing grounds for children.

Pascal, like its predecessor Algol(-60), however was primarily designed as a language for formal specification and teaching of algorithms, mostly with future engineers and computer scientists as target. Contrary to Algol-68, an accent was put on simplicity. This turned out to be beneficial for compiler construction.

The initial Pascal dialects had a series of serious uglinesses (like untyped procedure variables) that were quickly remedied, way before the language's prime time in the eighties. (revised J&W and early standarization trajectory)

Further modernization and facilities for interfacing to lower level systems were added to nearly every dialect. These weren't standarized back into the language mostly, but this was normal at the time (way before C and POSIX standards). However the dialects were not entirely random, and could be classified into two major streams, UCSD/Borland like and ISO standards compliant, with Apple creating a hybrid between the two (UCSD in origin, but incorporating most level 1 ISO features)

Over the years specially the Borland stream language has matured and gained all capabilites necessary for uptodate large scale software projects (for example the FreePascal compiler or the lazarus IDE).

The particular strength of Pascal is that most of the developing time is spent on the program itself, contrary to C and C++ like language, where the developer needs to focus on managing the memory of variables or the structure of very basic things like passing parameters and returning them back again.

As a result, Pascal developers do not have to learn a new sub-language inside the same language, like C++, STL, MFC.

The Readln and Writeln effect

Most developers, who ever touched Pascal, did not like the language, because they only learned some very basic commands and how to write a more structured code than their mind was thinking at the time.

That is, why languages such as C and Perl, for example, have tended to win the popularity contests. While Pascal seems very basic and very minimalistic, when you uncover the true language, you find that it is much easier to create a program in Pascal than in C, Java and other popular languages. Even languages such as Python, that is popular and still remains structured, have many elements of a disoriented language. That issue arrives first of all from the attempt to create the most “perfect�? programming language, that will be easy to use, and have the cleanest way to create things.