Pascal

From RogueBasin
Revision as of 14:45, 3 April 2011 by Ancient (talk | contribs) (improve article)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Pascal is a programming language used by several roguelikes. It was named for Blaise Pascal, a French mathematician.

Language origins

Niklaus Wirth completed development of the original Pascal programming language in 1970. Its design was based on Algol. There were two main reasons leading to birth of Pascal (quoting ISO-7185):

  • To make available a language suitable for teaching programming as a systematic discipline based on fundamental concepts clearly and naturally reflected by the language.
  • To define a language whose implementations could be both reliable and efficient on then-available computers.

Main characteristics

The language has evolved significantly since 1970 but basic elements have been kept throughout the years:

  • Easy to read though verbose syntax. Suitable for teaching.
  • Case insensitive.
  • Strongly typed.
  • Procedural, allows for nested procedures.
  • Input/output routines built-in.

More features are added by Object Pascal.

Implementations of Pascal

Implementations of Pascal used by roguelike games:

VMS Pascal

Used to code VMS Moria and variants thereof. Nowadays unused and only of interest for maintainers and people doing ports of lost variants.

Example games written in VMS Pascal: Moria, BOSS.

Turbo Pascal

It is dialect of Pascal produced by Borland that comes with integrated development environment. Since Borland turned to Delphi it is no longer maintained and has fallen into disuse.

Very few games remain not ported to more recent dialect of Pascal. One example is Deep.

Delphi

Delphi programming language is an object-oriented development of Pascal.

Kharne has been developed in Delphi until it was discontinued.

Free Pascal

Most often used Pascal implementation nowadays. It is mostly compatible with Turbo Pascal and Delphi.

See separate article: Free Pascal

See also