Introduction to Pascal & Its History

Pascal is a statically and strongly typed, imperative, structured programming language designed by Niklaus Wirth at ETH Zürich and published in 1970.

1.1 What is Pascal?

Pascal is a statically and strongly typed, imperative, structured programming language designed by Niklaus Wirth at ETH Zürich and published in 1970. It was named after the French mathematician and philosopher Blaise Pascal. Wirth designed it to teach good programming practice: clear structure, explicit declarations, strong typing, and readable syntax built from English keywords (begin, end, procedure, while, repeat).

Object Pascal extends Pascal with classes, interfaces, exceptions, generics, and much more. Today "Pascal" in practice usually means Object Pascal as implemented by:

Free Pascal (FPC) — a free, open-source, highly portable compiler (GPL compiler, modified-LGPL runtime), paired with the Lazarus IDE.

Delphi — Embarcadero's commercial RAD (Rapid Application Development) environment, part of RAD Studio.

1.2 Key characteristics

Strong static typing: no implicit conversion between unrelated types (e.g. Integer to Boolean).

Block structure: declarations come before statements; routines can be nested.

Readable syntax: begin ... end blocks, := for assignment, = for comparison.

Fast native compilation: single-pass-friendly design, units compiled separately; very fast build times.

Rich type system: enumerations, subranges, sets, records, variant records, pointers, files.

Modern Object Pascal: classes, properties, interfaces, generics, anonymous methods, RTTI, attributes, operator overloading.

Native executables with no runtime or virtual machine required.

1.3 Where Pascal is used today

Desktop applications (Windows, macOS, Linux) — Delphi VCL/FMX and Lazarus LCL. Well-known programs written in Delphi or Lazarus include Total Commander, Double Commander, HeidiSQL, Beyond Compare (older versions), PeaZip, Cheat Engine, and the original Skype for Windows client.

Database front ends and line-of-business software (very common in banking, healthcare, logistics, and industry).

Mobile apps with Delphi FireMonkey (iOS, Android).

Embedded systems and microcontrollers (FPC supports AVR, ARM Cortex-M, RISC-V, Xtensa/ESP32).

Education — Pascal remains a teaching language in many countries and in programming olympiads.

Game development (Castle Game Engine), scientific tools, utilities, and servers (mORMot, Horse, Brook).

1.4 History

Niklaus Wirth designs Pascal after his ALGOL W work; first compiler on the CDC 6000; report published 1970

*Pascal User Manual and Report* — Kathleen Jensen & Niklaus Wirth

UCSD Pascal — portable p-code virtual machine; runs on Apple II and many microcomputers

ISO 7185 Standard Pascal (revised 1990); Turbo Pascal 1.0 by Borland (Anders Hejlsberg) — an IDE plus a very fast compiler for CP/M and MS-DOS

Object Pascal at Apple (Larry Tesler with Wirth's input) for the Lisa/Macintosh Turbo Pascal 4.0 introduces units

Turbo Pascal 5.5 adds objects (the object type) ISO 10206 Extended Pascal

Borland Pascal 7.0 / Turbo Pascal for Windows Free Pascal project started by Florian Klämpfl (initially "FPK Pascal")

Delphi 1 (16-bit Windows): VCL, class model, properties, exceptions, RAD form designer

Delphi 2 — 32-bit, long strings (AnsiString) Lazarus project started Free Pascal 1.0

Kylix (Delphi for Linux, discontinued later) Free Pascal 2.0

Borland spins off CodeGear; Embarcadero acquires CodeGear (2008)

Delphi 2009 — Unicode strings by default, generics, anonymous methods

Delphi 2010 — extended RTTI and attributes Delphi XE2 — 64-bit Windows, macOS, FireMonkey (FMX) Lazarus 1.0 Delphi XE4/XE5 — iOS and Android Free Pascal 3.0

Delphi 10.2 Tokyo — Linux 64-bit server target Delphi 10.3 Rio — inline variables, type inference; Delphi Community Edition introduced (free)

Delphi 10.4 Sydney — custom managed records, unified (non-ARC) memory model on all platforms; Free Pascal 3.2.0 (generic functions, management operators, dynamic array improvements) Free Pascal 3.2.2; Delphi 11 Alexandria

Delphi 12 Athens — multi-line string literals, NativeInt-sized collections; Lazarus 3.0

Delphi 12.1–12.3 (12.3 adds a 64-bit IDE); Lazarus 4.x (2025); Delphi 13 Florence released in 2025 (adds a conditional if-expression)

1.5 Why learn Pascal?

Its explicit, readable syntax teaches structured thinking and strong typing.

Compiles extremely quickly to small native binaries.

Lazarus/FPC let you write one code base for Windows, Linux, macOS, FreeBSD, Raspberry Pi, and more — for free.

Delphi is still one of the most productive tools for Windows desktop and database applications, with a large legacy code base that needs maintainers.