Jump to content

Turbo Pascal: Difference between revisions

From EDM2
No edit summary
No edit summary
Line 7: Line 7:
The fact that the code quality and execution speed of programs developed in the system was always way behind the competition that used two to four pass compilers made no difference to its intended market, most programmers that bought the system had previously been working with slow interpreted languages such as [[Basic]], [[FOCAL]], [[PILOT]] and [[COMAL]], making the TP code appear fast to them. The slowness of the TP code however gave rise to the incorrect perception amongst PC coders that Pascal and related languages such as Modula 2 and Oberon were somehow slower than languages in the C family, and made quite a healthy market for third party optimisers.
The fact that the code quality and execution speed of programs developed in the system was always way behind the competition that used two to four pass compilers made no difference to its intended market, most programmers that bought the system had previously been working with slow interpreted languages such as [[Basic]], [[FOCAL]], [[PILOT]] and [[COMAL]], making the TP code appear fast to them. The slowness of the TP code however gave rise to the incorrect perception amongst PC coders that Pascal and related languages such as Modula 2 and Oberon were somehow slower than languages in the C family, and made quite a healthy market for third party optimisers.


Note that early versions of Turbo Pascal did not support overlays, numeric co-processors and had very limited memory model support as they only compiled to .com files and were thus bound to 64k executables. The company would sell you add-on products for 8087 support however. Borland have from time to time claimed that their Borland/Turbo Pascal and Delphi systems were [[ISO Pascal]] compatible, they are not and have never been, in fact their [[Object Pascal]] implementation is not full either and has started to diverge from other OP implementation to such a degree that it is prudent to talk about Borland Object Pascal.
Note that early versions of Turbo Pascal did not support overlays, numeric co-processors and had very limited memory model support as they only compiled to .com files and were thus bound to 64k executables. The company would sell you add-on products for 8087 support however. Borland have from time to time claimed that their Borland/Turbo Pascal and Delphi systems were [[ISO Pascal]] compatible, they are not and have never been, in fact their [[Object Pascal]] implementation is not full either and has started to diverge from other OP implementation to such a degree that it is prudent to talk about "Borland Object Pascal" rather than Object Pascal per se. Turbo Pascal 6 and higher however do contain a better than average numeric co-processor emulator for systems without x87 co-processors, however little that will help you in the present day.


====Borland Pascal====
====Borland Pascal====

Revision as of 09:27, 22 April 2015

Description

A Pascal development system for DOS, CP/M and later MS Windows that evolved out of a Pascal compiler for the British NASCOM computer called COMPAS Pascal. There never materialised an OS/2 version of Turbo Pascal or the follow on product lines of Borland Pascal or Borland Delphi even though IBM actually paid Borland to ship a 32 bit version for OS/2 v2. However a number of tools, libraries and hacks were available that allow the Borland compilers to put out OS/2 compatible 16 and 32 bit code that then was linked with IBM's OS/2 linker and could be executed as OS/2 programs and tools and libraries to access the OS/2 API.

Turbo Pascal is also important as an informal standard, it created something of a revolution in the industry when it was introduced even though it was a Pascal subset rather than a full Pascal compiler like most of the competing products. But the original list price of 49.95 US$ alongside a built in IDE (a novelty at the time) and extremely fast compile times due to the single pass compilation, made the system wildly popular and a de-facto industry standard on the IBM-PC. It was something of a bait-and-switch product though, as features supplied as standard with other implementations were sold as add-ons by Borland, 8087 support was an extra 89.95 US$ for instance and when you added up all the available add-ons you had reached, and in some cases exceeded the price point of products like Microsoft Pascal that in addition offered features not available at all in the Turbo Pascal ecosystem.

The fact that the code quality and execution speed of programs developed in the system was always way behind the competition that used two to four pass compilers made no difference to its intended market, most programmers that bought the system had previously been working with slow interpreted languages such as Basic, FOCAL, PILOT and COMAL, making the TP code appear fast to them. The slowness of the TP code however gave rise to the incorrect perception amongst PC coders that Pascal and related languages such as Modula 2 and Oberon were somehow slower than languages in the C family, and made quite a healthy market for third party optimisers.

Note that early versions of Turbo Pascal did not support overlays, numeric co-processors and had very limited memory model support as they only compiled to .com files and were thus bound to 64k executables. The company would sell you add-on products for 8087 support however. Borland have from time to time claimed that their Borland/Turbo Pascal and Delphi systems were ISO Pascal compatible, they are not and have never been, in fact their Object Pascal implementation is not full either and has started to diverge from other OP implementation to such a degree that it is prudent to talk about "Borland Object Pascal" rather than Object Pascal per se. Turbo Pascal 6 and higher however do contain a better than average numeric co-processor emulator for systems without x87 co-processors, however little that will help you in the present day.

Borland Pascal

A more upmarket version of Turbo Pascal that introduced to the PC the Object Pascal changes and extensions to the language that had been introduced to the Macintosh version of the TP compiler. It was sold side by side with TP and offered several improvements intended for professional programmers such as support for extended and expanded memory, allowing the toolkit to work with much larger programs, and introduced new targets in the form of Microsoft Windows 3.x and protected mode DOS. Borland later introduced Turbo Pascal 7 which was a cut-down version of Borland Pascal rather than a development of the previous TP v6 product, and synchronised the version numbers, giving BP the v1 the v7 number, main differences between the tools were the lack of support for Windows and 386 protected mode DOS targets, with some extra libraries also supplied with BP.

Borland Delphi

A visual programming development that used and extended the Object Pascal language from Borland Pascal, for rapid application development for Microsoft Windows.

List of OS/2 TB, BP or Delphi compatible tools

A list of programming tools that offer full or partial compatibility to the Turbo Pascal, Borland Pascal or Borland Delphi products. Note that some of the products were primarily standard (ETH, UCSD or ISO) Pascal tools that offered some compatibility features or libraries as aids to port Turbo Pascal programs to their systems while other tools were straight clones of the Borland systems, usually with added capabilities on top of the ability to generate OS/2 compatible programs.

Compilers:

Links

Publications

Author