Turbo Pascal is a complete software development system that includes a compiler and an Integrated Development Environment (IDE) for the Pascal programming language running under CP/M, MS-DOS and CP/M-86, developed by Borland under Philippe Kahn's leadership. A compiler is a Computer program (or set of programs that translates text written in a computer language (the source language) into another In Computing, an integrated development environment ( IDE) is a Software application that provides comprehensive facilities to Computer programmers Pascal is an influential imperative and procedural Programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small CP/M (Control Program for Microcomputers is an Operating system originally created for Intel 8080 / 85 based Microcomputers by Gary Kildall MS-DOS (short for M icro' s' oft D isk O perating S ystem is an Operating system commercialized by Microsoft. CP/M-86 was a version of the CP/M operating system that Digital Research made for the Intel 8086 and Intel 8088. Borland Software Corporation is a software company headquartered in Austin Texas. Philippe Kahn (born March 16, 1952) is a technology innovator and entrepreneur credited for creating the first Camera phone solution sharing pictures The name Borland Pascal was generally reserved for the high end packages (with more libraries and standard library source code) while the original cheap and widely known version was sold as Turbo Pascal. The name Borland Pascal is also used more generically for Borland's dialect of Pascal.
Borland has released three versions of Turbo Pascal of historical interest free of charge: versions 1. 0, 3. 02 and 5. 5 for MS-DOS.
Contents |
Philippe Kahn first saw an opportunity for Borland, his newly formed software company, in the field of programming tools. Philippe Kahn (born March 16, 1952) is a technology innovator and entrepreneur credited for creating the first Camera phone solution sharing pictures Borland Software Corporation is a software company headquartered in Austin Texas. Historically, the vast majority of programmers saw their work flow in terms of the edit/compile/link cycle, with separate tools dedicated to each task. Programmers wrote source code and entered it using a text editor, a compiler created object code from source (often requiring multiple passes), and a linker combined object code with runtime libraries to produce an executable program. In Computer science, source code (commonly just source or code) is any sequence of statements or declarations written in some Human-readable In Computer science, object code, or an object file, is the representation of code that a Compiler or Assembler generates by processing
In the IBM PC market of the early 1980s, the major programming tool vendors included IBM, Microsoft, and Lattice. A programming tool or software development tool is a program or application that Software developers use to create debug maintain or otherwise International Business Machines Corporation abbreviated IBM and nicknamed "Big Blue", is a multinational Computer Technology Microsoft Corporation is an American multinational Computer technology Corporation, which rose to dominate the Home computer They all made C compilers (and some made Pascal compilers), which all worked in a similar fashion. For example, the Microsoft Pascal system consisted of two compiler passes and a final linking pass (which could take minutes on systems with only floppy disks for secondary storage). Microsoft Pascal was an implementation of the Pascal programming language that was developed by the Microsoft Corporation for compiling programs for running This process was the cumbersome product of the extremely limited resources of the early IBM PC models. Vendors of software development tools aimed their products at professional developers, and the price for these basic tools plus ancillary tools like profilers ran into the hundreds of dollars. In Software engineering, performance analysis, more commonly today known as profiling, is the investigation of a program's behavior using information gathered as the
Kahn's idea was to integrate these separate functions in a programming toolkit, have it run with much better performance, and charge one low price for it all. Instead of selling the kit through established sales channels (retailers or resellers), his new tool would be sold inexpensively via mail-order. Turbo Pascal is generally considered to be the first popular Integrated Development Environment (IDE) of any type. In Computing, an integrated development environment ( IDE) is a Software application that provides comprehensive facilities to Computer programmers
As an additional selling point against the bigger vendors, Turbo Pascal disks came with no copy protection of any sort. Copy protection, also known as content protection, copy prevention, or copy restriction, is a technology for preventing the unauthorised reproduction Turbo Pascal came with the famous "Book License": "You must treat this software just like a book . . . may be used by any number of people . . . may be freely moved from one computer location to another". Since the first versions didn't have online help, copy protection was effectively enforced by possession of the Turbo Pascal reference manual (pictured above).
The Turbo Pascal compiler is based on the Blue Label Pascal compiler originally produced for the NasSys cassette-based operating system of the Nascom microcomputer in 1981 by Anders Hejlsberg. The Nascom 1 and 2 were Single-board computer kits issued in 1977 and 1979, respectively based on the Zilog Z80 and including a keyboard Year 1981 ( MCMLXXXI) was a Common year starting on Thursday (link displays the 1981 Anders Hejlsberg (born December 1960 is a prominent Danish Software engineer who co-designed several popular and commercially successful programming languages and This was first rewritten as the Compas Pascal compiler for the CP/M operating system and then as the Turbo Pascal compiler for DOS and CP/M. CP/M (Control Program for Microcomputers is an Operating system originally created for Intel 8080 / 85 based Microcomputers by Gary Kildall A version of Turbo Pascal was available for the Apple Macintosh from about 1986 but was eventually discontinued around 1992. Macintosh, commonly nicknamed Mac is a Brand name which covers several lines of Personal computers designed developed and marketed by Apple Inc Year 1986 ( MCMLXXXVI) was a Common year starting on Wednesday (link displays 1986 Gregorian calendar) Year 1992 ( MCMXCII) was a Leap year starting on Wednesday (link will display full 1992 Gregorian calendar) Another version was available for CP/M machines like the DEC Rainbow through several releases. The Rainbow 100 was a Microcomputer introduced by Digital Equipment Corporation (DEC in 1982 to compete in the IBM PC market
See also Antique Software: Turbo Pascal v1.0. Borland licensed the PolyPascal compiler core, written by Anders Hejlsberg (Poly Data was the name of his company in Denmark), and added the user interface and editor. Anders Hejlsberg (born December 1960 is a prominent Danish Software engineer who co-designed several popular and commercially successful programming languages and Anders joined the company as an employee and was the architect for all versions of the Turbo Pascal compiler and the first three versions of Borland Delphi.
The first version of Turbo Pascal, later referred to as version 1, was very fast compared to other microcomputer Pascal compilers. It was available for the CP/M, CP/M-86, and MS-DOS operating systems, all widely used at the time. CP/M (Control Program for Microcomputers is an Operating system originally created for Intel 8080 / 85 based Microcomputers by Gary Kildall CP/M-86 was a version of the CP/M operating system that Digital Research made for the Intel 8086 and Intel 8088. MS-DOS (short for M icro' s' oft D isk O perating S ystem is an Operating system commercialized by Microsoft. The CP/M version could be used on the very popular Apple II computer if fitted with an additional Z80 processor card, the first hardware product of the small company Microsoft released in 1980. CP/M (Control Program for Microcomputers is an Operating system originally created for Intel 8080 / 85 based Microcomputers by Gary Kildall The Zilog Z80 is an 8-bit Microprocessor designed and sold by Zilog from July 1976 onwards Microsoft Corporation is an American multinational Computer technology Corporation, which rose to dominate the Home computer
At the time CP/M used a simple executable file format using the file name extension . A filename extension is a suffix to the name of a Computer file applied to indicate the encoding convention ( File format) of its contents COM; MS-DOS could use either . COM files (incompatible with CP/M) or the more flexible relocatable . EXE format used almost universally in later years. Turbo Pascal generated only . COM files, which was not a severe restriction for the computer world of the time. Turbo Pascal itself was a single . COM file about 38 kilobytes long. which included the editor, compiler, linker, and the library routines. The edit/compile/run cycle was fast compared to other Pascal implementations because everything related to building the program was stored in RAM. The compiled program could run from the IDE; writing it to disk, once free of obvious errors, was an additional menu option.
When the first version of Turbo Pascal appeared on November 20, 1983, the type of IDE it used was relatively new. Events 284 - Diocletian was chosen as Roman Emperor. 762 - Bögü Khan of the Uyghurs, Year 1983 ( MCMLXXXIII) was a Common year starting on Saturday (link displays the 1983 Gregorian calendar) On its debut in the American market, Turbo Pascal retailed for USD$49. The United States of America —commonly referred to as the The United States dollar ( sign: $; code: USD) is the unit of Currency of the United States; it has also been 99. The integrated Pascal compiler also was of very good quality compared to other Pascal products of the time and was affordable above all. The "Turbo" name alluded to its compilation speed as well as the speed of the executables it produced. A turbocharger, or turbo, is an air Compressor used for forced-induction of an Internal combustion engine. The speed of these "com" executable files was a revelation for developers whose only previous experience programming microcomputers was with interpreted BASIC or the semi-interpreted and more cumbersome UCSD Pascal. UCSD Pascal or UCSD p-System was a portable highly machine independent Operating system.
The IDE was incredible for its day, when computing resources were very limited. The IBM PC and other machines were often sold with 64 kbytes of RAM; the IBM PC was expandable up to a maximum 640kb. Many machines equipped with only one or two floppy disc drives of a 140 - 360 kilobytes capacity were used; a 5 or 10 megabyte hard disk was a luxury. Turbo Pascal was simple and intuitive, and had a well-organized menu system. Early versions of the editor used WordStar key functions, which was the de facto standard because of WordStar's wide use. WordStar was a Word processor application published by MicroPro, originally written for the CP/M operating system but later ported to DOS, that Later versions of the IDE, designed for later PCs with more disk space and memory, could display the definitions of the keywords of the language by putting the cursor over a keyword and pressing the F1 key. The definitions also frequently included example code that used the keyword. This enabled the inexperienced programmer to learn Pascal simply by using the IDE, without actually requiring help from a book.
Versions 2 and 3 were improved versions of the same basic all-in-one system, working in memory and producing . COM/. CMD files. Support for CP/M and CP/M-86 was dropped after version 3.
Version 4, released in 1987, was a major rewrite of the whole system. The compiler generated executables in EXE format under MS-DOS, rather than the simpler but more restricted . COM executables. Support for the now obsolescent CP/M and CP/M-86 operating systems was dropped. This version also introduced a full-screen user interface with pull-down menus; earlier versions had a text-based menu screen and a separate full-screen editor.
Version 5. x introduced the familiar Borland blue screen, which would be the trademark of the company's MS-DOS compiler tools until the end of this line in the middle 1990s.
While all versions of Turbo Pascal could include inline assembly code, later versions had the ability to easily integrate assembly language within Pascal. See the terminology section below for information regarding inconsistent use of the terms assembly and assembler Assembly code provides the lowest human-readable interface to the machine, and allows faster execution than can be generated by a compiler, with access to the machine at a very detailed level. Oveall program execution could be improved by coding much-executed inner-loop code this way.
The IDE allowed single stepping through a program for debugging, and now assembly-language blocks could be stepped through. The user could add watches on variables and registers in an IDE window. A watch is a real-time preview of a variable or an expression's value Programs using IBM PC graphics mode could flip between graphics and text mode automatically or manually. IBM PC compatible computers are those generally similar to the original IBM PC, XT, and AT.
The IDE now included a code profiler that could report on which parts of the program were using the most time. The books included with Borland Pascal had detailed descriptions of the Intel assembler language, going so far as to provide the clock cycles required by each instruction. Overall this system, as a whole, made for a relatively pleasant experience when trying to debug and optimize code; the user never had to leave the IDE.
Over the years, Borland enhanced not only the IDE, but also the programming language. Borland's dialect of Pascal became a de facto industry standard (and is still implemented by modern variants like Free Pascal), since ISO standard Pascal proved inadequate for real-world application development. Free Pascal (or FPK Pascal or FPC is a free, portable, Open source, Pascal and Object Pascal Compiler. Pascal is an influential imperative and procedural Programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small
From version 4. 0, the language introduced the concept of Units. Units were used as external function libraries, like the object files used in other languages such as C, but a little more high level (the programmer was able to define what will be visible outside the unit and what not).
Units in Borland's Pascal were similar to Modula-2's separate compilation system. Modula-2 is a computer Programming language invented by Niklaus Wirth at ETH, around 1978 as a successor to his intermediate language Modula In 1987 when Turbo Pascal 4. 0 came out, Modula-2 was making inroads as an educational language which could replace Pascal. Borland, in fact, had a Turbo Modula-2 compiler, but this product ran only on CP/M and was never ported to MS-DOS (its user interface was almost identical to that of Turbo Pascal 3. x and earlier). Instead of porting their Modula-2 compiler to MS-DOS, Borland elected to implement separate compilation in their popular Pascal product. Separate compilation was not part of the standard Pascal language, but was already available in UCSD Pascal, which was very popular on 8-bit machines. UCSD Pascal or UCSD p-System was a portable highly machine independent Operating system. Turbo Pascal syntax for units appears to have been borrowed from UCSD Pascal[1]. With earlier versions of Turbo Pascal, which ran on computers with limited resources, the complexity of software written with the package did not demand it; but with the new ability to generate large EXE files, programs of significant complexity were now possible which needed separate compilation.
From version 5. 5 onwards some object oriented programming features were introduced: classes (this should not be confused with "objects" because "classes" only become objects when they are instantiated/created), inheritance, and constructors and destructors. Object-oriented programming (OOP is a Programming paradigm that uses " objects " and their interactions to design applications and computer programs The IDE was already augmented with an object browser interface showing relations between objects and methods and allowing the programmer to navigate the modules easily. Some people call these extensions Object Pascal although that is more commonly used as a name for the language underlying Delphi (which has two totally separate OOP systems). Object Pascal refers to a branch of object oriented derivatives of Pascal, mostly known as the primary Programming language of CodeGear Delphi Object Pascal refers to a branch of object oriented derivatives of Pascal, mostly known as the primary Programming language of CodeGear Delphi
The last version released was version 7. Borland Pascal 7 contained an IDE and compilers for creating DOS, extended DOS and Windows 3.x programs. Developed in the 1980s to cope with the memory limitations of MS-DOS and its derivatives DOS extenders are programs which enable software to run under the Protected mode Turbo Pascal 7 on the other hand could only create standard DOS programs. DOS, short for "Disk Operating System" is a shorthand term for several closely related Operating systems that dominated the IBM PC compatible market It also had a graphical API (the Graph unit) which supported multiple external drivers (BGI files - standing for Borland's Graphics Interface) and provided a mechanism to link these drivers with the EXE, but as it was quite slow and caused unpleasant flickering, interchangeable visual pages were used, which caused overfilling the video memory. The Borland Graphics Interface, also known as BGI is a graphics library bundled with several Borland compilers for the DOS operating systems Video memory is a term generally used in Computers to describe some form of writable memory usually RAM, dedicated to the purpose of holding the information necessary Some third party drivers, such as SVGA drivers, were made by fans, but they never gained big popularity, since next-generation tools like Borland C++ and Delphi were on their way at that time. Super Video Graphics Array or Ultra Video Graphics Array, almost always abbreviated to Super VGA, Ultra VGA or just SVGA or UVGA is Borland C++ is a C and C++ programming environment (used to be called an Integrated Development Environment) for DOS, Windows
Two versions of Turbo Pascal for Windows 3.x were released: Turbo Pascal for Windows 1. 0 (based on Turbo Pascal 6 but released about 2 years later), and 1. 5 (released after Turbo Pascal 7). The Windows compiler included in Borland Pascal 7 was entitled Borland Pascal for Windows' but presumably was from the same code base as TPW 1. 5.
All versions built Windows-compatible programs, and featured a Windows-based IDE, as opposed to the DOS-based text IDE in Turbo Pascal. DOS, short for "Disk Operating System" is a shorthand term for several closely related Operating systems that dominated the IBM PC compatible market The IDE and editor commands conformed to Microsoft Windows user interface guidelines instead of the classic TP user interface. The support for Windows programs required the use of the ObjectWindows library, similar but not identical to the first release of Borland C++, and radically different from the earlier DOS Turbo Vision environment. The Object Windows Library (OWL is a Borland C++ object-oriented framework originally designed for WinAPI. Borland C++ is a C and C++ programming environment (used to be called an Integrated Development Environment) for DOS, Windows Turbo Vision is a DOS -based character-mode Text user interface (TUI framework developed around 1992 by Borland for Turbo Pascal was essentially made obsolete for the Windows platform by the release of Delphi. The Delphi compiler can be used to produce command-line programs, so that the use of Turbo and Borland Pascal became unnecessary.
Borland released Turbo Pascal for Macintosh in 1985. Macintosh, commonly nicknamed Mac is a Brand name which covers several lines of Personal computers designed developed and marketed by Apple Inc Much like versions 1 to 3 for other operating systems, it was written in compact assembly language and had a very powerful IDE, but not a good debugger. Borland did not support this product very well, although they issued a version 1. 1, patched to run on the 32-bit Macintosh II. Macintosh support was dropped soon after.
By 1995, Borland had dropped Turbo Pascal and replaced it with the RAD environment Delphi, which included the language Object Pascal. Year 1995 ( MCMXCV) was a Common year starting on Sunday. Events of 1995 Rapid application development ( RAD) is a Software development process, which involves iterative development and the construction of Prototypes Native 32-bit Delphi versions still support the more portable Pascal enhancements (i. e. those that are not 16-bit centric) of the earlier products including the earlier static object model.
Several Turbo Pascal compatibles also exist. The best-known ones are Free Pascal and Virtual Pascal. Free Pascal (or FPK Pascal or FPC is a free, portable, Open source, Pascal and Object Pascal Compiler. Virtual Pascal is a free 32-bit Pascal compiler IDE and debugger for OS/2 and Microsoft Windows, with some limited Linux support
Borland Pascal is still taught at secondary, sixth form level and University level in the island of Malta, at other colleges in Germany and the USA and at some secondary schools in Belgium, Romania, Moldova and Bulgaria. Malta, officially the Republic of Malta (Repubblika ta' Malta is a European Microstate, comprising an Archipelago of three islands Germany, officially the Federal Republic of Germany ( ˈbʊndəsʁepuˌbliːk ˈdɔʏtʃlant is a Country in Central Europe. The United States of America —commonly referred to as the The Kingdom of Belgium is a Country in northwest Europe. It is a founding member of the European Union and hosts its headquarters as well as those Romania ( dated: Rumania, Roumania Moldova, officially the Republic of Moldova ( Republica Moldova) is a Landlocked country in Eastern Europe, located between Romania The state of Bulgaria (България transliterated bg-Latn ''Balgaria'' The country preserves the traditions (in ethnic name language and alphabet of the First Bulgarian It was the state-approved educational programming language for all South African secondary schools until 2002. The Republic of South Africa (also known by other official names) is a country located at the southern tip of the continent of Africa Today it continues to be taught in some universities around the world as an introduction to computer programming, usually continuing on with C and/or Java. tags please moot on the talk page first! --> In Computing, C is a general-purpose cross-platform block structured Some lecturers prefer to use Borland Pascal 7 or Turbo Pascal 5. 5 as it is very simple (in comparison to more modern IDEs like Microsoft Visual Studio or Borland JBuilder), introduces students less familiar with computing to using the keyboard and keyboard shortcuts (TP 5. Microsoft Visual Studio is the main Integrated Development Environment (IDE from Microsoft. A keyboard shortcut (or accelerator key, shortcut key, hot key, key binding, keybinding, key combo, etc 5 has no mouse support), familiarises students with DOS commands (which are largely the same as those of Microsoft Windows's Command Prompt) and is available legally for free download. DOS, short for "Disk Operating System" is a shorthand term for several closely related Operating systems that dominated the IBM PC compatible market Microsoft Windows is a series of Software Operating systems and Graphical user interfaces produced by Microsoft.
Several versions of Turbo Pascal, including the last version 7, include a CRT unit used by many fullscreen text mode applications. This unit contains code in its initialisation section to determine the CPU speed for calibration of delay loops. This code fails on processors with a speed greater than about 200 MHz and aborts immediately after loading the program with Runtime error 200. The hertz (symbol Hz) is a measure of Frequency, informally defined as the number of events occurring per Second. This is caused by using a counter to count the number of times a loop can be executed in a fixed time, measured by the real-time clock. When Turbo Pascal was developed it ran on machines with CPUs running at 1 to 8 MHz, and no thought was given to the possibility of much higher speeds; but at 200MHz the 16-bit counter overflows. More than one patch has been required as processor speeds increased.
Programs compiled with this error can be patched by a tool named TPPATCH or equivalent, or by loading a Terminate and Stay Resident program loaded before running the faulty program. Terminate and Stay Resident (TSR is a System call in DOS operating systems that returns control to the system as if the program has quit but keeps the program in
In many cases MS-DOS programs not known to have been compiled with Turbo Pascal fail with Runtime error 200; the above patch is worth trying.
For running the Turbo and Borland Pascal compilers on a fast machine, a version of TURBO. TPL patched with a corrected CRT unit to resolve the error can be used to generate programs compatible with fast machines. See links below.
Turbo Pascal uses Borland Graphics Interface. The Borland Graphics Interface, also known as BGI is a graphics library bundled with several Borland compilers for the DOS operating systems
Notes:
{ like this }, or (* like this *), but later versions of Borland Pascal also supported C++-style comments // like this. uses crt; is a Borland specific extension to Pascal. Samples:
begin WriteLn('Hello World'); end.
program WriteName; var Name: String; { This declares the variable Name as a string } begin Write('Please give your name: '); Readln(Name); { Readln reads the string printed on the screen } WriteLn('Hello ', Name) end.