Historie vývoje textových editorů: programátorské textové editory pro systém DOS (2. část)

Pavel Tišnovský 1. 12. 2015

Na článek o programátorských editorech pro DOS dnes navážeme popisem některých integrovaných vývojových prostředí určených taktéž pro tento systém. Zmíníme se o IDE vydávaných společností Borland, dále pak o některých editorech a IDE určených pro jazyk BASIC a nezapomeneme ani na Asm Lab či na populární RHIDE.

Obsah

1. Historie vývoje textových editorů: programátorské textové editory pro systém DOS (2. část)

2. Původní IBM Cassette BASIC

3. GW-BASIC

4. GFA BASIC

5. Turbo Basic distribuovaný společností Borland

6. QBasic

7. Asm Lab

8. Turbo Pascal

9. Borland Pascal

10. Odkazy na Internetu

1. Historie vývoje textových editorů: programátorské textové editory pro DOS (2. část)

V předchozí části seriálu o historii vývoje textových editorů a textových procesorů jsme se zabývali popisem vybraných programátorských textových editorů určených pro operační systém DOS (tedy MS-DOS, DR-DOS, IBM DOS, později též FreeDOS) a platformu IBM PC. Kromě samostatně dodávaných i samostatně pracujících textových editorů jsme se zmínili i o těch textových editorech, které byly součástí souborových manažerů (Norton Commander, Volkov Commander, DOS Navigator) a taktéž o některých editorech zabudovaných do rozsáhlejších integrovaných vývojových prostředí (vi pro Watcom C/C++, Turbo Pascal, Sphinx C– Workbench). Dnes budeme v popisu těchto „integrovaných“ editorů pokračovat, protože zejména IDE nabízená společností Borland se těšila velké popularitě (a to mj. i díky zajímavé cenové politice). Popíšeme si i některá další integrovaná vývojová prostředí, například Asm Lab (IDE určené pro programátory používající v assembleru mikroprocesorů Intel x86) či (ve třetí části) vývojové prostředí pojmenované RHIDE, v němž je zabudován programátorský textový editor nazvaný SETEDIT.

Obrázek 1: Textový editor dodávaný k souborovému manažeru Norton Commander.

V úvodní části dnešního článku se budeme zabývat některými textovými editory a integrovanými vývojovými prostředími určenými pro práci s BASICem, což byl v době rozvoje platformy IBM PC jeden z nejpopulárnějších programovacích jazyků. Nejprve se zmíníme o interpretru BASICu, jenž byl dodáván přímo s originálními mikropočítači IBM PC, i když mnoho uživatelů se s tímto interpretrem pravděpodobně nikdy nesetkalo (pouze ti, kteří vlastnili originální PC od firmy IBM, protože do klonů se tento interpret nedostal). Vzhledem k tomu, že počítače IBM PC začaly být zákazníkům, především firmám, nabízeny již v roce 1981, tj. v dobách kralování osmibitových domácích mikropočítačů, byly i první modely IBM PC vybaveny, podobně jako naprostá většina osmibitových počítačů, interpretrem programovacího jazyka BASIC uloženého v paměti ROM; nebylo tedy ani zapotřebí používat externí paměťová média. Dále se zmíníme o výkonnějších interpretech i překladačích BASICu dodávaných na disketách (a nikoli přímo v ROM). Takových produktů existovala celá řada (o distribuci se po určitou dobu starala dokonce i společnost Borland, která je známá spíše svými překladači Pascalu a C/C++).

Obrázek 2: Editace programu v assembleru v interním editoru DOS Navigatoru.

2. Původní IBM Cassette BASIC

Již v úvodní kapitole jsme si řekli, že původní interpret BASICu pro osobní mikropočítače IBM PC byl uložen v ROM. Na originálním IBM PC byla kapacita ROM rovna 40 kB, přičemž BASIC z této kapacity využíval pouze 8 kB a zbylých 32 kB sloužilo pro uložení BIOSu (v dalších modelech IBM PC se kapacita ROM kvůli podpoře většího množství zařízení zvyšovala, typicky na hodnotu 64 kB). Interpret BASICu uložený v ROM se spouštěl snadno – v případě, že počítač po svém zapnutí nenašel v disketové jednotce disketu s operačním systémem (podpora pro pevné disky byla zavedena až s modelem PC XT v roce 1983), spustil se automaticky interpret BASICu.

Obrázek 3: Fotografie obrazovky osobního mikropočítače IBM PC se spuštěným interpretrem BASICu, v němž je napsán velmi jednoduchý program.

Dialekt programovacího jazyka BASIC uložený v paměťovém modulu ROM se sice nazýval IBM Cassette BASIC (i když se na obrazovce ohlašoval nápisem „IBM Personal Computer Basic“), ve skutečnosti se však jednalo o interpret BASICu vytvořený firmou Microsoft, která ho licencovala firmě IBM jako jeden z vůbec prvních softwarových produktů pro počítače PC. Poté následoval operační systém MS-DOS, ale o této poměrně historické události si však řekneme více podrobností v jiném seriálu. Při převodu BASICu na počítače IBM PC použila firma Microsoft svůj BASIC určený původně pro operační systém CP/M.

Obrázek 4: Interpret IBM Cassette BASICu spuštěný v emulátoru mikropočítače IBM PC. Při spuštění emulátoru byl použit obraz originálních paměťových modulů (ROM) firmy IBM. Je zde vidět i řádek s nápovědou k funkčním klávesám. Samotný editor byl poměrně jednoduchý a podporoval pouze základní operace; dokonce ani vyhledávání ve zdrojovém kódu nebylo nijak komfortní.

Název IBM Cassette BASIC byl odvozen od v té době používaného způsobu ukládání programů na magnetofonovou kazetu – skutečně, původní IBM PC podporovalo záznam dat na toto dnes již překonané paměťové médium, v pozdějších modelech však tato „vlastnost“ přestala být podporována, naopak byla přidána podpora pro práci s pevnými disky. Na tomto místě je vhodné poznamenat, že BASIC v ROM obsahovaly pouze originální počítače IBM PC, zatímco jejich klony v případě, že nebyla nalezena disketa s operačním systémem pouze suše zobrazily chybovou zprávu: NO ROM BASIC, system halted. Současné verze BIOSu již většinou v tomto případě (tj. když žádné datové médium se systémem nebylo nalezeno) vypisují odlišné chybové zprávy. Z technického hlediska nebyl IBM Cassette BASIC nijak odlišný od většiny interpretrů BASICu používaných na osmibitových mikropočítačích – programy se zapisovaly s čísly řádků, programové smyčky se realizovaly buď pomocí dvojice příkazů FOR-NEXT nebo s využitím příkazu GOTO, každý zapisovaný řádek byl před uložením do operační paměti tokenizován atd.

Obrázek 5: Ty BIOSy, které nepochází přímo od společnosti IBM, vypisují v případě absence operačního systému na datových médiích jiné hlášení než originální BIOS firmy IBM. Například AWARD BIOS vypisuje (vypisoval?) hlášení „DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS ENTER.“

3. GW-BASIC

Zatímco IBM Cassette BASIC byl používán pouze na originálních modelech osobních mikropočítačů IBM PC, další dialekt programovacího jazyka BASIC, který si v dnešním článku ve stručnosti popíšeme, již byl dostupný všem uživatelům, protože měl formu běžné (spustitelné) aplikace určené pro operační systém MS-DOS. Jedná se o GW-BASIC vytvořený opět firmou Microsoft. Vývoj tohoto programovacího jazyka a taktéž standardizaci jeho příkazů napříč několika operačními systémy a platformami vedl Greg Whitten, který do firmy Microsoft nastoupil již v roce 1979 a měl tak velmi nízké číslo zaměstnance (sám uvádí, že pokud si dobře pamatuje, měl číslo 16).

Obrázek 6: Úvodní obrazovka GW-BASICu po jeho spuštění v emulátoru osobního mikropočítače PC (zde se konkrétně jedná o DOSBOX). Povšimněte si prakticky stejného vzhledu tohoto IDE v porovnání se screenshotem číslo 4, na němž je IBM Cassette BASIC. I vlastnosti interního programátorského textového procesoru zůstaly zachovány.

Název tohoto programovacího jazyka zvolil sám Bill Gates, přičemž písmena „GW“ oficiálně znamenaly zkratku dvousloví „Gee-Whiz“, pravděpodobně se však původně jednalo o iniciály výše zmíněného Grega Whittena. GW-BASIC se stal mezi uživateli počítačů IBM PC (především v dobách PC XT) velmi populární, i když se jednalo o dialekt, který nijak zvlášť neodlišoval od dialektů BASICu dostupných na osmibitových mikropočítačích – dokonce bylo možné používat pouze jeden segment paměti, tj. 64 kB, i když samotný MS-DOS dokázal obsloužit 640 kB, resp. 1 MB pokud započítáme i oblast BIOSu a grafické paměti.

Obrázek 7: Jednoduchý program napsaný v prostředí GW-BASICu. Povšimněte si klávesových zkratek zobrazených v dolní části obrazovky. Jedná se o příkazy, které byly do (celoobrazovkového) editoru vypsány po stlačení jedné z funkčních kláves F1 až F10 (PC XT mělo odlišnou klávesnici než dnes, takže neobsahovalo klávesy F11 a F12, navíc byly funkční klávesy umístěny do samostatného bloku nalevo od hlavního alfanumerického bloku).

Obrázek 8: Program spuštěný (interpretovaný) běžným způsobem, na obrazovku vypisuje pouze svůj výstup – sekvenci čísel 1 až 10.

Obrázek 9: Běh programu po zadání příkazu TRON (Trace On). Opakem je příkaz TROFF (Trace Off)

4. GFA BASIC

Dalším dialektem programovacího jazyka BASIC, který mohli zdatnější uživatelé nebo i profesionální programátoři v dobách MS-DOSu používat, byl GFA BASIC. Jedná se o jazyk, jehož příkazy, procedury a funkce (jichž je dohromady cca 500!) jsou plně kompatibilní s GFA BASICem používaným na osobních počítačích Amiga a Atari ST, což bylo samozřejmě výhodné, protože bylo možné (i když ne zcela bez obtíží) přenášet zdrojové kódy aplikací mezi různými platformami, později dokonce i na Windows 3.1. GFA BASIC programátorům nabídl, pravděpodobně jako vůbec první vývojové prostředí určené pro operační systém MS-DOS, možnost využití grafického uživatelského rozhraní v jejich programech a dokonce i příkazy, pomocí nichž bylo možné uchovávat data v paměti EMS, což spolu s podporou práce s celou konvenční pamětí (640 kB) umožnilo tvořit i velmi rozsáhlé aplikace („rozsáhlé“ je zapotřebí chápat v kontextu doby) popř. aplikace, jejichž datové struktury přesahovaly velikost jednoho segmentu (64 kB) – ostatně je zajímavé, že například QBasic popsaný v dalších kapitolách, stále uživatelům kladl omezení dané segmentováním paměti.

Obrázek 10: Vývojové prostředí GFA BASICu ve verzi pro operační systém MS-DOS a osobní mikropočítače IBM PC (šedý čtvereček uprostřed obrazovky představuje kurzor myši).

Aplikační balík s GFA BASICem obsahoval vývojové prostředí s plnohodnotným programátorským textovým editorem, interpretr jazyka, jeho překladač a taktéž poměrně velké množství demonstračních programů, na nichž byly ukázány jak vlastnosti samotného jazyka, tak i možnosti již zmíněných 500 procedur a funkcí (takzvaný kernel). V textovém editoru bylo možné provádět folding procedur a funkcí – jedná se o zabalení celé procedury/funkce tak, že na obrazovce zabírá pouze jediný textový řádek. Tato velmi užitečná vlastnost se ovládá klávesovými zkratkami ALT+Q a ALT+W (folding je dnes zcela běžnou součástí textových editorů i vývojových prostředí, ovšem v dobách GFA BASICu se jednalo o poměrně novou vlastnost).

Obrázek 11: GFA BASIC: dialog pro otevření souboru se zdrojovým textem programu.

Další ze zajímavých možností zabudovaného programátorského editoru spočívala v možnosti zkráceného zápisu příkazů pomocí jednopísmenných zkratek. Po zápisu celého programového řádku se příkazy expandovaly (editor správně rozpoznal, kde se jedná o názvy proměnných a kde o zkrácené příkazy) a posléze došlo ke kontrole syntaxe takto automaticky expandovaného řádku. Například programový řádek obsahující začátek počítané programové smyčky FOR ve tvaru:

FOR i=x TO y STEP z NEXT i

bylo možné zapsat následovně:

f i x y z n i

Obrázek 12: Načtený zdrojový kód programu.

Obrázek 13: Editace složitějšího programu obsahujícího strukturované smyčky.

Obrázek 14: Nastavení parametrů překladu BASICových programů do strojového kódu.

5. Turbo Basic distribuovaný společností Borland

Dalším integrovaným vývojovým prostředím s vlastním programátorským textovým editorem, jehož základ tvoří programovací jazyk BASIC, je prostředí firmy Borland známé pod názvem Turbo Basic. Podle pojmenování tohoto produktu by se mohlo zdát, že se jedná o vývojové prostředí vizuálně totožné s dalšími „turbo“ produkty firmy Borland, především s dále zmíněnými IDE Turbo Pascal a Turbo C++. Ve skutečnosti je však Turbo Basic založen na starší technologii, nikoli na známých (a taktéž patentovaných, což je poněkud zvláštní) oknech stylu „Turbo Vision“ s modrým pozadím.

Obrázek 15: Úvodní obrazovka Turbo Basicu.

Turbo Basic byl vyvíjen v letech 1987 až 1988, ovšem, na rozdíl od již zmíněného Turbo Pascalu a Turbo C++, byl posléze jeho vývoj zastaven, podobně jako tomu bylo u některých dalších programovacích jazyků, jejichž vývojové prostředí bylo vyvíjeno pod hlavičkou firmy Borland (Turbo Prolog apod.). Původní autor Turbo Basicu však dodnes tento programovací jazyk vyvíjí (původně pro platformu MS-DOS, dnes zejména pro MS Windows) a dokonce ho i prodává pod názvem PowerBASIC – viz též http://www.powerbasic.com/. Zajímavé je, že okolo PowerBASICu vznikla poměrně malá a uzavřená komunita vývojářů, kteří tedy prostředek stále používají.

Obrázek 16: Program obsahující strukturovaně zapsané programové smyčky otevřený ve vývojovém prostředí Turbo Basicu.

Ze syntaktického a sémantického hlediska se Turbo Basic podobá například GFA BASICu či dále popsanému QBasicu či Quick Basicu – podporovány jsou uživatelské datové typy, univerzální strukturované smyčky DO-LOOP s podmínkami WHILE a UNTIL uváděnými na začátku či na konci smyčky a taktéž byla zajištěna zpětná kompatibilita s těmi programy, které byly psány starým („klasickým“) způsobem, tj. s využitím očíslovaných programových řádků a příkazů GOTO, ON GOTO, GOSUB, ON GOSUB atd.

Obrázek 17: Zde je naopak zobrazený kód programu, jenž stále využívá číslované programové řádky.

Turbo Basic taktéž obsahoval překladač a přímo ve vývojovém prostředí bylo možné program odladit – krokovat, vypisovat obsahy proměnných při běhu programu atd. I přes tyto možnosti se však Turbo Basic neprosadil tak, jako jiné překladače BASICu a i z tohoto důvodu firma Borland upustila od jeho dalšího vývoje a soustředila se na mnohem úspěšnější Turbo Pascal a Turbo C++.

Obrázek 18: Nastavení parametrů integrovaného vývojového prostředí Turbo Basicu.

6. QBasic

Jedním z nejznámějších a pravděpodobně i nejpoužívanějších dialektů programovacího jazyka BASIC na osobních počítačích kompatibilních s IBM PC je bezesporu QBasic firmy Microsoft, která tento BASIC začala dodávat společně s MS DOSem 5.0 a později byl dostupný například i pro operační systémy Windows 95 a jako jedna z přídavných utilit i pro Windows NT. Jedná se o interpret BASICu, což znamená, že programy se nepřekládaly do strojového kódu, ale „pouze“ byly prováděny interpretrem, se všemi přednostmi a zápory tohoto řešení. Mezi přednosti patřilo především to, že QBasic po svém spuštění prakticky nepotřeboval přistupovat k paměťovému zařízení (disketové jednotce, pevnému disku), což mělo velký význam především tehdy, pokud byl počítač vybaven pomalejším pevným diskem (doba PC AT a disků s kapacitami typicky 20 MB, 40 MB a 80 MB). Taktéž spuštění či znovuspuštění programu bylo takřka okamžité, protože odpadl čas potřebný pro překlad zdrojového textu do strojového kódu mikroprocesoru.

Obrázek 19: Úvodní zpráva zobrazená po spuštění QBasicu.

Na druhou stranu bylo provádění programů nepoměrně pomalejší, než kdyby došlo k jejich překladu před spuštěním, takže se zde opět ukázal klasický rozpor mezi interpretry a překladači. QBasic taktéž programátorům kladl některá omezení, která vyplývala například z toho, že interpret běžel, ostatně jako celý MS DOS, v reálném (popř. virtuálním) režimu mikroprocesoru 80×86, což mj. znamenalo, že operační paměť byla rozdělena na segmenty o velikosti 64 kB. Právě kvůli segmentování paměti byla omezena například velikost polí, maximální délka řetězců ale i celková velikost všech globálních proměnných. Posledním záporem QBasicu byl nedostatečný rozsah základních knihoven dodávaných k tomuto jazyku (například v porovnání s tehdy velmi populárním Turbo Pascalem nebo výše zmíněným GFA BASICem). QBasic nabízel základní operace pro práci se soubory, grafickými režimy dostupnými přes BIOS (ovšem nikoli režimy VESA) a taktéž procedury pro ovládání PC Speakeru (reproduktoru zapojeného na jednobitový výstup obvodu 8253).

Obrázek 20: Ve vývojovém prostředí QBasicu je zabudované i okno s nápovědou.

Prakticky žádné další procedury ani funkce nebyly ve standardní knihovně dostupné, takže se není čemu divit, že se postupně začaly objevovat například sady procedur pro práci s myší, ovládání pamětí EMS a XMS, knihovny pro tvorbu uživatelského rozhraní v textovém režimu podobné Turbo Vision atd. Nicméně QBasic měl kromě svých záporů i mnoho předností. První a možná i nejdůležitější předností tohoto jazyka bylo to, že byl nainstalován prakticky na jakémkoli počítači s MS DOSem 5.0 či některém pozdějším operačním systému firmy Microsoft, včetně již zmíněných Windows NT. To s sebou přinášelo poměrně mnoho výhod, protože bylo možné distribuovat programy přímo ve zdrojovém kódu s poměrně velkou jistotou, že je cíloví uživatelé budou moci spustit. Společně s QBasicem bylo dodáváno i několik programů, z nichž nejpopulárnější byly hry Gorillas (jednodušší variace na známé hry Tank Wars či Scorched Earth) a Nibbles (starodávná hra, která byla později zpopularizovaná podobnou hrou určenou pro mobilní telefony Nokia). Právě díky přítomnosti QBasicu na prakticky každém počítači s MS DOSem či Windows bylo možné tyto hry spouštět i na těch počítačích o nichž jejich uživatelé/administrátoři tvrdili, že na nich žádné hry nebyly a nejsou (kanceláře, školy :-)

Obrázek 21: Hra Gorily spuštěná pomocí interpretru QBasicu.

Další předností QBasicu bylo jednoduše ovladatelné a snadno použitelné vývojové prostředí (některé chyby byly odhaleny již po přechodu na předchozí či následující textový řádek, programy bylo možné krokovat atd.). Poslední kladnou vlastností QBasicu byla jeho syntaxe a sémantika, která byla již v prakticky všech ohledech odlišná od původních BASICů „staré školy“. To mj. znamenalo, že v QBasicu se programy zapisovaly strukturovaně, tj. bez nutnosti používat čísla řádků a s nimi souvisejícího příkazu GOTO, který však zůstal kvůli zpětné kompatibilitě zachován. Dále byly podporovány funkce a procedury s parametry a lokálními proměnnými (navíc se zdrojové kódy funkcí editovaly odděleně, takže nedošlo k jejich nechtěnému promíchání) a všechny proměnné i parametry mohly mít přidělen datový typ. Výsledné programy se tedy svojí strukturou podobaly spíše programům zapisovaným v Pascalu nežli programům v klasickém BASICu (totéž ostatně platí pro GFA BASIC).

Obrázek 22: Editor s otevřeným programem pro výpočet Mandelbrotovy množiny.

Pro ilustraci způsobu zápisu programů následuje ukázka jednoduché aplikace pro výpočet Mandelbrotovy množiny, která byla odladěna v QBasicu (povšimněte si určování typu proměnných pomocí speciálního znaku umístěného za jejich jménem):

SCREEN 13
cy! = -1.5
FOR j% = 0 TO 199
    cx! = -2.5
    FOR i% = 0 TO 319
        iter% = 0
        zx! = 0: zy! = 0
        zx2! = 0: zy2! = 0
        DO
            zx2! = zx! * zx!
            zy2! = zy! * zy!
            zy! = 2! * zx! * zy! + cy!
            zx! = zx2! - zy2! + cx!
            iter% = iter% + 1
        LOOP WHILE iter% < 100 AND zx2! + zy2! < 4!
        PSET (i%, j%), iter%
        cx! = cx! + 4! / 320
    NEXT i%
    cy! = cy! + 3! / 200
NEXT j%

Obrázek 23: Výsledek běhu demonstračního příkladu.

7. Asm Lab

Další integrované vývojové prostředí vybavené vlastním programátorským textovým editorem, se jmenuje Asm Lab. Jak již název tohoto IDE napovídá, byl tento nástroj určen pro programátory, kteří pracovali s assemblerem mikroprocesorů řady Intel x86. Úkolem Asm Labu bylo zpříjemnit tvorbu programů v assembleru a navíc vývojářům nabídnout různé doplňkové nástroje, například kalkulátor pro převod mezi různými číselnými soustavami, obligátní ASCII tabulku atd. Asm Lab bylo založeno na knihovně TurboVision, takže vlastně není překvapivé, že se jeho vzhled podobal dalším aplikacím s textovým uživatelským rozhraním, včetně dále popsaných integrovaných vývojových prostředí společnosti Borland. Editor, který používal mnoho zkratek kompatibilních s produkty Borlandu, byl propojen s dalšími moduly Asm Labu, takže uživatelé mohli například jednoduše přecházet mezi různými procedurami atd. Na klávesové zkratky byl napojen taktéž vlastní assembler (zde je míněn nástroj určený pro překlad do strojového kódu, nikoli jazyk).

Obrázek 24: Úvodní obrazovka integrovaného vývojového prostředí ASM Lab.

Velmi důležitou součástí Asm Labu byla nápověda, která obsahovala mj. i podrobný popis všech instrukcí mikroprocesorů řady Intel x86. U každé instrukce byla popsána její funkce, dostupné adresovací režimy, počet bajtů nutných pro uložení instrukce (a samozřejmě i operandů) do operační paměti a taktéž počet cyklů nutných pro provedení instrukce u různých variant mikroprocesorů.

Obrázek 25: Programátorský editor integrovaný do Asm Labu.

Obrázek 26: Přímo z Asm Labu je možné spustit i programátorskou kalkulačku.

Obrázek 27: Podrobná nápověda k instrukci SAL (SHL).

8. Turbo Pascal

Turbo Pascal 3: „The fastest Pascal development environment on the planet. Period.“

Překladače programovacího jazyka Pascal se začaly poměrně masivně rozšiřovat na různé typy počítačů již během první poloviny sedmdesátých let minulého století. Jednalo se většinou o implementace určené pro sálové počítače a minipočítače. Později, konkrétně v osmdesátých letech minulého století, vznikly překladače Pascalu pro většinu domácích osmibitových mikropočítačů a taktéž osobních mikropočítačů. Pravděpodobně nejznámějším z těchto překladačů byl Turbo Pascal společnosti Borland určený původně pro osmibitové mikropočítače s operačním systémem CP/M. V tuzemských podmínkách byly překladače tohoto programovacího jazyka dostupné například na počítačích JSEP (Jednotný systém elektronických počítačů) používaných na některých vysokých školách, dále na počítačích ADT a taktéž na prakticky všech československých osmibitových mikropočítačích, především na PMD-85 a taktéž na IQ-151, kde mohl být editor a překladač Pascalu použit v rámci operačního systému AMOS.

pc104

Obrázek 28: Hlavní menu editoru a překladače programovacího jazyka PASCAL na československém osmibitovém mikropočítači PMD-85.

Později byl Pascal implementován firmou Borland na osobních počítačích PC a právě zde se dočkal pravděpodobně svého největšího rozšíření. Produkty Turbo Pascal a Borland Pascal byly na těchto počítačích oblíbené zejména z toho důvodu, že obsahovaly integrované vývojové prostředí s editorem, překladačem i debuggerem a v pozdějších verzích i s integrovanou kontextovou nápovědou. Překlad byl navíc tak rychlý (především při překladu pouze do operační paměti, nikoli při zápisu výsledného spustitelného .EXE souboru na disk), že se Turbo Pascal dal používat prakticky stejným způsobem jako interpretované programovací jazyky, zejména v té době stále oblíbený a rozšířený Basic. Na tomto místě je možná vhodné zmínit historku o tom, jak Bill Gates osobně velmi nelibě nesl, že Turbo Pascal má tak rychlý překladač, protože Microsoft nebyl schopný v té době přijít s produktem, který by byl podobně rychlý a současně nenáročný na systémové prostředky jako Turbo Pascal. Gatesova frustrace patrně vycházela i z toho, že sám začínal jako vývojář programovacích jazyků (MBasic, AppleSoft Basic) určených původně pro osmibitové mikropočítače.

Obrázek 29: Hlavní menu vývojového prostředí Turbo Pascalu 1.0. Z tohoto menu se vyvolávaly jednotlivé moduly integrovaného vývojového prostředí. Teprve později došlo k úplnému sjednocení jednotlivých částí a hlavní obrazovkou se stal samotný programátorský editor.

Zajímavá fakta o Turbo Pascalu 1.0:

  • Byl provozovatelný na počítačích s mikroprocesorem Intel 8088, Intel 8086 (DOS) nebo Zilog Z-80 (CP/M)
  • Vyžadoval pouze 64 kB operační paměti
  • Dodáván byl na disketě, na níž bylo obsazeno pouze 130 kB
  • Disketa obsahovala pouze deset souborů, viz následující tabulka:
Soubor Význam
TURBO.COM compiler and editor
TURBOMSG.OVR error messages file
TINST.COM development environment installation program
TINSTMSG.OVR message file for TINST program
TLIST.COM program lister
ERROR.DOC addendum to the Turbo Reference Manual
CALC.PAS MicroCalc (spread sheet demo program)
CALCMAIN.PAS Root demo program demonstrating include file usage
CALC.HLP On-line manual for MicroCalc
CALCDEMO.MCS Example spread sheet definition

Obrázek 30: Disketa určená pro počítače IBM PC popř. pro jejich klony, která obsahuje Turbo Pascal verze 1.0.

Obrázek 31: Dialog se základními informacemi o IDE Turbo Pascal 7.0.

Obrázek 32: Mezi autory Turbo Pascalu nalezneme i Anderse Hejlsberga.

Obrázek 31: Integrovaný programátorský editor.

Obrázek 32: Nastavení překladače.

Obrázek 33: Informace o přeloženém programu.

9. Borland Pascal

Produkt Borland Pascal je vylepšenou „profesionální“ (a tím pádem i dražší) variantou mladších verzí Turbo Pascalu, i když se ve skutečnosti i Turbo Pascal používal pro tvorbu profesionálních aplikací. Borland Pascal umožňoval využití šestnáctibitového chráněného režimu (protected mode), překlad programů pro 16bitová Windows, nabízel k dispozici větší množství nástrojů i knihoven a taktéž zdrojové kódy těchto knihoven. I samotné vývojové prostředí používalo šestnáctibitový chráněný režim (ten byl pro prostředí Borlandu typický, teprve později se postupně přešlo na plně 32bitový chráněný režim), takže dokázalo pracovat i s většími projekty, interní editor dokázal otevřít větší množství oken s rozsáhlejšími soubory apod. Z pohledu uživatelského rozhraní (TUI) si byla všechna integrovaná vývojová prostředí firmy Borland velmi podobná, což lze samozřejmě považovat za velkou výhodu – pro mnoho vývojářů nepředstavoval přechod z Turbo Pascalu na Borland Pascal prakticky žádný problém. Prostředí Borland Pascal 7.0 lze i z tohoto důvodu považovat za vyvrcholení klasických komerčních IDE s textovým uživatelským rozhraním v DOSu.

Obrázek 33: Dialog se základními informacemi o IDE Borland Pascal 7.0.

Obrázek 34: Podporován byl reálný i chráněný režim procesorů Intel.

Obrázek 35: Informace o přeloženém programu.

widgety

Obrázek 36: Nastavení breakpointů přímo v textovém editoru.

Obrázek 37: Dialog pro vyhledávání a nahrazování.

10. Odkazy na Internetu

  1. GWBASIC User's Manual
    http://www.antonis.de/qbe­books/gwbasman/index2.html
  2. GFA-BASIC
    http://sites.google.com/si­te/gfabasic16/
  3. The Original BASIC
    http://www.truebasic.com/
  4. BASIC – Beginners All-purpose Symbolic Instruction Code
    http://hopl.murdoch.edu.au­/showlanguage.prx?exp=176
  5. QBasicJedi
    http://www.freewebs.com/qbasicjedi/
  6. QBasic/QuickBasic Downloads
    http://www.freewebs.com/qba­sicjedi/qbdownloads.html
  7. QuickBASIC (Wikipedia CZ)
    http://cs.wikipedia.org/wi­ki/QuickBASIC
  8. QBasic.com
    http://www.qbasic.com/
  9. QBasic (Wikipedia)
    http://cs.wikipedia.org/wiki/QBasic
  10. Dialling with QBASIC
    http://www.mysundial.ca/tsp/qba­sic.html
  11. Turbo BASIC (Wikipedia CZ)
    http://cs.wikipedia.org/wi­ki/Turbo_BASIC
  12. More BASIC Computer Games
    http://www.atariarchives.or­g/morebasicgames/
  13. E-mail od tvůrce GW-Basicu
    http://www.classiccmp.org/pi­permail/cctech/2005-April/042999.html
  14. C–
    http://www.goosee.com/cmm/
  15. C– Documentation
    http://www.goosee.com/cmm/c–doc.htm
  16. C– na OS Dev wiki
    http://wiki.osdev.org/C–
  17. MacWrite
    http://web.archive.org/web/20061016011720/htt­p://www.mac512.com/macwri­te.htm
  18. ATARI'S FIRST-RATE „FREEWARE“
    http://www.atarimagazines­.com/v5n2/Freeware.html
  19. GEM 1st Word Plus
    http://www.computinghisto­ry.org.uk/det/9833/GEM-1st-Word-Plus/
  20. 1st Word Plus (Wikipedia)
    https://en.wikipedia.org/wi­ki/1st_Word/1st_Word_Plus
  21. Atari ST
    http://en.wikipedia.org/wiki/Atari_st
  22. Atari Museum
    http://www.atarimuseum.com/
  23. Atari ST and TT
    http://www.atarimuseum.com/com­puters/16BITS/a1632bit.html
  24. The ST Computer Line
    http://www.atarimuseum.com/com­puters/16bits/stmenu/ataris­t.htm
  25. Atari MEGA STE
    http://en.wikipedia.org/wi­ki/Atari_MEGA_STE
  26. Blitter
    http://en.wikipedia.org/wiki/Blitter
  27. S Pragotextem je aspoň sranda (Martin Maniš)
    http://www.lege.cz/archiv/man010.htm
  28. Dva MATy aneb recenze jako roláž
    http://www.lege.cz/archiv/man029.htm
  29. Poněkud drahá konverzní utilita
    http://www.lege.cz/archiv/man002.htm
  30. Charles Simonyi
    http://en.wikipedia.org/wi­ki/Charles_Simonyi
  31. Rowland Hanson
    https://en.wikipedia.org/wi­ki/Rowland_Hanson
  32. Robert Metcalfe Twitter
    http://twitter.com/BobMetcalfe
  33. Robert Metcalfe (Wikipedia)
    http://en.wikipedia.org/wi­ki/Robert_Metcalfe
  34. Microsoft Has Lost Its Way, Part 1
    http://www.oddlytogether.com/pos­t/482689886/microsoft-has-lost-its-way-part-1
  35. We look at the word-processing software's history
    http://www.pcadvisor.co.uk/new­s/index.cfm?newsid=106226
  36. Microsoft Word
    http://en.wikipedia.org/wi­ki/Microsoft_Word
  37. MS Word 5.5 for DOS download
    http://download.microsoft­.com/download/word97win/Wd55_be/97/WIN98/­EN-US/Wd55_ben.exe
  38. Microsoft Word for DOS – Today's Free File
    http://downloadsquad.swit­ched.com/2005/11/25/free-file/
  39. MacWrite (Wikipedia)
    https://en.wikipedia.org/wi­ki/MacWrite
  40. Nota Bene
    http://www.notabene.com/
  41. What is xyWrite?
    http://yesss.freeshell.or­g/x/_xywhat.htm
  42. the Xy files
    http://www.salon.com/21st/fe­ature/1998/08/25feature.html/
  43. Xywrite.com
    http://www.xywrite.com/
  44. Whatever became of XyQuest?
    http://yesss.freeshell.org/x/_xyq.htm
  45. W.E.Pete Peterson – Almost Perfect
    http://www.wordplace.com/ap/
  46. Wang 1220
    http://www.wang1200.org/
  47. Wang Laboratories
    http://en.wikipedia.org/wi­ki/Wang_Labs
  48. Wang OIS Emulator
    http://www.cass.net/~jdonog­hu/oisemul.html
  49. Data General
    http://en.wikipedia.org/wi­ki/Data_General
  50. Data General Nova
    http://www.knowledgerush.com/kr/en­cyclopedia/Data_General_No­va/
  51. Orem, Utah
    http://en.wikipedia.org/wiki/Orem
  52. Apple II series
    http://en.wikipedia.org/wi­ki/Apple_II_series
  53. Apple III
    http://en.wikipedia.org/wi­ki/Apple_III
  54. Apple museum
    http://applemuseum.bott.org/
  55. Apple II
    http://applemuseum.bott.or­g/sections/computers/aII.html
  56. A Brief History of Word Processing
    http://www.stanford.edu/~bkunde/fb-press/articles/wdprhist.html
  57. XyWrite (Wikipedia)
    http://en.wikipedia.org/wiki/XyWrite
  58. File manager
    http://en.wikipedia.org/wi­ki/File_manager
  59. PathMinder
    http://en.wikipedia.org/wi­ki/PathMinder
  60. Orthodox File Managers
    http://www.softpanorama.or­g/OFM/index.shtml
  61. Hřích mládí: Textový editor PragoText
    http://www.svobodat.com/pra­gotext/index.html
  62. VisiCalc Executable for the IBM PC
    http://www.bricklin.com/his­tory/vcexecutable.htm
  63. Support/peripheral/other chips – 6800 family
    http://www.cpu-world.com/Support/6800.html
  64. Motorola 6845
    http://en.wikipedia.org/wi­ki/Motorola_6845
  65. The 6845 Cathode Ray Tube Controller (CRTC)
    http://www.tinyvga.com/6845
  66. IBM Monochrome Display Adapter
    http://en.wikipedia.org/wi­ki/Monochrome_Display_Adap­ter
  67. Color Graphics Adapter
    http://en.wikipedia.org/wi­ki/Color_Graphics_Adapter
  68. Wikipedia CZ: Sběrnice:
    http://cs.wikipedia.org/wi­ki/Sb%C4%9Brnice
  69. Wikipedia EN: Industry Standard Architecture:
    http://en.wikipedia.org/wi­ki/Industry_Standard_Archi­tecture
  70. Microsoft Windows 1.03 and other tools, 1985
    http://www.digibarn.com/co­llections/software/microsof­t/windows10/page01.htm
  71. Windows 1.0 and the Applications of Tomorrow
    http://www.charlespetzold­.com/etc/Windows1/index.html
  72. Visi On (Wikipedia)
    http://en.wikipedia.org/wiki/Visi_On
  73. VisiCorp's VisiOn Graphical User Interface System for IBM and compatible PCs
    http://www.digibarn.com/co­llections/software/VisiOn/in­dex.html
  74. Obrazem: Operační systémy od roku 1981
    http://digitalne.centrum.cz/obrazem-operacni-systemy-od-roku-1981/diskuze/undefined/un­defined/?pid=6150
  75. VisiCorp Visi On
    http://toastytech.com/guis/vi­sion.html
  76. A Guided Tour of Visi On
    http://www.guidebookgalle­ry.org/articles/aguidedtou­rofvision
  77. A Brief History of Computing
    http://trillian.randomstuf­f.org.uk/~stephen/history/8086­.html
  78. Intel 8086
    http://en.wikipedia.org/wi­ki/Intel_8086
  79. Graphical user interface (Wikipedia)
    http://en.wikipedia.org/wi­ki/Graphical_user_interfa­ce
  80. The Real History of the GUI
    http://articles.sitepoint­.com/article/real-history-gui
  81. History of the graphical user interface
    http://en.wikipedia.org/wi­ki/History_of_the_graphical_u­ser_interface
  82. Mainframe Museum ‚Where we started‘
    http://www.techsystemsps.com/Mainframe-Museum.htm
  83. IBM Mainframe album
    http://www-03.ibm.com/ibm/history/ex­hibits/mainframe/mainframe_al­bum.html
  84. Mainframe computer
    http://en.wikipedia.org/wi­ki/Mainframe_computer
  85. IBM mainframe
    http://en.wikipedia.org/wi­ki/IBM_mainframe
  86. IBM 700/7000 series
    http://en.wikipedia.org/wi­ki/IBM700/7000_series
  87. IBM System/360
    http://en.wikipedia.org/wi­ki/IBM_System/360
  88. IBM System/370
    http://en.wikipedia.org/wi­ki/IBM_System/370
  89. Datamatic 1000 by DATAmatic Corporation (1955)
    http://www.computermuseum­.li/Testpage/Datamatic-1000.html
  90. Wang 1200
    http://www.wang1200.org/
  91. Wang Laboratories
    http://en.wikipedia.org/wi­ki/Wang_Labs
  92. Wang OIS Emulator
    http://www.cass.net/~jdonog­hu/oisemul.html
  93. SpeedScript 3.2 for the Commodore 64
    http://www.atarimagazines­.com/compute/gazette/198705-speedscript.html
  94. It may be time to put XyWrite out to pasture
    http://www.startribune.com/bu­siness/57780787.html
  95. WordPerfect
    http://texteditors.org/cgi-bin/wiki.pl?WordPerfect
  96. XyPro
    http://yesss.freeshell.or­g/x/_xypro.html
  97. XEDIT na TextEditors.org
    http://texteditors.org/cgi-bin/wiki.pl?XEDIT
  98. XEDIT pro Windows (klon)
    http://digilander.libero.it/am­busy/computer.html
  99. XEDIT commands
    http://digilander.libero.it/am­busy/PcXeditHlp.html
  100. XEDIT User's Guide
    http://www-05.ibm.com/e-business/linkweb/publicati­ons/servlet/pbi.wss?SSN=15IT­R0004123323009&PAG=X03&SEL­PBL=SC24–5972–00&REF=DLD#
  101. 3270 Data Stream Programming
    http://www.tommysprinkle.com/mvs/P3270/
  102. IBM 3270
    https://en.wikipedia.org/wi­ki/IBM_3270
  103. Block-oriented terminal
    https://en.wikipedia.org/wiki/Block-oriented_terminal
  104. Klávesnice 3270
    http://www.seasip.info/Vin­tagePC/ibm_6110344.html
  105. Klávesnice IBM
    http://www.9999hp.net/keyboard/temp/
  106. REXX (Wikipedia)
    https://en.wikipedia.org/wiki/REXX
  107. Vladimir Zabrodsky REXX Page
    http://dhost.info/zabrodskyvlada/
  108. Rexx tutorials
    http://www.rexxinfo.org/html/rex­xinfo1.html
  109. A Quick Rexx Tutorial
    http://www.informit.com/ar­ticles/article.aspx?p=461086&seq­Num=1
  110. Emacs timeline
    http://www.jwz.org/doc/emacs-timeline.html
  111. EINE (Emacs Wiki)
    http://www.emacswiki.org/emacs/EINE
  112. EINE (Texteditors.org)
    http://texteditors.org/cgi-bin/wiki.pl?EINE
  113. ZWEI (Emacs Wiki)
    http://www.emacswiki.org/emacs/ZWEI
  114. ZWEI (Texteditors.org)
    http://texteditors.org/cgi-bin/wiki.pl?ZWEI
  115. Zmacs (Wikipedia)
    https://en.wikipedia.org/wiki/Zmacs
  116. Zmacs (Texteditors.org)
    http://texteditors.org/cgi-bin/wiki.pl?Zmacs
  117. TecoEmacs (Emacs Wiki)
    http://www.emacswiki.org/e­macs/TecoEmacs
  118. Micro Emacs
    http://www.emacswiki.org/e­macs/MicroEmacs
  119. Micro Emacs (Wikipedia)
    https://en.wikipedia.org/wi­ki/MicroEMACS
  120. EmacsHistory
    http://www.emacswiki.org/e­macs/EmacsHistory
  121. Seznam editorů s ovládáním podobným Emacsu či kompatibilních s příkazy Emacsu
    http://www.finseth.com/emacs.html
  122. George R. R. Martin writes with a DOS word processor
    http://www.cnet.com/news/george-r-r-martin-writes-with-a-dos-word-processor/#!
  123. Apple Writer
    http://apple2history.org/his­tory/ah18/#08
  124. COMPUTER PROGRAMMING by Paul Lutus
    http://www.atariarchives.or­g/deli/cottage_computer_pro­gramming.php
  125. Verze textového editoru D-Text
    http://wiki.oldcomp.cz/in­dex.php?title=Verze_texto­vého_editoru_D-Text
  126. The Writer (World of Spectrum)
    http://www.worldofspectrum­.org/infoseekid.cgi?id=0008989
  127. Tasword Two (World of Spectrum)
    http://www.worldofspectrum­.org/infoseekid.cgi?id=0008856
  128. SpeedScript source code
    http://www.atariarchives.or­g/speedscript/ch3.php
  129. SpeedScript 3.0: All Machine Language Word Processor For the Atari
    http://www.atariarchives.or­g/speedscript/ch1.php
  130. Čapek verze 3.1 (oskenovaný návod)
    http://www.atari8.cz/calp/da­ta/misc_cap/index.php
  131. Čížek V.3 (oskenovaný návod)
    http://www.atari8.cz/calp/da­ta/br_man_ciz/
  132. Editor O26 (příkazy)
    http://www.museumwaalsdor­p.nl/computer/comp789_o26­.html
  133. Editor O26 (stránka na texteditors.org)
    http://texteditors.org/cgi-bin/wiki.pl?O26
  134. Editor O26 (text editor, Wikipedia)
    https://en.wikipedia.org/wi­ki/O26_%28text_editor%29
  135. Textové editory pro mainframy
    http://texteditors.org/cgi-bin/wiki.pl?MainframeEditorFamily
  136. IDA
    http://texteditors.org/cgi-bin/wiki.pl?IDA_Editor
  137. qed
    http://texteditors.org/cgi-bin/wiki.pl?Qed
  138. qed (description)
    http://www.qef.com/html/to­olsdesc.html#qed
  139. Text editor (Wikipedia)
    https://en.wikipedia.org/wi­ki/Text_editor
  140. Line editor (Wikipedia)
    https://en.wikipedia.org/wi­ki/Line_editor
  141. The Vi Editor and its clones and programs with a vi like interface
    http://www.guckes.net/vi/
  142. www.vim.org: obsahuje verze Vimu i pro Amigu
    http://www.vim.org/
  143. Články o Vimu na Root.cz:
    http://www.root.cz/n/vim/clanky/
  144. Vim sedm – první část
    http://www.root.cz/clanky/vim-sedm-prvni-cast/
  145. vim2elvis (1.část)
    http://www.root.cz/clanky/vim2elvis-1/
  146. vim2elvis (2.část)
    http://www.root.cz/clanky/vim2elvis-2/
  147. History of the Text Editor
    http://vanstee.me/history-of-the-text-editor.html
  148. Interview with Bill Joy
    http://web.cecs.pdx.edu/~kir­kenda/joy84.html
  149. Hex Editors for Lin/unix
    http://blog.sourcepole.com/2006/09/07/hex-editors/
  150. bvi Home Page
    http://bvi.sourceforge.net/
  151. bvi (Wikipedia)
    https://en.wikipedia.org/wiki/Bvi
  152. vim (man page)
    http://www.linux-tutorial.info/modules.php?na­me=ManPage&sec=1&manpage=vim
  153. An incomplete history of the QED Text Editor
    http://ned.rubyforge.org/doc/qed.html
  154. QED Text Editor
    http://ned.rubyforge.org/doc/qed­man.html
Našli jste v článku chybu?
Vitalia.cz: dTest odhalil ten nejlepší kečup

dTest odhalil ten nejlepší kečup

Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

Vitalia.cz: Opuncie je plod kaktusu. Pozor na trny

Opuncie je plod kaktusu. Pozor na trny

DigiZone.cz: Parlamentní listy: kde končí PR...

Parlamentní listy: kde končí PR...

Vitalia.cz: Tahák, jak vyzrát nad zápachem z úst

Tahák, jak vyzrát nad zápachem z úst

Lupa.cz: Hackeři mají data z půlmiliardy účtů Yahoo

Hackeři mají data z půlmiliardy účtů Yahoo

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

DigiZone.cz: Světový pohár v přímém přenosu na ČT

Světový pohár v přímém přenosu na ČT

DigiZone.cz: Numan Two: rozhlasový přijímač s CD

Numan Two: rozhlasový přijímač s CD

DigiZone.cz: Nova opět stahuje „milionáře“

Nova opět stahuje „milionáře“

Podnikatel.cz: Byla finanční manažerka, teď cvičí jógu

Byla finanční manažerka, teď cvičí jógu

DigiZone.cz: Wimbledon na Nova Sport až do 2019

Wimbledon na Nova Sport až do 2019

120na80.cz: Hrbatá prsa aneb mýty o implantátech

Hrbatá prsa aneb mýty o implantátech

Vitalia.cz: Kterou dýni můžete jíst za syrova?

Kterou dýni můžete jíst za syrova?

Vitalia.cz: Inspekce našla nelegální sklad v SAPĚ. Zase

Inspekce našla nelegální sklad v SAPĚ. Zase

DigiZone.cz: Ginx TV: pořad o počítačových hráčích

Ginx TV: pořad o počítačových hráčích

Lupa.cz: Další Češi si nechali vložit do těla čip

Další Češi si nechali vložit do těla čip

Podnikatel.cz: EET pro e-shopy? Postavené na hlavu

EET pro e-shopy? Postavené na hlavu

Vitalia.cz: Když všichni seli řepku, on vsadil na dýně

Když všichni seli řepku, on vsadil na dýně

Vitalia.cz: Test dětských svačinek: Tyhle ne!

Test dětských svačinek: Tyhle ne!