Turbo Pascal

Røttene til Turbo Pascal

Røttene til Turbo Pascal begynner i Danmark i 1981. Programmereren Anders Hejlsberg laget da Blue Label Pascal for en Nascom-2 datamaskin, forsynt med 8-biter mikroprosessoren Zilog Z80A og operativsystemet CP/M 2.2.
Kompilatoren støttet det meste av spesifikasjonene til Pascal. Unntakene var brukerdefinerte datatyper, den abstrakte datatypen for sett (mengde) og filtyper. Heltall var 16 biter, mens desimaltall ble implementert med 11.5 signifikante siffer. Kompilatoren støttet også lenking til eksterne funksjoner og prosedyrer skrevet i maskinkode.
Systemet inkluderte en «Find»-kommando for å flytte fra en adresse i objektkoden til linjen med programtekst i kildekoden. Blue Label Pascal opptok 12 Kb, fordelt på kompilatoren (5,5 Kb), teksteditoren (1,5 Kb), biblioteksrutiner (4,5 Kb) og et kontrollprogram (0,5 Kb), og var tilgjengelig på kassett eller EPROM.
I 1982 omarbeidet Hejlsberg kompilatoren til å kjøre på CP/M og IBM PC med operativsystemet MS-DOS. Den ble markedsført som Compas Pascal av hans danske selskap, Poly-Data microcenter.
Tredje versjon ble kalt Poly Pascal, og hadde et kommandolinje-grensesnitt. Kompilatoren ble lansert for CP/M-80, og var en komplett implementasjon av Pascal-spesifikasjonen til Niklaus Wirth.

Turbo Pascal 2.0 (1984)

Versjon 2.0 ble lansert 17. april 1984 på én enkelt 5¼-toms diskett. Den hadde delvis støtte for instruksjonssettet til  koprosessoren Intel 8087. Denne versjonen støttet filnavnsuffiksene .COM og .CMD.
Brukergrensesnittet i teksteditoren var endret fra en gul-og-grå til en grå-og-hvit palett, og Execute var fjernet fra menykommandoen. Noen få endringer hadde funnet sted i kompilatoren, som økning i størrelsen på de eksekverbare filene.

Turbo Pascal 3.0 (1985)

Versjon 3.0 ble lansert den 17. april 1985, også på én enkelt 5¼-toms diskett. Den var den første versjonen som fikk stor utbredelse. En mindre oppdatering, versjon 3.0.2, ble lansert 17. september 1986. Dette var den siste versjonen som kom i utgaver for CP/M. Systemkravene var CP/M versjon 2.2 eller høyere, og CP/M-86 versjon 1.1 eller høyere. På CP/M kunne denne versjonen generere programmer som var større enn 64 kilobyte, ved å benytte overlays.
MS-DOS utgaven hadde full støtte hele instruksjonssettet til koprosessoren Intel 8087 gjennom et bibliotek. På datamaskiner uten Intel 8087 benyttet Turbo Pascal 3.0 en emulator. Den støttet også Binary-coded decimal (BCD), som eliminerte avrundingsfeil.
En rekke tilleggsprogrammer for Turbo Pascal 3 for MS-DOS kunne kjøpes separat: Opplæringsprogrammet Turbo Tutor (en 5¼-toms diskett) med programeksempler, tilleggsverktøy Turbo Editor Toolbox (to 5¼-toms disketter som ble lansert den 12. november 1985), biblioteksrutinene Turbo Gameworks for videospill, grafiske biblioteker i Turbo Graphix (deriblant skilpaddegrafikk samt egne rutiner for farge, lyd, vinduer), databasen Turbo Database og de matematiske rutinene Numerical Methods.

Turbo Pascal for Macintosh (1985)

I 1985 lanserte Borland også Turbo Pascal for Macintosh. I likhet med de tre første versjonene for CP/M og MS-DOS, var den skrevet i kompakt assembler og hadde et svært avansert integrert utviklingsmiljø, etter datidens standarder. Den 5. november 1987 kom Borland med en oppdatering i versjon 1.1, som støttet 32-biter Macintosh II. Produktet ble ingen kommersiell suksess, og Borland forkastet støtten til Macintosh etter kort tid.

Hallo verden

Dette er det klassiske Hallo verden programmet i Turbo Pascal:
program HalloVerden;begin
  WriteLn('Hallo Verden')end.

Fakultet

Her benyttes datatypen real til å lagre fakultetverdier. Kommandoen writeln(f:-1:0) skriver ut desimaltallet f med 0 siffer etter desimaltallet og venstrejusterer det. 
program fakultet;function fak(n: integer): real;begin
    if (n = 0) then
        fak := 1
    else
        fak := n * fak(n - 1);end;var
    n: integer;begin
    for n := 0 to 16 do
        writeln(n, '! = ', fak(n):-1:0);end.

Fibonacci-tall

Dette eksempelet viser en reursiv definisjon av Fibonacci-tall. 
program fibonacci;function fib(n:integer): integer;begin
    if (n <= 2) then
        fib := 1
    else
        fib := fib(n-1) + fib(n-2);end;var
    i:integer;begin
    for i := 1 to 16 do
        write(fib(i), ', ');
    writeln('...');end.

Kvadrat

Dette programmet tegner et kvadrat:
program Kvadrat;var
   A,B,C,D: integer;begin
   write('A = ');
   readln(A);
   if (A=0) then
   begin
      writeln('Ikke en kvadratisk ligning.');
      halt;
   end;
   write('B = ');
   readln(B);
   write('C = ');
   readln(C);
   D := B*B-4*A*C;
   if (D=0) then
   begin
      writeln('x = ',-B/2.0/A);
      halt;
   end;
   if (D>0) then
   begin
      writeln('x1 = ',(-B+Sqrt(D))/2.0/A);
      writeln('x2 = ',(-B-Sqrt(D))/2.0/A);
   end
   else
   begin
      writeln('x1 = (',-B/2.0/A,',',Sqrt(-D)/2.0/A,')');
      writeln('x2 = (',-B/2.0/A,',',-Sqrt(-D)/2.0/A,')');
   end;end.

Turbo Pascal 4.0 (1987)

Versjon 4.0 ble lansert i 1987, og ble levert på én enkelt 5¼-toms diskett. I tillegg lanserte Borland oppdaterte utgaver av tilleggsprogrammene som tidligere hadde vært en opsjon i versjon 3.0. Kompilatoren genererte nå filer med filnavnsuffikset .EXE, i stedet for .COM. Versjon 4.0 fantes ikke i utgaver for CP/M og CP/M-86, men utelukkende for MS-DOS.
Denne versjonen innførte et vindus-lignende grensesnitt over hele skjermen med rullegardins-menyer, mens tidligere versjoner hadde en tekstbasert meny og en separat editor for hele skjermen. Det integrerte utviklingsmiljøet inneholdt også et hjelpesystem.
I versjon 4.0 utvidet Borland programmeringsspråket Pascal med syntaks for å kompilere biblioteker («Units»), etter modell fra programmeringsspråket Modula-2. I 1987 var Modula-2 i ferd med å erstatte Pascal som et pedagogisk språk for å lære studenter strukturert programmering. Borland hadde riktignok også lansert en Turbo Modula-2 kompilator for CP/M. I stedet for å lansere Turbo Modula-2 for MS-DOS, utvidet Borland syntaksen til Pascal med funksjonaliteten til Modula-2. Modulær kompilering var allerede tilgjengelig i UCSD Pascal for 8-bit datamaskiner, og Turbo Pascal syntaksen for moduler («Units»), synes å ha blitt hentet fra UCSD Pascal.

Turbo Pascal 5.0 (1988)

Versjon 5.0 ble lansert den 29. august 1988 i to utgaver: Turbo Pascal 5.0 og Turbo Pascal Professional 5.0. Editorens blå bakgrunnsfarge ble et av varemerkene på Turbo Pascal. Turbo Pascal 5.0 hadde også det første integrerte utviklingsmiljøet med støtte for mus.
I versjon 5 ble det mulig å skrive assembler-kode direkte i Pascal-koden. En innebygd assembler oversatte disse programlinjene automatisk, uten behov for en ekstern assembler.
Den profesjonelle utgaven ble levert i fire 720 Kb disketter, som i tillegg inneholdt Turbo Debugger 1.0, Turbo Assember 1.0, og fire manualer som alle hadde samme ISBN-nr.
Turbo Debugger gjorde det mulig å avluse programmer trinn-for-trinn under utførelsen, inkludert de delene som måtte være skrevet i assembler, og brukeren kunne også se innholdet i variabler og registre. En ytelses-analysator gjorde det mulig å analysere de kompilerte programmenes ytelse, og i manualene var antall klokkepulser for de enkelte instruksjonene spesifisert.

Turbo Pascal 5.5 (1989)

Versjon 5.5 ble lansert den 2. mai 1989. Den største nyheten var at syntaksen var utvidet med objekt-orientert programmering, et konsept som var hentet fra Apples Object Pascal. I stedet for å lansere et nytt objektorientert språk, ble et funksjonsorientert språk utvidet med støtte for objektorientering (liksom C++ er en utvidelse av C) og et rudimentært klasse-bibliotek. Versjon 5.5 kom i to utgaver: Turbo Pascal 5.5 og Turbo Pascal Professional 5.5, som inkluderte Turbo Assembler 1.0 og Turbo Debugger 1.5. 
Det integrerte utviklingsmiljøet hadde et nytt hypertext hjelpesystem, og full støtte for «klipp-og-lim» funksjonalitet. Det fulgte også med en nytt, integrert opplærings-system i objektorientert programmering.
Kompilatoren kunne kompilere 34,000 linjer i minuttet, og hadde full støtte for ko-prosessorene Intel 8087, 80287 og Intel 80387. Det fulgte også med en forbedret linker og overlay manager.
Grunnpakken ble levert sammen med tre manualer, mens den profesjonelle utgaven inneholdt ytterligere tre manualer for assembleren og avluseren.

Turbo Pascal 6.0 (1990)

Versjon 6.0 ble lansert i 1990, og inneholdt klasse-biblioteket Turbo Vision, som gjorde det mulig å realisere Windows-lignende brukergrensesnitt i tekstmodus. Turbo Vision gjorde det mulig å utvikle grensesnitt med flere overlappende dokumenter i samme vindu, med støtte for mus. Det integrerte utviklingsmiljøet var i seg selv Windows-lignende, og utviklet med Turbo Vision.
Kommandlinje-kompilatoren var i stand til å utnytte 80386 beskyttet modus på Intel 80386 og Intel 80486; med en DOS-utvider kunne derfor kompilatoren generere programmer som var større enn den tradisjonelle 640-kb grensen i reell modus.
I den profesjonelle utgaven fulgte Turbo Profiler med. Dette var et program som målte ytelsen ved genererte programmer, og som kunne avdekke «flaskehalser» inne i prosedyrer, overlays, avbruddshåndtering og filhåndtering.

Turbo Pascal for Windows 1.0 (1991)

Denne versjonen ble lansert den 13. mars 1991 og var eksplisitt utviklet for Windows 3.0. Kompilatoren ble levert sammen med biblioteksrutiner som inneholdt API-kallene i Windows 3.0. Utviklingsverktøyet inneholdt også et ressurs-verktøy (resource toolkit) og en debugger i tekst-modus.

Turbo Pascal for Windows 1.5 (1992)

Denne versjonen ble lansert i 1992, og hadde full støtte for alle API-kallene i Windows 3.1x, deriblant det nye tegnsettet og det nye hjelpesystemet i Windows. Editoren støttet utheving av syntaks (syntax highlighting) og et forbedret ressurs-verktøy (resource toolkit) var innebygd i det intregrerte utviklingsmiljøet.

Turbo Pascal 7.0 (1992)

Turbo Pascal 7.0 ble lansert i 1992, og var siste versjon. Versjon 7.0 bestod hovedsakelig av oppdaterte versjoner av Turbo Pascal og Turbo Pascal for Windows, solgt som ét produkt sammen med andre oppdaterte utviklingsverktøy. Programpakken hadde utvidet støtte for API-kall i Windows 3.1x, støttet DOS Protected Mode Interface i utvidet DOS, og hadde utheving av syntaks (syntax highlighting) i både MS-DOS og Windows-versjonen.