Standard Pascal

"Your father's Pascal." The original Pascal programming language defined by Niklaus Wirth and Kathleen Jensen in their book Pascal User Manual and Report published by Springer-Verlag in 1974, and later released by ISO as ISO 7185:1983 and corrected as ISO 7185:1990. A somewhat limited language which nobody except academics and compiler writers care about.

Here are some of the things Standard Pascal lacks:
 * Strings: This is the big one. Yes, you can create an ARRAY [0..255] of Char (for length-counted strings) or Array [1..256] of Char for null-terminated C-strings, but, you have to do all of the management of them through your own code. In compilers with strict typing rules, string[5] is not compatible with String[10]. meaning you can't just move a small string to a larger one and the compiler will handle it. And forget using the plus operator + to concatenate two strings. All of the capacity of strings has to be handled manually, meaning you have to write all of the code to handle it yourself.
 * No units: A program is one monolithic application, there is no means to separate related functions into a "unit" allowing a program to be modular, by allowing "information hiding" in which information in one unit is only visible to another unit (or the main program) that explicitly "uses" that unit.
 * Run-time library limited to the predefined procedures and functions. Additional functions may be available depending on the installation and what software is nominally present
 * All procedure and function arguments are formal, that means, there are no "default" parameters (arguments) you can leave out.

You can live with these deficiencies; we all did, until UCSD Pascal and later Turbo Pascal showed a better way to develop programs.

Return to Self-hosting or List of compilers and interpreters