《超级幻影猫》绿色度测评报告
Turbo Pascal | |||
---|---|---|---|
Tilblivelse | 20. november 1983 | ||
Paradigme | Objektorientert programmering | ||
Designet av | Anders Hejlsberg | ||
Utviklet av | Borland, Anders Hejlsberg | ||
Filendelse(r) | .COM, .CMD, .EXE | ||
OS | DOS, CP/M, CP/M-86, Windows 3.x, Klassisk MacOS | ||
Lisens | Propriet?r (historisk), freeware | ||
Implementert i | |||
Assembler | |||
P?virket av | |||
Blue Label Pascal, Compas Pascal, Poly Pascal, Modula-2, Simula 67 | |||
Innflytelse for | |||
Borland Delphi, Objekt Pascal, Free Pascal, Virtual Pascal, GNU Pascal |
Turbo Pascal var et imperativt og strukturert programmeringsspr?k som ble lansert av Borland den 20. november 1983.[1] Turbo Pascal bestod av en kompilator for Pascal og et integrert utviklingsmilj?, og var et innovativt og trendsettende produkt p? begge omr?der.
Merkenavnet Turbo betyr at eksekverbare filer ble generert raskt, og ikke n?dvendigvis at koden var optimal. Kompilering, lasting og lenking av objektfiler foregikk automatisk i én enkelt sekvens, mens disse oppgavene i tidligere versjoner av Pascal var blitt utf?rt manuelt hver for seg. Borland benyttet samme konsept og merkenavn i Turbo C, Turbo C++, Turbo Modula-2, Turbo Prolog, Turbo Basic og Turbo Assembler.
Turbo Pascal var ogs? en egen variant eller dialekt av Pascal, med flere utvidelser av syntaksen til ISO Pascal. Versjon 4.0 tilf?yde syntaks for generering av biblioteker (?Units?), etter modell fra Modula-2. I versjon 5.5 ble spr?ket utvidet med objektorientert programmering.
Navnet Borland Pascal ble i versjon 7.0 brukt om en mer avansert programpakke. Den hadde flere biblioteker og ble lansert sammen med kildekoden til kompilatorens standardbiblioteker. Den billigere grunnversjonen ble fortsatt solgt og markedsf?rt som Turbo Pascal.
I 1995 var det slutt. Da besluttet Borland ? erstatte Turbo Pascal med det visuelle utviklingsverkt?yet Delphi. Det var basert p? Rapid application development og p? det objektorienterte spr?ket Objekt Pascal. Turbo Pascal har likevel historisk interesse. Dets syntaks levde videre i kompilatorer som Free Pascal[2] og Virtual Pascal. Ogs? GNU Pascal st?tter syntaksen i Turbo Pascal.[3]
De tre f?rste versjonene
[rediger | rediger kilde]R?ttene til Turbo Pascal
[rediger | rediger kilde]
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.[4][5]

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.[4][5]
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.[4][5]
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.[4]
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.[4]
Turbo Pascal 1.0 (1983)
[rediger | rediger kilde]I 1983 ble kompilatoren solgt til Borland, og under Phillipe Kahns lederskap ble den 20. november 1983 lansert under merkenavnet Turbo Pascal.[1] Som en del av avtalen ble Hejlsberg en av de opprinnelige medlemmene av Borland, og i sin tid hos Borland videreutviklet han Turbo Pascal, og endte opp som hovedansvarlig for utviklingen av de tre f?rste versjonene av Delphi.[1]
Merkenavnet Turbo betyr at eksekverbare filer ble generert raskt, og ikke n?dvendigvis at koden var optimal. Kompilering, lasting og lenking av objektfiler foregikk automatisk i én enkelt sekvens, mens disse oppgavene i tidligere versjoner av Pascal var blitt utf?rt manuelt hver for seg. For eksempel opererte Microsoft Pascal med kompilering i to forskjellige faser og en lenking til slutt. Dette tok flere minutter p? systemer med bare diskett som sekund?rt lagringsmedium.

Turbo Pascal ble lansert p? én enkelt diskett, b?de i 8-toms og 5?-toms utgaver.[1] Disketten inneholdt ti filer:[1]
- TURBO.COM - kompilatoren og teksteditoren
- TURBOMSG.OVR - feilmeldingsfil
- TINST.COM - det integrerte utviklingsmilj?et
- TINSTMSG.OVR - meldingsfil for TINST programmet
- TLIST.COM - programopplister
- ERROR.DOC - addendum til Turbo referansemanual
- CALC.PAS - MicroCalc (regneark)
- CALCMAIN.PAS - Demoprogrammer av hvordan man inkluderer filer
- CALC.HLP - Manual for MicroCalc
- CALCDEMO.MCS - Eksempler p? bruk av regnearket
Totalt utgjorde filene en st?rrelse p? 131 297 byte.[1] St?rrelsen p? TURBO.COM var 33 280 byte.[1] Kompilerte programmer kunne ogs? kj?res fra det integrerte utviklingsmilj?et, og teksteditoren benyttet de samme hurtigtaster som tekstbehandleren WordStar. Det lille regnearket MicroCalc var et demoprogram som var skrevet i Turbo Pascal. Det overlevde under ulike navn helt til lanseringen av Delphi.
Turbo Pascal 1.0 ble lansert i utgaver for tre forskjellige operativsystemer: CP/M-80, CP/M-86 og MS-DOS. CP/M-utgaven kunne benyttes p? DEC Rainbow 100, Commodore 64 med et CP/M sidekort og p? Apple II med sidekortet Z-80 SoftCard som ble lansert av Microsoft i 1980. P? denne tiden benyttet CP/M filnavnsuffikset .COM, mens MS-DOS benyttet b?de .COM og .EXE. Turbo Pascal 1.0 genererte bare .COM filer.

Turbo Pascal diskettene manglet kopibeskyttelse og kom med en ?boklisens?: ?Du kan behandle denne programvare nettopp som en bok ... den kan brukes av et hvilket som helst antall mennesker ... kan fritt flyttes fra en datamaskin til en annen, s? lenge som der ikke er noen mulighet for at den brukes et sted samtidig som den brukes p? et annet.?[6] Turbo Pascal kostet $49.95 og ble ekstrem popul?r. Borland solgte omkring 250 000 programpakker i de to f?rste ?rene.[7]
Turbo Pascal 2.0 (1984)
[rediger | rediger kilde]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)
[rediger | rediger kilde]Versjon 3.0 ble lansert den 17. april 1985, ogs? p? én enkelt 5?-toms diskett.[8] Den var den f?rste versjonen som fikk stor utbredelse. En mindre oppdatering, versjon 3.0.2, ble lansert 17. september 1986.[9] 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.[8] P? CP/M kunne denne versjonen generere programmer som var st?rre enn 64 kilobyte, ved ? benytte overlays.[8][9]
MS-DOS utgaven hadde full st?tte hele instruksjonssettet til koprosessoren Intel 8087 gjennom et bibliotek.[8] P? datamaskiner uten Intel 8087 benyttet Turbo Pascal 3.0 en emulator.[8] Den st?ttet ogs? Binary-coded decimal (BCD), som eliminerte avrundingsfeil.[8]
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.[8]
Turbo Pascal for Macintosh (1985)
[rediger | rediger kilde]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.
Programeksempler
[rediger | rediger kilde]Hallo verden
[rediger | rediger kilde]Dette er det klassiske Hallo verden programmet i Turbo Pascal:
program HalloVerden;
begin
WriteLn('Hallo Verden')
end.
Fakultet
[rediger | rediger kilde]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
[rediger | rediger kilde]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
[rediger | rediger kilde]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.
P?virkninger fra Modula-2
[rediger | rediger kilde]Turbo Pascal 4.0 (1987)
[rediger | rediger kilde]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.[10]
Turbo Pascal 5.0 (1988)
[rediger | rediger kilde]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.[11][12][13][14][15]
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.
Objektorientert programmering
[rediger | rediger kilde]Turbo Pascal 5.5 (1989)
[rediger | rediger kilde]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,[11][12][16] mens den profesjonelle utgaven inneholdt ytterligere tre manualer for assembleren og avluseren.[13][14][15]
Turbo Pascal 6.0 (1990)
[rediger | rediger kilde]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)
[rediger | rediger kilde]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)
[rediger | rediger kilde]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)
[rediger | rediger kilde]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.
Referanser
[rediger | rediger kilde]- ^ a b c d e f g Intersimone 2002
- ^ Free Pascal 2015
- ^ GNU Pascal 2005
- ^ a b c d e Intersimone 2008
- ^ a b c BLS Pascal 1981
- ^ Google Groups
- ^ Webster 1985
- ^ a b c d e f g Borland 1985
- ^ a b Intersimone 2002 b
- ^ UCSD Pascal System II.0 User Manual Reconstruction – Version I.5, 3.3.2. Linkage to Externally Compiled and Assembled Routines, september 1978 Arkivert 3. september 2007 hos Wayback Machine.
- ^ a b User's Guide, PART# 11MN-PAS01-50 BOR 0867, ISBN 0-87524-201-4
- ^ a b Reference Guide, PART# 11MN-PAS02-50 BOR 0866, ISBN 0-87524-201-4
- ^ a b Turbo Assembler User's Guide, PART# 15MN-ASD01-10 BOR 0851, ISBN 0-87524-201-4
- ^ a b Turbo Assembler Reference Guide, PART# 15MN-ASD02-10 BOR 0852, ISBN 0-87524-201-4
- ^ a b Turbo Debugger User's Guide, PART# 15MN-ASD03-10 BOR 0847, ISBN 0-87524-201-4
- ^ OOP Guide, PART# 11MN-PAS03-55 BOR 1309
Litteratur
[rediger | rediger kilde]- Borland (1985). Turbo Pascal, Version 3.0: Reference Manual. Scotts Valley, California, 17. april 1985. ISBN 978-0875240039.
- Free Pascal (2015). Free Pascal wiki. Free Pascal wiki, 2005.
- GNU Project (2005). Language standards supported by GNU Pascal. GNU Pascal's hjemmeside, 2005.
- Intersimone, David (2008). Blue Label Software Pascal -> Compas Pascal -> Poly Pascal -> Turbo Pascal v1.0]. Sip from the Firehose, David I's (Intersimone) Embarcadero blog about programming, languages, databases, history and more, 2. november 2008. Arkivert fra originalen 4. mars 2016. Bes?kt 3. august 2015.
- Intersimone, David (2002). Antique Software: Turbo Pascal v1.0. Embarcadero Developer Network, 1. februar 2002. Arkivert fra originalen 21. desember 2010. Bes?kt 4. august 2015.
- Intersimone, David (2002). Antique Software: Turbo Pascal v3.02. Embarcadero Developer Network, 21. februar 2002. Arkivert fra originalen 24. november 2010. Bes?kt 6. august 2015.
- O'Brien, Stephen K. (1988). Turbo Pascal 5: Advanced Programmer`s Guide. Osborne McGraw-Hill, Berkeley, California, 1. januar 1988. ISBN 978-0078814204.
- O'Brien, Stephen K. (1988). Turbo Pascal: The Complete Reference. Osborne McGraw-Hill, Berkeley, California, 1. juni 1988. ISBN 0-07-881290-9, ISBN 978-0078812903 Sjekk
|isbn=
-verdien: invalid character (hjelp). - O'Brien, Stephen K. (1989). Turbo Pascal 5.5 ?: The Complete Reference. Osborne McGraw-Hill, Berkeley, California, 1. juni 1989. ISBN 978-0078815010.
- O'Brien, Stephen K. (1991). Turbo Pascal 6: The Complete Reference. Osborne McGraw-Hill, Berkeley, California, 1. januar 1991. ISBN 978-0078817038.
- O'Brien, Stephen K.; Nameroff, Steve (1993). Turbo Pascal 7: The Complete Reference. Osborne McGraw-Hill, Berkeley, California, mars 1993. ISBN 978-0078817939.
- Polydata microsenter (1981). BLS Pascal User Manual (PDF). 1981.
- Savitch, Walter J. (1988). Turbo Pascal. An Introduction to the Art and Science of Programming. 2. reviderte utgave, The Benjamin/Cummings Publishing Company, Inc., University of California, San Diego, 1. september 1988. ISBN 978-0805383966.
- Webster, Bruce F. (1985). Greetings and Agitations. BYTE, s. 355, august 1985.