[comp.lang.pascal] Brief history of Turbo Pascal

abcscnuk@csunb.csun.edu (Naoto Kimura (ACM)) (02/07/91)

Some hilights (I'm not too clear on what stuff was in versions earlier
than 3.0).

1.0 CP/M version

2.0 IBM version

    Some goodies, like text windowing.

3.0 
    
    Overlays were introduced (or was that version 2.0...)

4.0

    Revised integrated environment, now has online help.
    Command line version of compiler (yay!)
    Some MODULA-2ish extensions to Turbo Pascal:
        Units -- allows separate compilation of portions of program.
            Also allows data and code hiding.  Transparent
            initialization and exit code now possible.  Units have two
	    logical sections: an INTERFACE section showing the
	    declarations visible to external unit files; and an
	    IMPLEMENATION section which has all the internal and
	    hidden stuff.
	Some limited ability to do type-casting.
    New types of variables available WORD, LONGINT, POINTER
    New INTERRUPT directive, allows making ISR's in Turbo Pascal.
    String can now be used alone without specifying length --
	equivalent to string[255]
    "Smart" linker -- strips unused code (yay!)
    Some restrictions placed on include files -- only a minor nusiance.
    Now you can link in OBJ files w/o creating COM files from them --
	saves on headaches caused by accidentally running them.
    The specialized file variables con,aux,prn disappear along with the
        special function pointers.  New feature of installable text file
        device drivers appears their its place.  Much cleaner than with
	version 3.0
    BGI graphics -- allows programs to be independent of graphics
        display hardware.  Also support for stroked fonts, which can be
        resized and not suffer from blockiness when enlarged.  Snooping
        around in the GRAPH.TPU file also reveals that it supports a few
        font files not distributed with Turbo Pascal (but they happen to
        be packaged along with Quattro).  Same is also true with Turbo
	C version 2.0
    EXE files instead of COM files, but no more overlays :-(
    IDE installation much cleaner with revised TINST..  Much easier to
	reset keyboard mappings.
    Manual has grown to monstrous proportions.
    Other goodies include MAKE (works much better than Microsoft's),
	GREP, and TOUCH.  Included also is README, a file browse
	utility included to allow you to browse through the README.DOC
	file, but comes in handy for other files too.

5.0 (released less than half year after release of 4.0)

    Numeric coprocessor emulation now available.
    Limited circular unit references are now allowed.
    Revised integrated environment -- that strange gaping "hole" in the
	menu bar filled in with debugger options.  Support for external
	debugger.
    Overlays come back!!  Now they act on the unit level instead of
	the procedure level -- much cleaner than with version 3.0
    BGI enhanced to allow installation of 3rd party BGI drivers and
	stroked fonts.
    Type casting extended -- now they can appear on left hand side of
	assignments.
    Procedural types -- allows passing of procedures and functions as
	parameters.
    Manual split into two pieces -- a "User's guide" and "Reference
	guide."
    Installation program now included, simplifying installation.  Some
	of the files on the original diskettes are in ARC files.
	Snooping around UNPACK.COM file reveals it to be version 3.5
	of PKXARC, though slightly modified.

5.5 OOP enhancements

    OOP stuff added.
    procedures added to GRAPH.TPU, like FillEllipse
    Most of the differences were summarized in the OOP guide (which was
	by the way, the only difference as far as printed documentation
	goes).
    Help file now has examples in it -- also cut/paste ability from
	help file.
    Included in disks is a program called TPTOUR, which gives a quick
	introduction to using the IDE.

6.0

    Multi-window environment introduced
	* Mouse support -- IDE nearly screams for one.
	* NO MORE %&^%*&% ^Z at the end of text file!!  (finally!)
	* TINST no longer needed -- all configuration parameters
	  settable from IDE.
	* Files are no longer in ARC files -- now they're ZIPped.
    Turbo Vision -- class library.
	* Included is one major program using it -- the IDE itself!
	* Now gives incentive to start looking into OOP
    Extended syntax allows calling functions as procedures (for all
	those C programmers who liked casting things into void, I
	guess)
    Inline assembly!
    Nearly 700K of help file.  Reorganized and includes better index.
    CHR files now contain characters > chr(127), revealing the fact
	that they extended the default font buffer (if you tried to use
	the fonts that came along with the BGI toolkit, you'll find to
	your dismay that all but one font will load properly in earlier
	versions -- because the default buffer was too small).
    Manuals are now bound in such a manner so that they now stay open
	when you put them down on a flat surface.  You no longer have
	to crack the spine to do this.
    Manuals have been reorganized again.  The documentation seems a lot
	more condensed.

                //-n-\\			 Naoto Kimura
        _____---=======---_____		 (abcscnuk@csuna.csun.edu)
    ====____\   /.. ..\   /____====
  //         ---\__O__/---         \\	Enterprise... Surrender or we'll
  \_\                             /_/	send back your *&^$% tribbles !!

dconway@hpldsla.sid.hp.com (Dan Conway) (02/09/91)

abcscnuk@csunb.csun.edu (Naoto Kimura (ACM)) writes:
> Some hilights (I'm not too clear on what stuff was in versions earlier
> than 3.0).

. . .

> 3.0 
    
>    Overlays were introduced (or was that version 2.0...)

Overlays were introduced in version 2.0.

Dan Conway
dconway@hpldsln.sid.hp.com

lucrezi@univaq.sublink.org (Gino Lucrezi) (02/13/91)

In article <1991Feb7.074512.3990@csun.edu>, abcscnuk@csunb.csun.edu (Naoto Kimura (ACM)) writes:
> Some hilights (I'm not too clear on what stuff was in versions earlier
> than 3.0).
> 
> 1.0 CP/M version
> 
> 2.0 IBM version
> 
>     Some goodies, like text windowing.
> 
> 3.0 
>     
>     Overlays were introduced (or was that version 2.0...)

Version 2 and 3 were released for CP/M, too.
In the CP/M version, overlays were added in 3.0.
In 3.0 they also added New and Dispose - it's not a joke!
In 2.0 and earlier they just had the *$%#@! Mark and Release.

Notice that accordin to someone at Byte (I never could try out) early version
of TP were quite slower than MS.
But Borland kept making tests "with default options", which was hardly fair - MS
by default did all possible checks, TP by default disabled ^C, range checking,
recursion (YES!! you had to specify you wanted recursion!!!), and so on.
BTW, I'm not sure that 1.0 and 2.0 allowed recursion anyway (I have read a 3.0
manual, sometime, and I am sure it has the flag to enable it).

Well, I am really glad nowadays Turbo Pascal has almost no relation to those
earlier releases....

-- 
Gino Lucrezi @ Universita` "V. Rivera" - L'Aquila - Italy
SUBLINK:  lucrezi@univaq.sublink.org
FIDO:     2:335/408.1  2:335/307.4

dconway@hpldsla.sid.hp.com (Dan Conway) (02/23/91)

/ hpldsla:comp.lang.pascal / lucrezi@univaq.sublink.org (Gino Lucrezi) /  4:29
am  Feb 13, 1991 / writes:

> Version 2 and 3 were released for CP/M, too.
> In the CP/M version, overlays were added in 3.0.
> In 3.0 they also added New and Dispose - it's not a joke!
> In 2.0 and earlier they just had the *$%#@! Mark and Release.

New was available along with mark and release in 1.0 for CP/M.
Dispose was added in 2.0 for CP/M; that was the main reason that I bought 2.0.

> 
> Notice that accordin to someone at Byte (I never could try out) early version
> of TP were quite slower than MS.
> But Borland kept making tests "with default options", which was hardly fair - MS
> by default did all possible checks, TP by default disabled ^C, range checking,
> recursion (YES!! you had to specify you wanted recursion!!!), and so on.
> BTW, I'm not sure that 1.0 and 2.0 allowed recursion anyway (I have read a 3.0
> manual, sometime, and I am sure it has the flag to enable it).
> 
> Well, I am really glad nowadays Turbo Pascal has almost no relation to those
> earlier releases....

The selection of default options by Borland could be annoying;  they were
optimizing for code size.  I had at least one recursive program that did very
strange things until I figured out what was wrong and set the compiler option
for recursion appropriately.  Recursion was available (by option) in both 1.0
and 2.0.

> -- 
> Gino Lucrezi @ Universita` "V. Rivera" - L'Aquila - Italy
> SUBLINK:  lucrezi@univaq.sublink.org
> FIDO:     2:335/408.1  2:335/307.4
> ----------
> 

As another poster pointed out, the entire compiler/editor environment was 27K
on CP/M (for version 1.0, increased to a bit over 30K for 2.0).  It was
also FAST.  I held on to my CP/M equipment for several years longer that I
might have otherwise, due mainly to this product.

Dan Conway
dconway@hp-sde.sde.hp.com