Turbo Pascal - Turbo Pascal

Turbo Pascal
Původní autoři Anders Hejlsberg (Borland)
Vývojáři Borland
První vydání 1983 ; Před 38 lety ( 1983 )
Operační systém CP/M , CP/M-86 , DOS , Windows 3.x , Macintosh
Plošina Z80 , x86 , 68000
K dispozici v Angličtina
Typ Integrované vývojové prostředí

Turbo Pascal je systém pro vývoj softwaru, který obsahuje kompilátor a integrované vývojové prostředí (IDE) pro programovací jazyk Pascal běžící na CP/M , CP/M-86 a DOS . Původně byl vyvinut Andersem Hejlsbergem v Borlandu a byl pozoruhodný extrémně rychlými časy kompilace. Turbo Pascal a pozdější, ale podobný Turbo C , udělaly z Borlanda lídra ve vývoji založeném na PC.

Pro verze 6 a 7 (poslední) se vyráběl jak levnější Turbo Pascal, tak dražší Borland Pascal ; Borland Pascal se více orientoval na profesionální vývoj softwaru, s více knihovnami a standardním zdrojovým kódem knihovny. Název Borland Pascal se také používá obecněji pro Borlandův dialekt programovacího jazyka Pascal, výrazně odlišný od standardního Pascalu.

Borland vydal tři staré verze Turbo Pascal zdarma kvůli jejich historickému zájmu: původní Turbo Pascal (nyní známý jako 1.0) a verze 3.02 a 5.5 pro DOS.

Motivace a uvolnění

Philippe Kahn poprvé viděl příležitost pro Borland, jeho nově vytvořenou softwarovou společnost, v oblasti programovacích nástrojů. Historicky drtivá většina programátorů viděla svůj pracovní postup z hlediska cyklu úprav/kompilace/propojení se samostatnými nástroji věnovanými každému úkolu. Programátoři napsali zdrojový kód pomocí textového editoru ; zdrojový kód byl poté kompilován do objektového kódu (často vyžadujícího více průchodů) a linker kombinoval objektový kód s runtime knihovnami za vzniku spustitelného programu.

Na počátku trhu IBM PC (1981–1983) vyráběli hlavní dodavatelé programovacích nástrojů kompilátory, které fungovaly podobným způsobem. Například systém Microsoft Pascal se skládal ze dvou průchodů kompilátoru a závěrečného propojovacího průchodu (což v systémech s pouze disketami pro sekundární úložiště mohlo trvat několik minut, přestože programy byly mnohem menší než dnes). Tento proces byl méně náročný na zdroje než pozdější integrované vývojové prostředí (IDE). Prodejci nástrojů pro vývoj softwaru zaměřili své produkty na profesionální vývojáře a cena za tyto základní nástroje plus pomocné nástroje, jako jsou profilery, se vyšplhala na stovky dolarů.

Kahnova myšlenka byla zabalit všechny tyto funkce do integrované sady programovacích nástrojů navržených tak, aby měly mnohem lepší výkon a využití zdrojů než běžné nástroje pro profesionální vývoj, a účtovat nízkou cenu za balíček integrující vlastní textový editor, překladač a všechny funkce, které je třeba vytvářet spustitelné programy. Program byl prodán přímou poštovní objednávkou za 49,95 USD, aniž by prošel zavedenými prodejními kanály (maloobchodníci nebo prodejci).

Na rozdíl od některých jiných vývojových nástrojů neměly disky Turbo Pascal ochranu proti kopírování . Turbo Pascal přišel s „Knižní licencí“: „K tomuto softwaru musíte přistupovat stejně jako ke knize ... [to] může používat libovolný počet lidí ... může být libovolně přesunuto z jednoho umístění počítače na druhé, tak dlouho protože neexistuje možnost, že by byla použita na jednom místě, zatímco by byla použita na jiném. “

Recepce

Jerry Pournelle z časopisu Byte v únoru 1984 napsal, že Turbo Pascal „se blíží tomu, co si myslím, že směřuje počítačový průmysl: dobře zdokumentované, standardní, spousta dobrých funkcí a rozumná cena“. Pournelle se nelíbil požadavek koupit další licenci k distribuci binárních souborů, ale poznamenal, že „ukazuje se, že to nebude o moc víc. Borland chce jen o dalších 100 dolarů“ více než základní cena 49,95 $, a že „můj první dojem z Turbo je, že je to pravděpodobně stojí 149,95 $. Vypadá to, že dělá všechno, co dělá MT+ s balíčkem Speed ​​Programming Package , a možná to dokonce dělá rychleji a lépe “. V červenci oznámil, že podle Kahna IBM odmítla dále prodávat Turbo Pascal, pokud cena nebyla alespoň 200 $; Pournelle poznamenal, že „Turbo je mnohem lepší, než prodává Pascal IBM“, a na rozdíl od toho byl kompatibilní s IBM PCjr . Tři recenzenti Byte ocenili Turbo Pascal ve stejném vydání. Jeden nazýval verzi pro DOS „bezpochyby nejlepší softwarovou hodnotu, jakou jsem kdy koupil“, a další označil verzi CP/M „vynikající produkt ... [Borland] si zaslouží pochvalu za tento vysoce hodnotný produkt“. Třetí uvedl, že to „není dobrý kompilátor pro vývoj masivních aplikací“, ale dodal, že výrazně převyšuje BASIC , programovací jazyk , který byl v té době obvykle spojován s domácími počítači. Došel k závěru, že Turbo Pascal je „smlouva, která by neměla být promarněna“.

Přestože časopis v únoru 1986 zjistil, co popisuje jako „závažnou chybu“ ve verzi 3.0, a snížila kompatibilitu s PC klony , uvedl, že „je těžké vyhnout se doporučení Turbo každému, kdo chce programovat v jazyce Pascal“, přičemž citoval zlepšenou rychlost. a grafické rutiny. Při revizi dalších čtyř kompilátorů Pascal v prosinci 1986 popsal Byte Turbo Pascal jako „praktický a atraktivní pro programátory na všech úrovních odborných znalostí“. Bruce Webster také ocenil jazyk v časopise a v srpnu 1985 uvedl, že Turbo Pascal „je nejlépe známý pro svou malou velikost, neuvěřitelné rychlosti kompilace a rychlé časy provádění“. Poznamenal, že kvalita softwaru a nízká cena byly zvláště překvapivé po „ fiasku JRT Pascal “, a uvedl, že i při nové vyšší ceně 69,95 $ byla verze 3.0 „pravděpodobně stále nejlepší softwarovou nabídkou na trhu“.

Časopis PC Magazine byl v listopadu 1984 podobně bezplatný a uvedl, že „nic podobného jako Turbo Pascal pro PC-DOS nikdy předtím neexistovalo“. Chválil nízkou cenu softwaru, rychlost, neobvykle dobrou dokumentaci pro kompilátor a poznamenal existenci mnoha nástrojů od jiných společností, které doufaly, že budou těžit z popularity Turbo Pascalu. Přezkum uvedl, že IDE, které zjednodušilo smyčku edit-compile-run-debug, zpřístupnilo Turbo Pascal novým programátorům, jako je BASIC.

Byte v roce 1989 zařadil Turbo C a Turbo Pascal mezi „Rozlišovací“ vítěze Byte Awards. Časopis s odkazem na své uživatelské rozhraní a neustálý důraz na rychlost uvedl, že „pro rychlé prototypování není nic lepšího“. Ve stejném čísle Pournelle opět ocenil verze 4.0 a 5.0 Turbo Pascal. Cituje Anacreon jako „dobrý příklad toho, jak složitý program lze psát v Pascalu“, a mnoho knihoven dostupných od Borlanda a dalších vývojářů, napsal: „Stále více jsem přesvědčen, že Turbo Pascal je programovací jazyk, který si můžete vybrat pro lidé, kteří se více zajímají o to, co chtějí, aby stroj dělal, než o to, jak toho dosáhnout. Turbo Pascal nemusí být ani tak elegantní, ani přenosný jako C, ale je určitě méně temný. Myslím, že to může být jazyk pro zbytek z nás".

Borland za dva roky prodal asi 250 000 kopií Turbo Pascal, což Webster popsal jako „úžasnou postavu pro počítačový jazyk“. O šest měsíců později oznámil, že toto číslo vzrostlo na „více než 400 000 kopií na trhu, který byl odhadován jako trh s pouze 30 000 potenciálními kupci“.

Verze

Verze CP/M a DOS

Verze 1

Přední kryt manuální Turbo Pascal 3.0

Kompilátor Turbo Pascal byl založen na kompilátoru Blue Label Pascal, který původně vyrobil pro kazetový operační systém NasSys mikropočítače Nascom v roce 1981 Anders Hejlsberg . Borland licencoval jádro kompilátoru Hejlsberg „PolyPascal“ ( Poly Data byl název společnosti Hejlsberg v Dánsku) a přidal uživatelské rozhraní a editor. Anders Hejlsberg nastoupil do společnosti jako zaměstnanec a byl architektem všech verzí kompilátoru Turbo Pascal a prvních tří verzí Borland Delphi .

Kompilátor byl poprvé vydán jako Compas Pascal pro CP/M , a poté vydán dne 20. listopadu 1983 jako Turbo Pascal pro CP/M (včetně počítače Apple II, pokud je vybaven kartou Z -80 SoftCard , která účinně převádí Apple na bázi 6502 na stroj CP/M, Commodore 64 s CP/M kazetou a pozdější DEC Rainbow ), CP/M-86 a stroje DOS. Při svém uvedení na americký trh Turbo Pascal prodával za 49,99 USD , což byla v té době velmi nízká cena za překladač. Integrovaný kompilátor Pascal měl dobrou kvalitu ve srovnání s jinými produkty Pascal té doby.

Název Turbo zmiňoval rychlost kompilace a produkované spustitelné soubory. Cyklus úprav/kompilace/spuštění byl ve srovnání s jinými implementacemi Pascalu rychlý, protože vše, co souvisí s budováním programu, bylo uloženo v paměti RAM a protože se jednalo o jednoprůchodový kompilátor napsaný v jazyce sestavení . Kompilace byla mnohem rychlejší než kompilátory pro jiné jazyky (dokonce i Borlandovy vlastní pozdější kompilátory pro C) a další kompilátory Pascal a čas programátora byl také ušetřen, protože program mohl být kompilován a spuštěn z IDE. Rychlost provádění těchto programů s formátem COM byla zjevením pro vývojáře, jejichž jedinou předchozí zkušeností s programováním mikropočítačů byl interpretovaný BASIC nebo UCSD Pascal , který byl kompilován do kódu p, který byl poté interpretován za běhu.

Verze 1 byl základní systém typu vše v jednom, který pracoval v paměti a vytvářel spustitelné soubory .COM pro DOS a CP/M a ekvivalentní spustitelné soubory .CMD pro CP/M-86 (zcela odlišné od dávkových souborů .CMD později použitých v 32bitový systém Microsoft Windows). Soubory zdrojového kódu byly pro zjednodušení IDE omezeny na 64 kB a soubory DOS .COM byly omezeny na 64 KB pro proměnné kódu, zásobníku a globální (statické). Pokud zdrojový kód překročil limit paměti editoru, bylo možné rozšířit zdrojový kód programu pomocí možnosti zahrnout.

Existovaly různé verze Turbo Pascal pro počítače se systémem DOS, CP/M nebo CP/M-86 se 64 kB paměti a alespoň jednou disketovou jednotkou. Verze CP/M mohla běžet na mnoha strojích CP/M té doby s procesory Z80 nebo Apple II s kartou Z80. Verze DOS a CP/M-86 běžely na mnoha 8086 a 8088 strojích, které byly k dispozici, včetně IBM PC. Instalační program, lister a kompilátor s IDE a zdrojový kód jednoduchého tabulkového programu s názvem MicroCalc napsaného Philippe Kahnem jako ukázka by se vešel na jednu disketu. Kopie disku bez MicroCalc pojme zdrojový kód a zkompilovatelný spustitelný soubor programu přiměřené velikosti-jak bylo v té době běžné, že uživatelé měli jako velkokapacitní paměť pouze jednu disketovou jednotku , bylo skvělé mít možnost kompilátor i program jsou zapsány na jeden disk, čímž se zabrání nekonečnému prohození disku.

Bill Gates viděl úspěch Turbo Pascal velmi osobně a „nechápal, proč jsou věci [Microsoftu] tak pomalé. Přivedl Grega Whittena [programovacího ředitele jazyků Microsoftu] a půl hodiny na něj řval“ . Nedokázal pochopit, proč Kahn dokázal porazit zavedeného konkurenta, jako je Microsoft. “

Architektura různých strojů systémem MS-DOS navíc omezena maximální uživatelské paměti pod 1 MB (např stroje hardware kompatibilní s IBM PC byla omezena na 640 KB).

Turbo Pascal IDE bylo na svou dobu velmi pokročilé. Dokázal dobře fungovat a velmi rychle se kompilovat s množstvím paměti RAM na typickém domácím počítači. IDE bylo jednoduché a intuitivní a mělo dobře uspořádaný systém nabídek. Dřívější verze editoru používaly klíčové funkce WordStar , což byl v té době de facto standard. Pozdější verze IDE, navržené pro počítače s větším diskovým prostorem a pamětí, mohly zobrazit definice klíčových slov daného jazyka umístěním kurzoru na klíčové slovo a stisknutím klávesy F1 (běžně se používá k zobrazení nápovědy). Mnoho definic obsahovalo ukázkový kód.

Kromě standardních spustitelných programů mohl kompilátor generovat programy Terminate and Stay Resident (TSR), malé nástroje, které zůstaly v paměti a nechaly počítač provádět jiné úkoly - běh několika programů současně, multitasking , jinak nebyl k dispozici. Samotný Borland vytvořil malou aplikační sadu s názvem Sidekick, která byla TSR a umožnila uživateli vést si deník, poznámky atd.

Verze 2

Verze 2, vydaná o několik měsíců později, 17. dubna 1984, byla přírůstkovým vylepšením původního Turbo Pascal, do té míry, že referenční příručka byla zpočátku identická s verzí 1, až do roku 1983 jako data autorských práv na některých ukázkový výstup kompilátoru, ale měl samostatný manuál „Dodatek k referenční příručce: Verze 2.0 a 8087 Supplement“ se samostatným číslováním stránek.

Přírůstky zahrnovaly překryvný systém , kde by se oddělené postupy překrývání automaticky vyměňovaly z disku do vyhrazeného místa v paměti. Tato paměť byla součástí 64kB RAM používané kódem programu a byla automaticky velikostí největší procedury překrytí. Postupy překrytí mohou zahrnovat samotné sekce překrytí, ale pokud nebyl použit disk RAM, mohlo by být výsledné přepínání disku pomalé.

2.0 také přidal proceduru Dispose pro správu hromady , což umožňuje uvolnění jednotlivých dynamických proměnných, jako alternativu k primitivnějšímu systému 'Mark/Release'. a vyšší kompatibilita s příkazy WordStar plus používání numerické klávesnice na počítači IBM PC a kompatibilních. Taková PC také měla nová textová okna a příkazy grafického režimu CGA , stejně jako bylo možné použít reproduktor PC pro tóny.

Nakonec stroje DOS a CP/M-86 s matematickým koprocesorem 8087 (nebo novějším kompatibilním) měly k dispozici alternativní kompilátor TURBO-87. Podporoval dlouhé reálné datové typy 8087 s rozsahem 1,67E-307 až 1,67E+308 až 14 významné přesnosti obrázku, ale s mnohem vyšší rychlostí zpracování. Manuál poznamenává, že ačkoliv zdrojový kód pro softwarové skutečné datové typy softwaru Turbo Pascal nabízející rozsah 1E-63 až 1E+63 až 11 významných čísel, byly tyto na binární úrovni nekompatibilní: stejně jako mají mnohem větší rozsah, software reals vzal do paměti šest bytů a 8087 jich bylo osm.

Stejně jako verze 1, verze 2 pro CP/M-80 běžela pouze na strojích CP/M na bázi Z80 .

Verze 3

Verze 3 byla vydána 17. září 1986.

Turbo Pascal 3 podporoval želví grafiku .

Kromě výchozích softwarových reálných čísel a vydání kompilátoru 8087 Borland také nabízel verzi BCD (TURBOBCD), která nabízela stejný numerický rozsah jako skutečné datové typy, ale 18 platných čísel.

Verze DOS

Verze 4

Vydáno 20. listopadu 1987, verze 4 byla úplným přepsáním, přičemž vzhled i dojem a vnitřní operace se hodně změnily. Kompilátor generoval spustitelné soubory ve formátu .EXE v systému DOS, nikoli jednodušší, ale omezenější spustitelné soubory .COM. Do té doby zastaralé verze operačního systému CP/M a CP/M-86 byly při přepisu Turbo Pascal zrušeny. Verze 4 představila jednotky a textové uživatelské rozhraní na celou obrazovku s rozbalovacími nabídkami; starší verze měly textovou nabídku a samostatný editor na celou obrazovku. ( Microsoft Windows byl při vydání první verze stále velmi experimentální a dokonce i myši byly vzácné.)

Pro Turbo Pascal V4 byl k dispozici doplňkový balíček Turbo Pascal Graphix Toolbox.

Verze 5.0

Barevné displeje nahrazovaly monochromatické; Turbo Pascal verze 5.0, vydaný 24. srpna 24, 1988, představil modrou jako výchozí barvu pozadí editoru, používanou kompilátory Borland DOS až do konce této produktové řady v polovině 90. let.

Pozdější verze přicházely ve dvou balíčcích se stejným číslem verze: levnější balíček „Turbo“ a balíček „Borland“ s vylepšenými možnostmi a dalšími doplňky.

Verze 5.5

Tato verze, vydaná dne 2. května 1989, představila objektově orientované programovací funkce pro jazyk Pascal, včetně konceptu tříd, statických a dynamických objektů, konstruktorů a destruktorů a dědičnosti, které by se staly základem pro Object Pascal nalezený v Borland Delphi. IDE používá výchozí modré barevné schéma, které by bylo použito také u pozdějších produktů Borland Turbo. Mezi další změny IDE patří:

  • Přidání ladicího programu krok za krokem do IDE.
  • Kontextová nápověda s popisem všech vestavěných funkcí a možností kopírování fragmentů kódu z okna nápovědy do okna úprav.

Verze 6.0

Verze 6 byla vydána 23. října 1990.

Změny od 5.5 zahrnují:

  • Přidání funkce vloženého jazyka sestavení pro jazyk Pascal.
  • Přidání knihovny Turbo Vision .
  • Změny IDE zahrnují podporu myši, schránku pro manipulaci s textem, rozhraní více dokumentů podporující až devět oken pro úpravy.
  • Debugger podporuje použití zarážek a hodinek.

Verze 7.0

Verze 7 byla vydána 27. října 1992.

Změny od 6.0 zahrnují:

  • Kompilátor podporuje vytváření spustitelných souborů DOS a Windows, Windows DLL.
  • Změny IDE zahrnují přidání zvýraznění syntaxe.

Turbo Pascal pro Windows

Byly vydány dvě verze s názvem „Turbo Pascal pro Windows“ (TPW) pro Windows 3.x : TPW 1.0, založené na Turbo Pascal 6, ale vydané asi o 2 roky později, a 1.5, vydané po Turbo Pascal 7; jejich nástupcem byl Borland Pascal 7, který měl podporu Windows. Kompilátor Windows v Pascalu 7 měl název Borland Pascal pro Windows .

Obě verze vytvořily programy kompatibilní se systémem Windows a představovaly IDE založené na Windows, na rozdíl od IDE založeného na DOS v Turbo Pascal. Příkazy IDE a editoru odpovídaly zásadám uživatelského rozhraní Microsoft Windows namísto klasického uživatelského rozhraní TP. Podpora pro programy Windows vyžadovala knihovnu ObjectWindows , podobnou, ale ne identickou s tou pro první vydání Borland C ++ , a radikálně odlišnou od dřívějšího prostředí DOS Turbo Vision . Turbo Pascal byl nahrazen pro platformu Windows společností Delphi ; kompilátor Delphi může vytvářet konzolové programy a aplikace grafického uživatelského rozhraní (GUI), takže používání Turbo a Borland Pascal se stalo zbytečným.

Turbo Pascal pro Macintosh

Borland vydal Turbo Pascal pro Macintosh v roce 1986. Podobně jako verze 1 až 3 pro jiné operační systémy byl napsán v kompaktním jazyce sestavení a měl velmi silné IDE, ale žádný dobrý debugger. Borland tento produkt příliš nepodporoval, přestože vydal verzi 1.1 opravenou pro běh na 32bitovém počítači Macintosh II . Podpora pro Macintosh byla brzy poté ukončena.

Vydání freewaru

Borland vydal několik verzí Turbo Pascal jako freeware poté, co se staly „starožitným softwarem“ ( Leaveware ), s 1.0 pro DOS 1. února 2000, 3.02 10. února 2000, 5.5 21. února 2002, Turbo Pascal 7.01 francouzská verze v roce 2000. Většina stahování je stále k dispozici na webových stránkách nástupce společnosti Embarcadero Technologies .

Nástupci

V roce 1995 Borland upustil Turbo/Borland Pascal a nahradil jej prostředím pro rychlý vývoj aplikací (RAD) Borland Delphi , založeným na Object Pascal. 32- a 64bitové verze Delphi stále podporují přenosnější vylepšení Pascal dřívějších produktů (tj. Těch, která nejsou specifická pro 16bitový kód), včetně dřívějšího modelu statického objektu. Tento jazyk zpětné kompatibility znamená, že mnoho starého kódu Turbo Pascal lze i dnes zkompilovat a spustit v moderním prostředí.

Ostatní dodavatelé vytvořili nástroje pro vývoj softwaru kompatibilní s Turbo Pascal. Nejznámější jsou Free Pascal a Virtual Pascal .

Ve vzdělání

Borland Pascal se v některých zemích stále vyučuje na sekundární, šesté a univerzitní úrovni. Vyučuje se na univerzitách v Kostarice, Turecku, Iráku, Německu, Ruské federaci, USA a na středních školách v Argentině, Belgii, Bulharsku, Kanadě, Kostarice, Chorvatsku, Francii, Maďarsku, Itálii, Jamajce, Libyi, Moldavsku , Rumunsko, Srbsko, Tunisko, Ukrajina, Česká republika a Vietnam. Do roku 2002 to byl státem schválený vzdělávací programovací jazyk pro všechny jihoafrické střední školy. Dnes se na některých univerzitách po celém světě nadále vyučuje jako úvod do počítačového programování, obvykle postupuje do jazyka C nebo Java nebo obojího.

Někteří lektoři dávají přednost použití Borland Pascal 7 nebo Turbo Pascal 5.5 kvůli své jednoduchosti ve srovnání s modernějšími IDE, jako je Microsoft Visual Studio nebo Borland JBuilder , takže seznamuje studenty neznalé práce s počítačem s běžnými úkoly, jako je používání klávesnice a klávesových zkratek ( TP 5.5 nemá podporu myši), zná je s příkazy DOS (které jsou do značné míry stejné jako příkazové řádky systému Microsoft Windows) a umožňuje jim psát programy, aniž by museli vynaložit velké úsilí na to, aby prostředí fungovalo. TP 5.5 je k dispozici ke stažení zdarma od společnosti Borland.

Funkce

Jazyk montáže

Přestože všechny verze Turbo Pascal mohly obsahovat vložený strojový kód , počínaje verzí 6 bylo možné integrovat jazyk sestavení do zdrojového kódu Pascal.

Podpora pro různé paměťové modely 8086 byla poskytována vloženým sestavením, možnostmi kompilátoru a jazykovými rozšířeními, jako je například klíčové slovo „absolutní“. Turbo Assembler , TASM, standardní x86 assembler nezávislý na TP, a zdroj kompatibilní s široce používán Microsoft Macro Assembler MASM byl dodán s vylepšeným „Borland Pascal“ verze.

Ladění a profilování

IDE poskytlo několik možností ladění, včetně jednoho krokování , zkoumání a změny proměnných a podmíněných zarážek. V novějších verzích bylo možné procházet bloky jazyků sestavení. Uživatel mohl přidat zarážky do proměnných a registrů v okně IDE. Programy používající grafický režim IBM PC se mohou automaticky nebo ručně přepínat mezi grafickým a textovým režimem nebo je mohou na dvou obrazovkách zobrazovat obě. Pro případy, kdy relativně jednoduchá ladicí zařízení IDE nebyla dostatečná, vytvořil Turbopower Software výkonnější debugger, T-Debug. Stejná společnost vyráběla Turbo Analyst a Overlay Manager pro Turbo Pascal. T-Debug byl později aktualizován pro Turbo Pascal 4, ale přerušen vydáním Turbo Debugger (TD) společnosti Borland , který také umožnil určitý zásah hardwaru do počítačů vybavených novým procesorem 80386 .

TD byl obvykle dodáván ve spojení s Turbo Assembler a Turbo Profiler, profilovačem kódu, který informoval o čase stráveném v každé části programu, aby pomohl optimalizaci programu nalezením úzkých míst. Knihy dodávané s Borlandem Pascalem měly podrobný popis jazyka assembleru Intel , včetně počtu hodinových cyklů požadovaných každou instrukcí. Vývoj a ladění by bylo možné provádět zcela v rámci IDE, pokud by nebyla vyžadována pokročilá ladicí zařízení Turbopower T-Debug a později TD.

Pozdější verze také podporovaly vzdálené ladění pomocí komunikačního kabelu RS-232 .

Jednotky

V průběhu let Borland vylepšil nejen IDE, ale také rozšířil programovací jazyk. Vývojový systém založený na standardu ISO Pascal vyžaduje rozšíření specifická pro implementaci pro vývoj aplikací v reálném světě na platformách, na které cílí. Standard Pascal je navržen tak, aby byl nezávislý na platformě, takže nepředepisuje žádný nízkoúrovňový přístup k zařízením závislým na hardwaru nebo operačním systému. Standard Pascal také nepředepisuje, jak by měl být velký program rozdělen na samostatné kompilační jednotky. Od verze 4 přijal Turbo Pascal koncept jednotek od UCSD Pascal . Jednotky byly použity jako externí knihovny funkcí, podobně jako soubory objektů používané v jiných jazycích, jako je FORTRAN nebo C.

Například řádek uses crt;v programu obsahoval jednotku nazvanou crt; the usesis the mechanism for using other compilation units. interfacea implementationbyla to klíčová slova, která v jednotce určovala, co bylo (a co nebylo) viditelné mimo jednotku. To je podobné klíčovým slovům publica privatev jiných jazycích, jako je C ++ a Java .

Jednotky v Borlandově Pascalu byly podobné samostatnému kompilačnímu systému Modula-2 . V roce 1987, kdy byl vydán Turbo Pascal 4, Modula-2 pronikal jako vzdělávací jazyk, který by mohl nahradit Pascal. Borland ve skutečnosti měl kompilátor Turbo Modula-2, ale vydal jej pouze na CP/M (jeho uživatelské rozhraní bylo téměř totožné s rozhraním Turbo Pascal 1–3) s malým marketingem. Byla vyvinuta mnohem vylepšená verze DOS, ale protože Borland nebyl ochoten zveřejnit samotné výsledky, autoři včetně Nielse Jensena koupili práva a vytvořili Jensen & Partners International, aby ji publikovali jako JPI TopSpeed ​​Modula-2. Místo toho se Borland rozhodl implementovat samostatnou kompilaci do svého zavedeného produktu Pascal.

Samostatná kompilace nebyla součástí standardního jazyka Pascal, ale byla již k dispozici v UCSD Pascal , který byl velmi populární na 8bitových počítačích. Zdá se, že syntaxe Turbo Pascal pro jednotky byla vypůjčena od UCSD Pascal. Dřívější verze Turbo Pascal, navržené pro počítače s omezenými zdroji, podporovaly systém dynamického propojování „chain and execute“ pro samostatně kompilované objekty, podobný systému, který je v BASICu široce používán. Také jazyk měl prohlášení, které v případě potřeby zahrnovalo do programu samostatný zdrojový kód, a překrývání bylo podporováno z TP3, ale stejně jako u překryvů se zřetězené objekty musely vejít do původního (omezeného) prostoru paměti programu. Jak pokročila výpočetní a úložná zařízení, byla do Turbo Pascal přidána možnost generovat velké soubory EXE se schopností staticky propojovat a hromadně načítat samostatně kompilované objekty.

Výstup souborů .TPU kompilací jednotky Turbo Pascal je pevně spojen s interními strukturami kompilátoru, nikoli se standardními propojitelnými soubory .OBJ. To zlepšilo časy kompilace a propojení, ale znamenalo to, že soubory .TPU nemohly být propojeny s výstupem jiných jazyků nebo dokonce použity s různými verzemi Turbo Pascal, pokud nebyly překompilovány ze zdroje.

Objektově orientované programování

Od verze 5.5 byly zavedeny některé objektově orientované programovací funkce: třídy, dědičnost, konstruktory a destruktory. IDE již bylo rozšířeno o rozhraní prohlížeče objektů ukazující vztahy mezi objekty a metodami a umožňující programátorům snadnou navigaci v modulech. Borland nazval svůj jazyk Object Pascal , který byl značně rozšířen, aby se stal jazykem, který je základem Delphi (který má dva samostatné systémy OOP). Název „Object Pascal“ pochází z rozšíření Pascal vyvinutých společností Apple Inc. k programování počítačů Lisa a Macintosh . Při vývoji těchto rozšíření konzultoval původce Pascalu Niklaus Wirth , který navázal na typ záznamu již přítomný v Pascalu.

Problém s jednotkou CRT na rychlých procesorech

Několik verzí Turbo Pascal, včetně nejnovější verze 7, obsahuje jednotku CRT používanou mnoha aplikacemi textového režimu na celou obrazovku. Tato jednotka obsahuje ve své inicializační sekci kód pro určení rychlosti CPU a kalibraci zpožďovacích smyček. Tento kód selže na procesorech s rychlostí vyšší než asi 200  MHz a okamžitě přeruší zprávu „Chyba běhu 200“. (kód chyby 200 neměl nic společného s rychlostí CPU 200 MHz). To je způsobeno tím, že smyčka běží a počítá, kolikrát může iterovat v pevném čase, měřeno hodinami reálného času . Když byl Turbo Pascal vyvinut, běžel na strojích s CPU běžícími na 1 až 8 MHz a málo se uvažovalo o možnosti výrazně vyšších rychlostí, takže od zhruba 200 MHz lze spustit dostatek iterací k přetečení 16bitového čítače. Náplast byl produkován, když stroje se stal příliš rychle na původní metody, ale v tom rychlosti procesorů se zvyšuje ještě dále, a byl nahrazen jinými.

Programy, na které se vztahuje tato chyba, lze překompilovat ze zdrojového kódu pomocí kompilátoru s opravou k odstranění chyby (pomocí samotného TURBO.TPL zkompilovaného s opravenou jednotkou CRT) nebo, pokud zdrojový kód není k dispozici, spustitelné soubory lze opravit pomocí nástroje s názvem TPPATCH nebo ekvivalent, nebo načtením programu Ukončit a zůstat rezidentní před spuštěním vadného programu.

Existují také opravy samotného kompilátoru TP7, takže pokud je k dispozici zdroj Pascal, kód nové kompilace bude fungovat bez kompilovaného kódu. Pokud je zdrojový kód k dispozici, je řešením také portování do knihoven bez závislosti na rychlosti hodin CPU.

Plovoucí bod

Existovalo několik typů s plovoucí desetinnou čárkou , včetně single(4bajtová [IEEE 754] reprezentace) double(8bajtová IEEE 754 reprezentace), extended(10bajtová IEEE 754 reprezentace používaná převážně interně numerickými koprocesory ) a Real(6bytová reprezentace).

V počátcích Realbyl nejpopulárnější. Většina počítačů té doby neměla koprocesor s plovoucí desetinnou čárkou, takže všechny FP musely být provedeny v softwaru. Borlandovy vlastní algoritmy FP Realbyly rychlejší než použití jiných typů, ačkoli jeho knihovna emulovala i ostatní typy v softwaru.

Syntax

  • Pascal nerozlišuje velká a malá písmena .
  • Historicky jsou komentáře Pascal uzavřeny { within pairs of braces }, nebo (* left parenthesis/asterisk and asterisk/right parenthesis pairs *), a ty mohou zahrnovat libovolný počet řádků. Pozdější verze Borland Pascal také podporovaly komentáře ve stylu C ++ // preceded by two forward slashes , které končí na konci řádku.
  • Syntaxe příkazu caseje flexibilnější než standardní Pascal.
  • Sady mohou mít pouze 256 (2 8 ) členů.
  • Je Stringpodporován standardní Pascal, kterému předchází délkový bajt, a zabírá pevné množství úložiště; novější verze přidaly flexibilnější typ zakončený nulou a starší typ nazývali „krátký řetězec“. Starší zdrojový kód, který zpracovává řetězce nestandardními způsoby (např. Přímá manipulace s bajtem délky jako S[0]:=14zkrácení řetězce), musí mít buď své řetězce deklarovány jako krátké řetězce, nebo musí být přepsány.

Toto je klasický program Hello world v Turbo Pascal:

program HelloWorld;
begin
  WriteLn('Hello World')
end.

To požádá o jméno a stokrát jej zapíše na obrazovku:

program WriteName;
var
  i    : Integer;        {variable to be used for looping}
  Name : String;         {declares the variable Name as a string}
begin
  Write('Please tell me your name: ');
  ReadLn(Name);          {ReadLn returns the string entered by the user}
  for i := 1 to 100 do
  begin
    WriteLn('Hello ', Name)
  end;
 readln;
end.

Viz také

Reference

externí odkazy