KOL and MCK

A reference on Object Pascal, the Delphi line and the libraries built on it.

Versions

Turbo Pascal 1 Through 7: What Each Box Added

KOL and MCKVersions

Person typing on a keyboard beside a glowing CRT monitor displaying blue text-based software

Seven boxes between 1983 and 1992, each one answering a specific deficiency in the release before it.

Seven Boxes, Seven Distinct Decisions

Turbo Pascal did not evolve so much as lurch forward — each release a response to a specific pressure, whether competitive, architectural or commercial. The seven major versions Borland shipped between 1983 and 1992 read less as a smooth maturation than as a series of bets, some of which the market immediately validated and one of which, in retrospect, drew a line the product never quite crossed back over.

Version 1 (1983) arrived as a $49.95 single-floppy product aimed at demolishing the assumption that a Pascal compiler cost hundreds of dollars and required a minicomputer. Anders Hejlsberg, then a student-age developer in Denmark, had written the underlying compiler before Borland founder Philippe Kahn licensed and repackaged it for the American market. The distinguishing technical fact was the single-pass compiler architecture: the compiler read each source file once, top to bottom, producing object code without a separate linking phase, which meant a short program could compile in under a second on the 8-bit and 16-bit hardware of the day. The editor, compiler and runtime occupied a single executable. Nothing about Turbo Pascal 1 was academic Pascal; Borland extended the language immediately with typed constants, absolute variables and a full-screen text editor integrated into the same tool.

Version 2 (1984) added support for the 8087 numeric coprocessor, giving floating-point operations a genuine speed path on machines fitted with the chip, and extended the compiler's memory model to handle somewhat larger programs. It also introduced the concept of include files — the {$I filename} directive — which let developers split source across multiple files without yet having a proper module system. The release is sometimes overshadowed by what came a year later, but the coprocessor support mattered commercially: scientific and engineering users who might otherwise have chosen Fortran could now consider Pascal without a floating-point penalty.

Version 3 (1985) is the version most responsible for making Turbo Pascal a tool professionals used seriously rather than students used experimentally. Overlays arrived: a scheme for loading segments of compiled code into a fixed memory region on demand, allowing programs larger than the available DOS RAM to run. Turtle graphics and a dedicated graphics unit for the CGA and Hercules adapters also appeared — Borland ↗ was positioning the product upward, toward application developers who needed both screen control and the ability to ship programs of real size. The compiler's standard compliance also tightened, though Borland's extensions remained non-negotiable parts of the language from the product's perspective.

Version 4 (1987) was the most structurally significant release of the seven. Units arrived — Pascal's module construct, with its interface and implementation sections, each compiled to a discrete .tpu file. This was not a cosmetic addition. Units made it possible to organise large projects across files with genuine encapsulation, to distribute pre-compiled libraries and to reduce recompilation time when only one module changed. Turbo Pascal 4 also moved to a fully integrated development environment with a menu-driven shell, replacing the earlier command-line workflow. The .TPU format and the IDE shell together established the working model that Delphi would carry forward eight years later. Borland simultaneously dropped the price and volume shipped in numbers that reinforced the product's dominance among PC Pascal compilers.

Delphi 1 retail box, CD and printed manual set arranged on a desk, 1995 Borland packaging and logo legible, warm tungsten light

A parts store rather than a code library, but the same premise — take a standard piece off the shelf instead of making one.

Photo: Charlie Merrow / Pexels

Version 5 (1988) added the integrated debugger. Before this, debugging Turbo Pascal programs meant either inserting writeln statements or exiting to a third-party tool. Version 5 placed a symbolic debugger inside the IDE itself: breakpoints, single-stepping, watch expressions and a call-stack view, all without leaving the editor. For professional developers this was the feature that completed the toolchain. Version 5.5, released in 1989, then added object-oriented extensions — object types with fields, methods and basic inheritance — bringing Turbo Pascal into conversation with the object-oriented programming movement that Smalltalk had popularised and that C++ was bringing to systems programmers. The object model was deliberately minimal: single inheritance, virtual methods via a VMT, and constructor and destructor conventions that would later inform ↗ the design of Object Pascal in Delphi.

Delphi form designer mid-drag on a CRT monitor, component palette open at right, adult developer's hand on the mouse at the edge of the frame, screen the brightest light source in the room

The CRT is the era's one constant: everything in this section happened on a screen this shape.

Photo: cottonbro studio / Pexels

Version 6 (1990) polished the development environment rather than extending the language significantly. The IDE gained multiple edit windows, mouse support and a more refined menu structure that made larger projects manageable on a day-to-day basis. Inline assembly support arrived, letting performance-critical routines embed 8086 and 80286 instructions directly. Borland also shipped the Turbo Vision application framework with version 6 — a text-mode UI library that provided menus, dialogs, scrollable views and an event-driven programming model without graphics. Turbo Vision was a genuinely ambitious piece of work: it demonstrated that event-driven application architecture was achievable in text-mode DOS, and it made the underlying model of message-passing and owner-drawn controls visible to a wide audience before Windows development was mainstream. The component approach Turbo Vision embodied is, in retrospect, a prototype for the thinking that produced the VCL five years on.

Version 7 (1992) was Turbo Pascal's last. The named additions were Protected mode support through a DOS extender — finally breaking the real-mode memory ceiling that overlays had been working around since version 3 — and conditional defines and typed-format string procedures. Borland also shipped version 7 alongside the separately branded Borland Pascal 7, which added Windows API units and the Object Windows Library for those writing Windows applications. The distinction between the two products at that point was partly marketing: Turbo Pascal 7 was the affordable DOS-focused package, while Borland Pascal with Objects targeted the Windows developer willing to pay a higher price. The line was somewhat artificial, and the split itself signalled that the single-box product story was ending. Windows 3.1 ↗ had arrived that same year; the DOS market Turbo Pascal had dominated since 1983 was a shrinking surface, and Borland's attention had already shifted toward what would become Delphi.

The Shape of the Sequence

Read as a sequence rather than a product history, the seven versions describe a consistent logic: each release answered a specific deficiency that prevented professionals from using the previous version for real work. The first release answered price and speed. The second answered floating-point. The third answered program size. The fourth answered structure. The fifth answered debugging and then objects. The sixth answered the development environment and event-driven design. The seventh answered memory limits and the Windows transition. There was very little decorative development: Borland added what it needed to add to retain the audience it had assembled, and then — when the audience itself moved to Windows — it built something new rather than pushing Turbo Pascal further. That new thing, Delphi 1 in 1995, was not Turbo Pascal 8; it was a different argument entirely.

More in Versions

All of Versions