A Type Extension Before Classes Existed
Turbo Pascal 5.5, released in 1989, introduced the object keyword to Borland's dialect of Pascal — a deliberate extension that arrived six years before Delphi and its VCL and component model made object orientation central to the language's identity. The release repackaged and clarified that feature set under the banner Borland Pascal with Objects, positioning it as a serious contender against C++ at a moment when object-oriented programming was shifting from academic fashion to commercial expectation.
Borland's object model was deliberately conservative. An object type could carry fields, methods and even virtual methods dispatched through a compiler-generated VMT, but instances were value types allocated on the stack or with explicit New calls — not the heap-managed, garbage-free reference types that Delphi's class keyword would later provide. Constructors carried the constructor keyword but did no implicit heap allocation; the programmer remained responsible for lifetime. Inheritance worked, polymorphism worked, but the whole construction sat closer to C structs with vtables than to the fully realised class model Anders Hejlsberg and the Delphi team shipped in 1995.

Pascal's declaration-before-use rule is legible in any listing: every type and variable is named before the statements that touch it.

Delphi-era developer conferences were where version changes got argued out in front of the people who had to migrate.
Photo: Matheus Bertelli / Pexels
The ANSI Pascal standard of 1983 had defined no object mechanism at all. Standardisation efforts through the late 1980s — including the work of the IEEE Pascals working group — never converged on an agreed object extension before Borland made the practical decision for the market. ISO 7185 ↗, the baseline Pascal standard, remained silent on objects; the extended standard ISO 10206 added a handful of features but likewise never codified inheritance or virtual dispatch. Borland simply moved faster than any standards body could follow.
That gap between practice and standardisation mattered. Shops writing portable Pascal had no normative model to target, while Borland's installed base — already enormous thanks to the Turbo Pascal pricing strategy Philippe Kahn had built — simply adopted Borland's syntax as the de facto standard. By the time Delphi replaced object with class in 1995, the community had already spent six years learning exactly the kind of structured inheritance that made the transition feel like an upgrade rather than a rupture.
More in Pascal
