Turbo Pascal 6, which introduced the Turbo Vision application framework used in all our series 2.xx programs, was the subject of a huge UK launch at Wembley Conference Centre on Thursday November 8th 1990. A transcript of the programme booklet text (screenshots and code omitted) follows:


The Official Launch of TURBO PASCAL 6.0


  • 2:00 Registration
  • 2:30 Introduction — Rikke Helms
  • 2:35 History of Turbo Pascal — Zack Urlocker
  • 2:50 Turbo Pascal 6.0 — Demonstration — Zack Urlocker
  • 3:50 Turbo Vision — Technical Overview — Chuck Jazdzewski
  • 4:10 Turbo Pascal Sales and Marketing Overview - Rikke Helms
  • 4:15 Questions and Answers


Thursday, November 8th, 1990.

Today marks the official UK launch of Borland lnternational's Turbo Pascal 6.0, the latest version of the world-famous object-oriented programming language. Since its introduction in 1983, Turbo Pascal has become the universal standard, used by more than two million Pascal programmers worldwide. Commenting on the new version, Philippe Kahn, Borland's Chairman, President and CEO, said: "Turbo Pascal 6.0 offers computer programmers the ability in object-oriented technology, giving them the ability to create software applications faster than ever before."

Turbo Pascal 6.0 contains many, many new features, including Turbo Vision, a new Integrated Development Environment (IDE) and a built-in assembler. Turbo Pascal 6.0 Professional also includes a command-line Turbo Drive compiler, plus the award-winning Turbo Debugger and Tools 2.0. The rest of this brochure is devoted to giving you further insight into the latest version of the world's number one Pascal compiler.

Making today's presentation are Rikke Helms, Managing Director of Borland International (UK) Ltd and Zack Urlocker, Borland International Product Manager for Turbo Pascal. They will be giving a full demonstration of the new product, as well as providing a full sales and marketing overview.


By attending today's event, you have the opportunity to upgrade to Turbo Pascal 6.0 for only £39.95 (plus postage and packing and VAT). To order, simply complete the coupon attached to the back cover of this brochure. Turbo Pascal 6.0 will retail for £99.95 plus VAT, with Turbo Pascal 6.0 Professional selling for £199.95 plus VAT. There are also a number of other special upgrade offers available. Please call Borland Customer Services on 0734 320022 for further details.


Philippe Kahn founded Borland in 1983 — with the introduction of the original Turbo Pascal programming language. Turbo Pascal quickly became, and remains today, the premier Pascal language development tool. Turbo Pascal has been at the forefront of software innovation for the past seven years. Here are some highlights of the product's history:
  • Turbo Pascal 1.0 (1983) — Borland pioneers the high-speed microcomputer language compiler, offering Turbo Pascal for $49.95. The package includes an integrated editor and occupies only 32K.
  • Turbo Pascal 2.0 (1984) — increases capacity and introduces coprocessor support.
  • Turbo Pascal 3.0 (1985) — Introduces PC features, graphics, and automatic overlays.
  • Turbo Pascal 4.0 (1987) - Separate compilation with units and a new integrated development environment with built-in project management allow easier creation and maintenance of programs, which now can be linked into EXE files.
  • Turbo Pascal 5.0 (1988) — Integrated debugging with tracing and breakpoints, 8087 emulation, and the Borland Graphics Interface. Introduction of Turbo Pascal Professional, which includes Turbo Debugger.
  • Turbo Pascal 5.5 (1989) — Brings object oriented programming to a mainstream programming language.
  • Turbo Pascal 6.0 (1990) — Brings programmers a major OOP breakthrough with Turbo Vision, the first application framework for DOS.


OOP: Programming in the 90's

Object~oriented programming (OOP) is a technique for managing the ever~increasing complexity of today's (and tomorrow's) software. OOP is programming in the '90s. It is programming that's a level above the structured methods of the '70s and '80s, and is an inter-dependent web of several important ideas working together.


The focus of OOP is the object, which resembles traditional Pascal data records with the following important difference: objects incorporate functions and procedures, called methods, as part of the data structure. In Turbo Pascal, objects are defined and declared as types, similar to such familiar types as Integer and Char. This ability to encapsulate data and methods into a single type allows the programmer to design application components at a higher level of abstraction than is possible using structured, top-down methods alone. This higher level of abstraction allows designers to deal with much more complex program behaviour. In fact, software objects are often designed to be models of real-world objects, with the attributes and behaviours of real objects reflected in the data and methods of the software objects. Encapsulation makes programs easier to design and easier to maintain.


Another important way in which objects differ from simple data records is the ability to inherit data and functionality from other object types. For example, consider a graphics object type we'll call Circle. An object of type Circle is a circle with a colour, a radius and a set of coordinates defining its position on the screen; it can be drawn, moved, erased, shrunk, or magnified. Using inheritance, an object type FilledCirclc can utilise all the data and methods of the Circle object type without explicitly redeclaring the fields or redefining the methods of Circle. Only one additional method, which fills the circle with its colour, is required.

Inheritance helps keep the size of your code to a minimum. When methods are redefined, software is extended by adding new code or overriding inherited code, not by changing existing code. Since existing software need never actually be changed, inheritance encourages greater reuse of code, and minimises the introduction of bugs into existing code. Inheritance promotes code reusability.


Object types in a hierarchy can each have a method with the same name, with each method defined differently, as needed. For example, Circle objects and Box objects will both have methods for drawing themselves, and these methods will be specific to the respective object types. Circle and Box both inherit from a Shape object type. The key here is this: all we need to know about an object in a program is that it is some kind of Shape. When we call its "draw yourself" method, the details of how to draw is left up to the object itself. In other words, you only tell objects what to do; they know how to do it. This ability to let objects invoke their own form of a method having a common name is polymorphism, and lends a great deal of flexibility to OOP. Polymorphism makes code more flexible.

These fundamental OOP features were introduced in Turbo Pascal in May 1989, with the release of Turbo Pascal 5.5. Turbo Pascal 6.0 takes a giant step forward by providing a powerful, practical object hierarchy to work with, thus letting programmers take full advantage of the power of OOP to build applications quickly. That hierarchy, plus a ready-made program architecture, is the applications framework provided in Turbo Vision.


Turbo Vision is the first object-oriented application framework for DOS. It puts the ability to write professional-quality applications within the reach of every programmer! Borland created Turbo Vision to allow programmers to take advantage of the power of OOP, and save them from endlessly rewriting the basic platform on which their applications are built. Think of an application framework as a preconceived application that contains no code for any specific application, but which contains all the supporting code for any application. What Turbo Vision does is abstract that which is common to all applications into a single framework.

Turbo Vision provides Turbo Pascal programmers with a solid architecture upon which to build all their applications. It provides programmers with a generic, inheritable application with complete functionality, including standard handling of mouse and keyboard events and critical errors. Turbo Vision's rich hierarchy of objects includes all of the following:

  • Multiple, resizeable, overlapping windows
  • Pull-down menus
  • Mouse support
  • Dialog boxes, buttons, scroll bars, input boxes, check boxes and radio buttons
  • Off-the-shelf standard dialog boxes that can, for example, be used to open files, change directories, or customise colour
  • Standard handling of keystrokes and mouse clicks
  • Data collections
  • Persistent objects
  • Safe and efficient dynamic memory management

With Turbo Vision, all applications can have a common look and feel and can be written in less time. Combined with the underlying architecture of Turbo Vision, where there is a consistent distribution of labour among methods and objects, this adds up to a programming methodology employing a rich set of tools. Borland is proud to introduce Turbo Pascal 6.0 and Turbo Pascal Professional 6.0. Every detail of these latest versions of the world standard Pascal reflects Borland's commitment to quality, and is the result of state-of-the-art design and a knowledge of what users want and need.

TURBO PASCAL 6.0 — £99.95+VAT

This is what you get in the newest release of Turbo Pascal:
  • Turbo Vision, the first object-oriented application framework for DOS. Applications automatically inherit a multi-window, mouse-based user interface, giving programmers a head start in writing applications.
  • Desktop tools, such as clock, calendar, calculator, and Rolodex come (with source code) as Turbo Vision components that can be plugged "as-is" into user programs.
  • Integrated Development Environment (IDE) offers a multifile, multi-window, macro-based editing and debugging environment with mouse support for increased productivity.
  • Inline assembler replaces hand-assembled inline code and gives programmers the ability to mix Pascal and assembly language code more easily.
  • Command line compiler, for programmers who prefer their own editors, or who need to compile larger applications.
  • Compatibility with Turbo Pascal 5.x, in the Turbo Pascal tradition
  • Documentation, comprised of User's Guide, Programmer's Guide, Turbo Vision Guide, and Library Reference, plus on-line Turbo Help hypertext system.


Turbo Pascal Professional 6.0 includes everything you get with Turbo Pascal 6.0, plus:

  • Turbo Driven protected-mode compiler works in protected mode to let programmers compile extra-large applications.
  • Turbo Debugger — for professional-strength, object-oriented debugging.
  • Turbo Assembler — the world's fastest 100%-MASM compatible assembler, for advanced assembly language programming.
  • Turbo Profiler - helps find bottlenecks in programs, allowing programmers to concentrate optimisation efforts on time-killing parts of applications.


Turbo Pascal 6.0 will run on the IBM family of personal computers, and all 100% compatibles under PC-Dos (or MS-DOS) version 2.0 or later. Although Turbo Pascal 6.0 can be configured to run on a system with 720K of floppy disk space, a hard disk is recommended. A hard disk with a minimum of 5.5 Mb free storage is required for Turbo Pascal Professional 6.0. Memory and disk storage requirements are shown in the following table.
Memory Storage
Turbo Pascal 6.0 Integrated environment 512K 3.5Mb
Command-line compiler 256K 3.5Mb
Protected-mode compiler (Pro only) 1Mb (extended) 260Kb
Turbo Debugger (Pro only) Standard 384K
TD286 and TD386 512K (extended) 1.4Mb
Turbo Profiler (Pro only) Standard 384K 512Kb
TF386 512K (extended) 512Kb
Turbo Assembler (Pro only) 256K (extended) 360K

[In March 1990 I supplemented my 286-20 with a 386SX PC, from memory 1MB of memory and a 40MB hard drive. It cost £1420 - this would have been a typical mid-range PC at the time]


Turbo Vision

Here's a look at a screen from the new Integrated Development Environment (IDE) for Turbo Pascal 6.0; This is the type of screen you've come to expect in a professional-quality tool. Overlapping windows, pull-down menus, dialog boxes, the works, including mouse - support to help users manage the screen.

Now here's a look at an application written using Turbo Pascal 6.0:

Notice how this screen has the same professional look and feel as the previous one: windows, menus, etc. It's almost as if both applications had been written by the same programmer! Well, the programmers are different, but the code for the framework of these programs is the same, because both applications were built using Turbo Vision, the world's first application framework for DOS, which comes with Turbo Pascal 6.0.

Before we explain what an application framework is, let's see why it's useful. Consider the following parable, which has painful roots in the real world.


There was once a small software consulting company that wrote custom software for its clients. One day, the president called his three top programmers together and told them that he needed to put together a presentation for an important potential client, and that they should each bring him their best programs to include in the presentation.

When the three applications were brought to him, he was dismayed to find that, while the programs did what they were designed to do, they nevertheless looked as if they had been written at three different companies. Only one program had a pop-up help system. Only one program saved a user's work from session to session. And although the third program supported EMS, it tended to crash the system from time to time owing to poor error handling. Visually, while all three programs featured windows, the windows all looked different. In one application, the windows were tiled; in another, the windows had no borders. Only two of the programs featured a horizontal menu bar with pull-down menus, and only one of those two featured mouse support. The third program used hotkey-activated pop-up menus and dialog boxes.

"This is going to make us look like a bunch of amateurs," said the president, and sure enough, the client came, saw, and went away, saying: "We'll call you."

"I thought we agreed to reuse code around here," cried the president in a meeting after the presentation. "What happened?" The three programmers looked at each other guiltily. After a moment, one turned to the president.

"We do have libraries of code," he said, "but you have to understand that we virtually always have to modify them to fit the job in hand." His two compatriots nodded their heads in agreement.

"That's right," added the second programmer, "every time we go to build an application, we have to design a new architecture for it and then retrofit these libraries and our old code into it."

"Sometimes it's just easier to start from scratch," added the third programmer. "My program, for example, had very particular memory management requirements, so we couldn't use that other program's help system."

When they all went back to analyse what they had been doing, they found that in each case, most of the kernel of a project — the part that does the actual work — had been designed and coded in a short span of time. Most of the remaining effort consisted of designing and implementing an architecture and bask control structure for the program, including the user interface. The programmers were engaged in endlessly reinventing the wheel.

* * * * * *

Turbo Vision was created so programmers could plug their applications into it, and go! Turbo Vision saves the programmer the enormous effort of repeatedly rewriting (and debugging) the skeletons of his or her applications. The key is reusability.

Turbo Vision is an object-oriented application framework

What, exactly, do we mean by "framework"? Think of a framework as the skeleton of your application, not unlike the steel girders that form the frame of a modern skyscraper. You can use the same framework to make very different buildings (a hospital or office building) simply by adding different details. In software, the framework is the part that encompasses the mundane jobs, in particular, the user interface and basic features of the architecture. The framework is what holds the application together.

You're probably familiar with the experience related in our parable, and found that 80% of your applications functionality is written using 20% of your programming budget. The remaining 80% of the budget is then spent "prettying up" the application or shoring up the basic control architecture so others can use it. This involves primarily writing and debugging a professional quality user interface, as well as creating sets of data structures and routines to do "housekeeping" chores.

Defy the 80/20 rule!

As an applications framework, Turbo Vision gives you the tools to create that interface, complete with multiple overlapping windows, mouse support, dialog boxes...everything! With minimum fuss. Defy the 80/20 rule and devote more time to solving your problem, rather than reinventing the wheel.

How is Turbo Vision different from a library? After all, libraries offer many of the same features (menus, windows, mouse support, etc.) The distinction is that Turbo Vision is object oriented, which makes a world of difference, because you can take advantage of inheritance, encapsulation, and polymorphism. Using a traditional library, if some aspect of a routine doesn't meet with your approval, you have to go in and modify the source code. What you end up using is a customised version of an existing routine, which prior to Turbo Vision has been about the extent of software reuse. Software reuse really meant "less writing from scratch," and "more modification of existing routines."

But modifying source code is a good way to introduce bugs in otherwise good code, often inadvertently. Object-oriented programming helps avoid this situation by letting the user extend the source code using inheritance, rather than modifying the source code directly.

As opposed to a simple collection of tools, Turbo Vision's components are part of an object type hierarchy, and are intended to work together with a single architectural vision behind their design. A Turbo Vision application is a cooperating "society" of these components. Detailed below are examples of some of the objects that appear as part of a simple Turbo Vision application.

The background against which the rest of the application appears is the desktop. It is a Turbo Vision object, as is the menu bar at the top of the display and the status line at the bottom of the screen. Words on the menu bar represent menus, which are "pulled down" to overlay the desktop and application areas by clicking on the words with the mouse or by pressing a "hot-key" combination. The status line, which provides a line of information to the user, is completely under the programmer's control. Typically, however, it displays messages about the current state of the application, shows available hot-keys, or displays prompts to the user.

Most of the interaction between the user and the application takes place using windows and dialog boxes. Turbo Vision provides a comprehensive assortment of window features for entering and displaying information.

The "window" plays the part of a pane of glass that covers a group of Turbo Vision views. All the user sees is a projection of the views behind the glass: the frame, the scrollbars, and the scrolling interior. On a larger scale, the desktop is just a larger pane of glass covering a larger "sandwich" of objects, which represents a desktop with two Windows.

Windows can be resized, zoomed (to fill the screen) and unzoomed (brought back to original size), and closed either by typing at the keyboard or by clicking with the mouse on icons embedded in the window frame.

Dialog boxes provide a very structured way of interacting with the user. Typically, dialog boxes contain sets of buttons, check boxes and radio buttons (control objects) which rationalise applications and enhance familiarisation and "look and feel", benefiting both users and developers. Because Turbo Vision was designed to take a standardised, rational approach to screen design, applications written in Turbo Vision share a common, familiar look and feel. That look and feel is, in fact, identical to that of the Turbo Pascal IDE, and is based on years of experience and testing. Having a common and well-understood look across applications grants a distinct advantage to both users and software developers: regardless of what a particular application does, how to use the application remains the same! Users need never worry about how to find help, or how to save data. Developers can concentrate on the substance of their applications, rather than the framework.

We've included a full-blown Turbo Vision application in every box of Turbo Pascal 6.0. That application is the new Integrated Development Environment (IDE), which was written entirely in Turbo Vision, and allows you to edit, compile, link and debug programs in Turbo Pascal.


One of the hallmarks of Borland language products has been ease of use. In fact, Turbo Pascal 1.0 led the trend towards ease of use with its integrated editor. Starting with Turbo Pascal 4.0, programmers have had the ability to edit, compile, and link from within a single interface. With Turbo Pascal 5.0, programmers could debug programs as well. Now, with version 6.0, Turbo Pascal is more than just a fast Pascal compiler; it's an efficient compiler combined with an easy-to-learn and easy-to use integrated development environment (IDE). Now, it's easier than ever before to learn to program in Pascal, and to write and run programs.

Turbo Pascal's new IDE furnishes the following features that make program development easy and smooth:

  • multiple, movable resizeable windows
  • editor supporting files up to 1Mb in size
  • mouse support
  • dialog boxes
  • cut-and-paste Clipboard
  • search and replace capabilities
  • print capabilities
  • macro editor language
  • integrated debugging, including register window and conditional breakpoints
  • Turbo Help hypertext system with copyable examples
  • takes full advantage of EMS to increase IDE capacity
  • windows open at the end of a session can be saved and restored for a later session

Built-in, inline assembler

Professional programmers know that judicious use of assembly language routines can add a spectacular boost to a program's performance. Earlier versions of Turbo Pascal featured the inline statement as a convenient way of inserting small amounts of machine code instructions directly into program text. This feature allowed assembly language routines to be incorporated into Turbo Pascal code [code omitted].

The built-in assembler in Turbo Pascal 6.0 now gives the programmer the capability of entering assembly language routines directly using familiar assembly language instructions [code omitted].

With the built-in assembler, Turbo Pascal programmers now enjoy the best of both worlds: Pascal data structures with assembly language efficiency. If you need full MASM compatibility for macro expansion or control of stack frames, code-segment-based variables, etc., then Turbo Pascal 6.0 has even more support than ever for linking in OB] files from Turbo Assembler, which comes with Turbo Pascal Professional 6.0.

Protected mode compiler

The file TPCX.EXE, which comes with Turbo Pascal Professional 6.0, is a command-line compiler that uses Turbo Drive, a Borland technology that uses extended memory and works in protected mode. Invoking this compiler makes all the extended memory in your system (up to 15 Mb on 286- and 386-based systems) available for compilation. This allows compilation of very large DOS applications, which can in turn be debugged using the protected mode version (TD286) or the virtual mode version (TD386) of Turbo Debugger.

Private fields and methods in object types

To enhance the encapsulation of object types, we've combined the existing data-hiding capability of a unit with the OOP concept of enforcing encapsulation inside an object. Turbo Pascal 6.0 therefore permits fields and methods to be declared as private, meaning that they are specifically not accessible, except from within the unit in which the object type is defined. The benefit of having private methods and fields is a higher degree of encapsulation, which enhances software reusability and safety. Private fields and methods are declared just after regular fields and methods, following the reserved word private. The syntax for an object declaration including private fields and methods is:

type NewObject = object (ancestor) fields, (these are public) methods;(these are public) private fields; (these are private) methods;{these are private) End;

Private fields and methods are accessible only to code within the unit in which the object is declared. For example, if the declaration and code for the NewObject type were found in the unit NOB].TPU, then any code in that unit could access any of the fields and methods (public or private) of the type. Code outside of the unit could only access the public fields and methods of NewObject. The result is a private section in an object, which provides safety in a way that is consistent with the existing language.


Turbo Pascal comes with four manuals and the Turbo Help hypertext help system. The manuals now feature a lay-flat binding that allows them to be laid down without breaking the spine. ln the Borland tradition, all examples from the manuals are provided on disk. The four manuals in the Turbo Pascal documentation set serve different purposes: the User's Guide to enable installation, configuration and a degree of learning and familiarisation with Turbo Pascal's integrated environment to be accomplished; the Programmer's Guide for more technical aspects of Turbo Pascal; the Library Reference containing an alphabetical reference to all standard procedures and functions supported by the runtime library, and finally the Turbo Vision Guide, with information on using the Turbo Vision framework for building applications. The four volumes are supplemented by an Online Help system, activated by use of a special Help window.



Borland International, Inc. is a leading developer and marketer of high-performance PC software products, including Paradox, Quattro Pro, Turbo Pascal, Turbo C++ and Sidekick. More than five million users worldwide have selected Borland products for their business application and software development needs. The company's corporate headquarters are in Scotts Valley, California European headquarters are in Paris with European subsidiaries operating in London, Paris, Munich and Scandinavia.

Borland's sales for fiscal 1990 (ended March 31) were $113 million. Borland's stock is traded on NASDAQ (BORL) in the US and on the Unlisted Securities Market in London.


Borland was founded in 1983 by Philippe Kahn with the introduction of the original Turbo Pascal programming language. Turbo Pascal quickly became, and remains today, the premier Pascal language development tool. Borland grew rapidly in the industry by successfully combining leadership in technology with marketing strategies geared towards providing the end user with powerful, value-priced productivity software.

Building on the success of Turbo Pascal, Borland introduced a series of programming language software including Turbo C and the Turbo Assembler & Debugger. Borland had the vision to recognise that object-oriented programming (OOP) was the future of computer programming. It was first to the market with object- oriented Turbo Pascal 5.5, and further demonstrated its strength in this important technology by introducing object-oriented Turbo C++ and the accompanying Turbo Debugger & Tools.

The company's early concentration on programming languages provided a solid technology base for the two additional market categories which would also become primary business focuses: spreadsheets and databases.

While Borland became a fixture with programmers and experienced computer operators through its language development software, it quickly became a standard with hundreds of thousands of PC users as manufacturers and distributors chose to include Borland's desktop applications and utilities program Sidekick (introduced in I984) with their products. With the introduction of Sidekick, Borland defined the market category of individual productivity software. IBM in the US currently includes Sidekick for Presentation Manager with its OS/2 operating system.

In November I987, Borland acquired Ansa Software, inventors of the relational database Paradox, and continuously enhanced the product. Now in its third generation, Paradox is becoming the number-one relational DBMS choice among corporations. Its popularity lies in its power and ease-of-use.

In Autumn 1989, Borland introduced its high~end spreadsheet product, Quattro Pro. Borland developed its new VROOMM (Virtual Runtime Object-Oriented Memory Manager) technology enabling Quattro Pro to provide state-of-the-art spreadsheet features without requiring costly hardware upgrades.

Most recently, Borland has consolidated its product line with the release of Quattro Pro 2.0, Paradox 3.5 and the Paradox SQL Link.

Today Borland employs more than 600 people worldwide. Products are marketed through a national sales organisation, subsidiaries, and leading domestic and international resellers. Borland products are available worldwide and translated into many languages including French, German and Spanish.

All registered customers have access to Borland's free technical and customer support either by phone, CompuServe or through Borland's international distribution network.

Prev * Home * Next - Windows!