Hlavní navigace

Historie vývoje textových editorů: XEDIT a programovací jazyk Rexx

22. 9. 2015
Doba čtení: 17 minut

Sdílet

Příznivci editorů z rodiny Emacs se velmi rádi pouští do slovních půtek s uživateli editorů Vi/Vim (a samozřejmě naopak). Tyto flame wars sice mohou představovat poměrně dobrou relaxaci, nicméně se přitom poněkud zapomíná na třetí legendární textový editor. Tím je XEDIT pocházející z dílen společnosti IBM.

Obsah

1. Historie vývoje textových editorů: XEDIT a programovací jazyk Rexx

2. Od hloupých terminálů k terminálům blokovým

3. Základní vlastnosti blokových terminálů IBM 3270

4. Datové oblasti na obrazovce terminálu

5. Textový editor XEDIT

6. Skriptovací jazyk Rexx

7. Moderní reinkarnace textového editoru XEDIT

8. THE: The Hessling Editor

9. Odkazy na Internetu

1. Historie vývoje textových editorů: XEDIT a programovací jazyk Rexx

V seriálu o historii vývoje textových editorů jsme se již zabývali oběma dominantními rodinami editorů, tj. jak rodinou editorů Emacs, tak i rodinou Vi/Vim, přičemž vznik obou těchto vývojových větví lze sledovat téměř až na začátek sedmdesátých let minulého století. Zatímco základy Emacsu je možné hledat v legendární AI Lab na MITu a na počítačích specializovaných pro použití programovacího jazyka LISP, textový editor Vi prošel dlouhým vývojem od prostých řádkových editorů až po celoobrazovkový editor Visual a jeho vývoj je do značné míry spojen s Unixem a taktéž s programovacím jazykem C. Nesmíme ovšem zapomenout na to, že v době, kdy obě zmíněné větve textových editorů vznikaly a pomalu se prosazovaly, existovala na světě jedna firma dominující jak hardwaru (mainframům a později i mikropočítačům) tak i softwaru (operační systémy, uživatelské programy pro velké korporace atd.). Tato firma se samozřejmě jmenuje IBM a mezi její velmi rozsáhlé portfolio patřily i textové editory, kterých v IBM v průběhu přibližně čtyřiceti let pravděpodobně vzniklo několik desítek. Některé z těchto aplikací se používaly pouze pro interní potřeby, další editory však byly nabízeny jako součást OS či dalších programů.

Obrázek 1: Typická klávesnice používaná u terminálů firmy IBM. Povšimněte si jak kurzorových kláves, tak i bloku funkčních kláves PF1 až PF24. Právě z toho důvodu, že terminály IBM měly jak kurzorové klávesy, tak i sadu funkčních kláves, nemusely se v textových editorech používat klávesové zkratky používající Ctrl či Alt (na ergonomii se příliš nedbalo).

Jmenujme například různé textové editory se čtyřpísmennými názvy (psanými kapitálkami): ICCF, LEXX, LPEX, STET, ISPF. V pozdější době, konkrétně v osmdesátých letech minulého století, firma IBM dodávala textové editory nazvané E, E2 a E3 (poslední zmíněný editor byl konkrétně součástí IBM DOSu). I Přes mnohé rozdíly najdeme mezi těmito editory společné vlastnosti, především použití kurzorových kláves (na rozdíl od Vi a Emacsu), funkčních kláves namísto kombinací Ctrl+ a Alt+ a zejména pak přítomnost příkazové řádky. Nesmíme ovšem zapomenout ani na nejslavnější a s velkou pravděpodobností nejoblíbenější textový editor firmy IBM vůbec. Tento editor se jmenuje XEDIT a jedná se o aplikaci natolik oblíbenou, že vzniklo hned několik komerčních i nekomerčních klonů XEDITu, například níže zmíněný editor THE neboli The Hessling Editor (jedním z důvodů, proč se XEDIT častěji nezmiňuje ve flamewars o textových editorech, může být i fakt, že jeho skalní uživatelé jsou starší programátoři, kteří se internetových diskusí příliš nezúčastní, protože vydělávají na svoji druhou jachtu :-). V případě editoru XEDIT se společnosti IBM velmi úspěšně podařilo sloučit tři zajímavé technologie: celoobrazovkový textový editor s příkazovým řádkem, blokový terminál a programovací jazyk Rexx, o němž se níže taktéž zmiňuji.

Obrázek 2: Odlišná klávesnice, tentokrát navíc doplněná o numerický blok vpravo.

2. Od hloupých terminálů k terminálům blokovým

Již v úvodních dvou dílech tohoto seriálu jsme se alespoň ve stručnosti zmínili o dosti podstatném vlivu použitých terminálů na vlastnosti textových procesorů (tento vliv je dnes možná poněkud podceňován, ale právě kvůli různým omezením terminálů vznikly klávesové zkratky editorů Vi i Emacsu). Ostatně jeden z hlavních důvodů, proč se v dávné počítačové minulosti používaly převážně řádkové textové editory, spočíval v tom, že terminály byly k počítačům (typicky sálovým počítačům či minipočítačům) připojeny s využitím relativně pomalých sériových linek (vzdálené terminály pak ještě pomocí modemů). K tomuto faktoru je zapotřebí připočíst i to, že se většinou jednalo o „hloupé“ terminály, které pouze opisovaly znaky, které jim byly po sériové lince poslány (Glass TTY). Při přenosové rychlosti 300 bps trvalo jen překreslení jednoho textového řádku téměř tři sekundy. Poněkud lepší byla situace u terminálů připojených po lince s rychlostí 1200 bps: zde překreslení jednoho řádku proběhlo pod dobu trvání jedné sekundy, ovšem přepis celé obrazovky (typická velikost u profi zařízení byla 80×24 znaků) přibližně 12 až 16 sekund, což je pro interaktivní práci příliš dlouho.

Obrázek 3: Terminál VT52 společnosti Digital Equipment Corporation (DEC).
Autor fotografie: Clickrick.

Navíc ještě někteří výrobci terminálů zavedli technologii zvanou „echo negotiation“ (ostatně používanou pod jiným názvem dodnes). Tato technologie spočívala v tom, že terminál pouze sám opisoval znaky zadávané z klávesnice a teprve po stisku speciální klávesy (typicky Enter či Return) se všechny znaky přenesly na řídicí počítač. Pro zadávání příkazů v shellu byl tento režim poměrně výhodný, protože řídicí počítač nemusel zpracovat každý zapsaný znak (což pro něj znamenalo přerušení, přepnutí do jiného procesu atd.), ovšem pro celoobrazovkové editory se příliš nehodil. Zcela jiný princip byl použit u takzvaných „blokových terminálů“, které vznikly později, protože jejich řídicí elektronika již byla poměrně složitá a typicky obsahovala nějaký osmibitový či dokonce šestnáctibitový mikroprocesor. U blokových terminálů mohli programátoři popsat strukturu obrazovky složené ze statického textu a taktéž z datových oblastí (data field) vyplňovaných uživatelem. Dobrým příkladem může být formulář, do něhož se pouze vyplňovala některá textová a numerická políčka. Až po vyplnění všech políček se jejich obsah (a pouze jejich obsah) přenesl do počítače a tam dále zpracoval. Jedná se o techniku, která se vlastně do značné míry podobá klasickým webovým aplikacím a po mírné úpravě ji bylo možné použít i pro implementaci textového editoru.

Obrázek 4: Terminál VT78 se „zlatou klávesou“ (to je ta žlutá klávesa :-), která se používala pro spouštění maker či dalších funkcí, fungovala tedy trošku podobně jako Ctrl+X v Emacsu. Ostatně názvy volaných funkcí můžete vidět na předním potisku kláves (žlutá/zlatá barva).

3. Základní vlastnosti blokových terminálů IBM 3270

Terminály IBM 3270 patřily mezi skupinu blokových terminálů, o nichž jsme se zmínili v předchozí kapitole. To znamená, že tyto terminály neakceptovaly pouhý proud znaků s případnými řídicími znaky, ale používal se u nich poměrně sofistikovaný přenosový protokol, který mj. vyžadoval, aby terminál obsahoval procesorovou jednotku a nikoli jen obvody LSI, tak, jako některé starší hloupé terminály. Obrazovka terminálu řady 3270 dokázala podle konkrétního typu zobrazit různý počet znaků, ovšem nejtypičtější byl textový rastr 80×24 znaků (IBM 3270 model 2), což znamená celkem 1920 znaků. Při požadavku na vykreslení obrazovky se do terminálu přenesla sekvence bajtů obsahujících vždy řídicí bajt a poté libovolný počet definicí datových oblastí i statických dat (neměnného textu umístěného mezi datové oblasti). Formát datových oblastí si stručně popíšeme v navazující kapitole.

Obrázek 5: Původní verze terminálu IBM 3270 (mimochodem, pod monitorem je nalepena zajímavá poznámka, tento terminál byl pravděpodobně použit někde na univerzitě).
Autor fotografie: Gavin Eadie.

Terminály IBM 3270 taktéž rozpoznávaly některé řídicí příkazy, zejména pak změnu adresy aktuálně zpracovávaného (zapisovaného) znaku na obrazovce (index 0..1919), změnu pozice kurzoru, přesun na vybranou datovou oblast a mj. i užitečný příkaz „Repeat To Address“, sloužící pro opakování libovolného zvoleného znaku n-krát. Co to znamenalo v praxi? Pokud bylo zapotřebí smazat celou obrazovku terminálu, postačilo na to jen několik řídicích kódů: přesun na začátek obrazovky (index znaku 0) a příkaz „Repeat To Address“ se znakem „mezera“ opakovaným 1920×. Také například tvorba tabulek ze znaků „-“ byla jednoduchá a nebylo zapotřebí otrocky přenášet například 80 znaků „-“. Pozdější varianty těchto terminálů byly dále rozšířeny o možnost používat blikající text, inverzní text, podtržení a u některých modelů bylo možné znaky obarvit jednou z osmi základních barev.

ibm6

Obrázek 6: Editor pro zápis COBOLovských programů, na kterém je mj. patrné i rozdělení řádků na jednotlivé části (číslo sekvence, sedmý sloupec, sekce A, sekce B) i omezení délky jednotlivých textových řádků na 72 znaků na řádek.

4. Datové oblasti na obrazovce terminálu

Jak již víme z předchozích odstavců, skládala se obrazovka blokových terminálů IBM 3270 ze statických textů a dále pak z datových oblastí (data fields). Každá datová oblast byla reprezentována speciálním znakem (bajtem) následovaným řetězcem s proměnnou délkou. Jednotlivé bity speciálního znaku umožňovaly specifikovat:

  • Zda má být datová oblast editovatelná či naopak chráněná proti uživatelskému vstupu.
  • Zda se má u editovatelných oblastí povolit vstup jen numerických znaků či všech alfanumerických znaků.
  • Způsob zobrazení datové oblasti (původně se jen dala zvýšit intenzita textu nebo text skrýt).
  • Chování textového kurzoru (má oblast přeskočit či nikoli?).
  • MDT (Modified Data Tag) – speciální význam, protože je použit při zpětném přenosu dat do počítače.

Po přenesení popisu celé obrazovky na terminál se aktivita přesunula směrem k terminálu a k jeho uživateli – počítač se této fáze vůbec nezúčastnil a mohl svůj drahocenný strojový čas věnovat zpracování dalších úloh. Mezitím mohl uživatel přesouvat textový kurzor mezi jednotlivými datovými oblastmi a editovat v nich zapsaný text. Terminál si obsah datových položek pamatoval, uživatel dokonce mohl u víceřádkových položek použít klávesu Return pro odřádkování. Speciální význam měly jen některé klávesy, zejména Enter (rozdíl od Return!), Clear a funkční klávesy PF1..PF24. Po stisku těchto kláves terminál poslal zpět na počítač veškeré relevantní informace: pozici kurzoru, kód klávesy, která poslání dat zapříčinila a zejména pak obsah všech datových oblastí, které měly nastavený výše zmíněný bit MDT. Program v počítači tato data zpracoval a reagoval typicky překreslením obrazovky nebo její části. Ve výsledku tedy byl počítač méně vytížen a uživatel dostával rychlejší odezvu (ve chvíli, kdy se data neposílala do počítače, ale jen zpracovávala lokálně).

ibm6

Obrázek 7: Program typu „Hello World!“ zapsaný v COBOLu. Tento screenshot ukazuje obrazovku terminálu připojeného k mainframu.

5. Textový editor XEDIT

Konečně se dostáváme k popisu textového editoru XEDIT. Jeho autorem je Xavier de Lamberterie, ostatně právě podle něho dostal tento editor své jméno. Původní XEDIT podporoval interaktivní editaci textů s využitím prakticky celé obrazovky (a s ohledem na výše zmíněné možnosti blokových terminálů), ovšem jeho největším přínosem byla podpora pro makra, která mohlo být psána v jazyku EXEC 2 a později v jazyku Rexx. První verze textového editoru XEDIT byla společností IBM vydána koncem roku 1980, a to původně pro systém VM/CMS. Podle některých autorů bylo právě zařazení XEDITu jedním z důvodů obliby CMS, protože postupně začaly vznikat různé utility i rozsáhlejší programy založené právě na použití XEDITu – to vše bylo umožněno právě podporou uživatelských maker, zatímco samotné jádro editoru zůstávalo relativně malé a kompaktní (právě proto nemá valný význam porovnávat jeho základní funkce s dalšími editory, což ostatně platí i pro mnoho dalších aplikací, které lze pomocí skriptů dále rozšiřovat).

Obrázek 8: Rozdělení obrazovky na různé oblasti používané textovým editorem XEDIT.
Zdroj: původní dokumentace IBM.

Pro XEDIT je typické rozdělení plochy obrazovky do několika oblastí, což je patrné z obrázku číslo 8 a taktéž ze screenshotu číslo 9. Editor podporoval dva režimy vstupu, běžný zápis znaků (každý řádek má prefix, do kterého se zapisují příkazy, velmi zajímavá myšlenka) a tzv. power input (zde se používá automatický wrapping a jednotlivé odstavce se typicky oddělovaly znakem # a ne Enterem – důvod již známe). Dále pak obsahuje příkazový řádek, ovšem mnoho funkcí editoru je napojeno na funkční klávesy (split, join, home, end apod.). Poměrně velké množství základních příkazů je orientováno na práci s celými řádky textu, takže zde nalezneme příkaz A (add line), D (delete line), REC (recover line), " (duplicate line) atd. Řádky je taktéž možné několika příkazy přesunovat a kopírovat (M, C). Některé příkazy vzdáleně připomínají editor Vi: například ===A5 zadaný do prefixového políčka vedl k vytvoření pěti prázdných textových řádků. XEDIT je jeden z prvních editorů, v nichž se ve velké míře začal používat folding; teprve později se tato vlastnost rozšířila i do dalších editorů (Vim apod.).

Obrázek 9: Obrazovka XEDITu po spuštění (screenshot terminálu).

6. Skriptovací jazyk Rexx

S textovým editorem XEDIT, přesněji řečeno především s jeho pozdějšími verzemi, je poměrně úzce spojen i skriptovací jazyk nazvaný Rexx neboli REstructured eXtended eXecutor. Z plného názvu je zřejmé, že tento název vznikl především proto, aby se „vlezl“ do úderně znějící zkratky „Rexx“ (někdy psáno i kapitálkami „REXX“), a to jen z toho důvodu, že zkratka „Rex“ již byla používána jinými produkty. První verze tohoto interpretovaného, procedurálního a vysokoúrovňového programovacího jazyka vznikla již v roce 1979 a jeho autorem byl známý anglický programátor Mike Cowlishaw, který v té době spolupracoval se společností IBM. Firma IBM následně interpretry jazyka Rexx poměrně intenzivně používala, a to v mnoha svých operačních systémech (VM/CMS, MVS, AS/400, někteří čtenáři si možná pamatují na OS/2 pro PC) i v uživatelských aplikacích, takže se zejména v osmdesátých letech minulého století jednalo o jeden z velmi populárních a současně i rozšířených jazyků (později firma IBM ve své éře přepisu všeho možného do Javy vydala NetRexx určený pro běh ve virtuálním stroji Javy, což vlastně vůbec není špatný počin).

Obrázek 10: Makro pro textový editor XEDIT.

A nutno říci, že Rexx či jeho více či méně upravené verze nebyl použit pouze v produktech firmy IBM. Rexx se totiž ve variantě pojmenované ARexx objevil v operačním systému slavných osobních mikropočítačů Amiga, kde se kromě jiného používal i pro ovládání a komunikaci mezi různými programy (plnil tedy podobnou funkci jako například PowerShell). Každý program využívající služby operačního systému (AmigaOS) totiž mohl obsahovat rozhraní, přes nějž ho bylo možné ovládat či jen načítat vypočtené hodnoty atd. Podobně jako je tomu v unixech a programech spojovaných přes svůj standardní vstup a výstup, i v případě ARexxu bylo možné vhodným spojením jednoúčelových programů vytvořit i poměrně složitou aplikaci. Podobně jako další skriptovací jazyky je i ARexx do značné míry beztypový, což ale nebyla nevýhoda, neboť to usnadňovalo komunikaci mezi aplikacemi. O důležitosti jazyka Rexx svědčí i to, že v roce 1996 získal svoji oficiální specifikaci v podobě ANSI normy X3.274–1996 „Information Technology – Programming Language REXX“ a ještě později vznikla jeho objektově orientovaná varianta nazvaná Object Rexx.

Obrázek 11: Výpočet Mandelbrotovy množiny implementovaný v jazyku Rexx. Jak je patrné, jedná se o dobře čitelný jazyk.

7. Moderní reinkarnace textového editoru XEDIT

Vzhledem k poměrně propracovanému rozhraní textového editoru XEDIT a jeho podpoře mnohdy velmi složitých a přitom dobře čitelných maker existuje i dnes velké množství programátorů, kteří tento klasický editor chtějí používat nejenom na mainframech společnosti IBM, ale i na svých osobních počítačích a laptopech. Z tohoto důvodu vzniklo hned několik komerčních i open source klonů XEDITu. Například se jedná o komerční klon nazvaný KEDIT, jehož první verze byla společností Mansfield Software Group vydána již v roce 1983, tj. vlastně jen několik let po vzniku původního XEDITu. KEDIT používal podmnožinu programovacího jazyka Rexx, takže byl alespoň částečně zpětně kompatibilní. Dalším klonem je SEDIT pocházející z konce osmdesátých let minulého století. I tento editor podporoval podmnožinu programovacího jazyka Rexx, ten se zde nazýval S/REXX.

Obrázek 12: Jedna z moderních variant na textový editor XEDIT.

8. THE: The Hessling Editor

THE was originally written to be used by people already  familiar  with
the  above editors. For this reason, the documentation provides limited
information on using THE, and concentrates more on reference  material,
such as command syntax and configuration.

Obrázek 13: Editor THE v Linuxu.

Nejenom na Linuxu je pro znalce původního editoru XEDIT či jeho klonu KEDIT dostupný textový editor nazvaný jednoduše THE neboli The Hessling Editor. Jedná se o aplikaci vyvíjenou již 25 let a zajímavostí je použití volně dostupného interpretru jazyka Rexx nazvaného Regina, alternativně je však možné použít i interpret Open Object Rexx či uni-Rex. Editor THE využívá pro zobrazení svého uživatelského rozhraní textový terminál a u některých typů souborů (například u zdrojových kódu psaných v jazyku C) umožňuje zvýraznění syntaxe.

CS24 tip temata

xyzzy

Obrázek 14: První kapitola tohoto článku otevřená v editoru THE.

9. Odkazy na Internetu

  1. XEDIT na TextEditors.org
    http://texteditors.org/cgi-bin/wiki.pl?XEDIT
  2. XEDIT pro Windows (klon)
    http://digilander.libero.it/am­busy/computer.html
  3. XEDIT commands
    http://digilander.libero.it/am­busy/PcXeditHlp.html
  4. 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#
  5. 3270 Data Stream Programming
    http://www.tommysprinkle.com/mvs/P3270/
  6. IBM 3270
    https://en.wikipedia.org/wi­ki/IBM_3270
  7. Block-oriented terminal
    https://en.wikipedia.org/wiki/Block-oriented_terminal
  8. Klávesnice 3270
    http://www.seasip.info/Vin­tagePC/ibm_6110344.html
  9. Klávesnice IBM
    http://www.9999hp.net/keyboard/temp/
  10. REXX (Wikipedia)
    https://en.wikipedia.org/wiki/REXX
  11. Vladimir Zabrodsky REXX Page
    http://dhost.info/zabrodskyvlada/
  12. Rexx tutorials
    http://www.rexxinfo.org/html/rex­xinfo1.html
  13. A Quick Rexx Tutorial
    http://www.informit.com/ar­ticles/article.aspx?p=461086&seq­Num=1
  14. Emacs timeline
    http://www.jwz.org/doc/emacs-timeline.html
  15. EINE (Emacs Wiki)
    http://www.emacswiki.org/emacs/EINE
  16. EINE (Texteditors.org)
    http://texteditors.org/cgi-bin/wiki.pl?EINE
  17. ZWEI (Emacs Wiki)
    http://www.emacswiki.org/emacs/ZWEI
  18. ZWEI (Texteditors.org)
    http://texteditors.org/cgi-bin/wiki.pl?ZWEI
  19. Zmacs (Wikipedia)
    https://en.wikipedia.org/wiki/Zmacs
  20. Zmacs (Texteditors.org)
    http://texteditors.org/cgi-bin/wiki.pl?Zmacs
  21. TecoEmacs (Emacs Wiki)
    http://www.emacswiki.org/e­macs/TecoEmacs
  22. Micro Emacs
    http://www.emacswiki.org/e­macs/MicroEmacs
  23. Micro Emacs (Wikipedia)
    https://en.wikipedia.org/wi­ki/MicroEMACS
  24. EmacsHistory
    http://www.emacswiki.org/e­macs/EmacsHistory
  25. Seznam editorů s ovládáním podobným Emacsu či kompatibilních s příkazy Emacsu
    http://www.finseth.com/emacs.html
  26. 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/#!
  27. Apple Writer
    http://apple2history.org/his­tory/ah18/#08
  28. COMPUTER PROGRAMMING by Paul Lutus
    http://www.atariarchives.or­g/deli/cottage_computer_pro­gramming.php
  29. Verze textového editoru D-Text
    http://wiki.oldcomp.cz/in­dex.php?title=Verze_texto­vého_editoru_D-Text
  30. The Writer (World of Spectrum)
    http://www.worldofspectrum­.org/infoseekid.cgi?id=0008989
  31. Tasword Two (World of Spectrum)
    http://www.worldofspectrum­.org/infoseekid.cgi?id=0008856
  32. SpeedScript source code
    http://www.atariarchives.or­g/speedscript/ch3.php
  33. SpeedScript 3.0: All Machine Language Word Processor For the Atari
    http://www.atariarchives.or­g/speedscript/ch1.php
  34. Čapek verze 3.1 (oskenovaný návod)
    http://www.atari8.cz/calp/da­ta/misc_cap/index.php
  35. Čížek V.3 (oskenovaný návod)
    http://www.atari8.cz/calp/da­ta/br_man_ciz/
  36. Editor O26 (příkazy)
    http://www.museumwaalsdor­p.nl/computer/comp789_o26­.html
  37. Editor O26 (stránka na texteditors.org)
    http://texteditors.org/cgi-bin/wiki.pl?O26
  38. Editor O26 (text editor, Wikipedia)
    https://en.wikipedia.org/wi­ki/O26_%28text_editor%29
  39. Textové editory pro mainframy
    http://texteditors.org/cgi-bin/wiki.pl?MainframeEditorFamily
  40. IDA
    http://texteditors.org/cgi-bin/wiki.pl?IDA_Editor
  41. qed
    http://texteditors.org/cgi-bin/wiki.pl?Qed
  42. qed (description)
    http://www.qef.com/html/to­olsdesc.html#qed
  43. Text editor (Wikipedia)
    https://en.wikipedia.org/wi­ki/Text_editor
  44. Line editor (Wikipedia)
    https://en.wikipedia.org/wi­ki/Line_editor
  45. The Vi Editor and its clones and programs with a vi like interface
    http://www.guckes.net/vi/
  46. www.vim.org: obsahuje verze Vimu i pro Amigu
    http://www.vim.org/
  47. Články o Vimu na Root.cz:
    http://www.root.cz/n/vim/clanky/
  48. Vim sedm – první část
    http://www.root.cz/clanky/vim-sedm-prvni-cast/
  49. vim2elvis (1.část)
    http://www.root.cz/clanky/vim2elvis-1/
  50. vim2elvis (2.část)
    http://www.root.cz/clanky/vim2elvis-2/
  51. History of the Text Editor
    http://vanstee.me/history-of-the-text-editor.html
  52. Interview with Bill Joy
    http://web.cecs.pdx.edu/~kir­kenda/joy84.html
  53. Hex Editors for Lin/unix
    http://blog.sourcepole.com/2006/09/07/hex-editors/
  54. bvi Home Page
    http://bvi.sourceforge.net/
  55. bvi (Wikipedia)
    https://en.wikipedia.org/wiki/Bvi
  56. vim (man page)
    http://www.linux-tutorial.info/modules.php?na­me=ManPage&sec=1&manpage=vim
  57. An incomplete history of the QED Text Editor
    http://ned.rubyforge.org/doc/qed.html
  58. QED Text Editor
    http://ned.rubyforge.org/doc/qed­man.html
  59. Wang 1200
    http://www.wang1200.org/
  60. Wang Laboratories
    http://en.wikipedia.org/wi­ki/Wang_Labs
  61. Wang OIS Emulator
    http://www.cass.net/~jdonog­hu/oisemul.html
  62. SpeedScript 3.2 for the Commodore 64
    http://www.atarimagazines­.com/compute/gazette/198705-speedscript.html
  63. Opravdoví programátoři nepoužívají Pascal
    http://www.logix.cz/michal/hu­mornik/Pojidaci.Kolacu.xp
  64. A Brief History of Word Processing
    http://www.stanford.edu/~bkunde/fb-press/articles/wdprhist.html
  65. XyWrite
    http://en.wikipedia.org/wiki/XyWrite
  66. W.E.Pete Peterson
    http://www.wordplace.com/ap/
  67. Orthodox Editors
    http://www.softpanorama.or­g/Articles/orthodox_editor­s.shtml
  68. Mainframe Museum ‚Where we started‘
    http://www.techsystemsps.com/Mainframe-Museum.htm
  69. IBM Mainframe album
    http://www-03.ibm.com/ibm/history/ex­hibits/mainframe/mainframe_al­bum.html
  70. Mainframe computer
    http://en.wikipedia.org/wi­ki/Mainframe_computer
  71. IBM mainframe
    http://en.wikipedia.org/wi­ki/IBM_mainframe
  72. IBM 700/7000 series
    http://en.wikipedia.org/wi­ki/IBM700/7000_series
  73. IBM System/360
    http://en.wikipedia.org/wi­ki/IBM_System/360
  74. IBM System/370
    http://en.wikipedia.org/wi­ki/IBM_System/370
  75. Datamatic 1000 by DATAmatic Corporation (1955)
    http://www.computermuseum­.li/Testpage/Datamatic-1000.html
  76. Burroughs – Third Generation Computers
    https://wiki.cc.gatech.edu/fol­klore/index.php/Burroughs_Third-Generation_Computers
  77. Burroughs B5000, B5500 and B5700 (original) documentation
    http://www.bitsavers.org/pdf/bu­rroughs/B5000_5500_5700/
  78. Burroughs B6500 and B6700 (original) documentation
    http://www.bitsavers.org/pdf/bu­rroughs/B6500_6700/
  79. Burroughs B8500 (original) documentation
    http://www.bitsavers.org/pdf/bu­rroughs/B8500/
  80. General Electric GE-400
    http://www.feb-patrimoine.com/PROJET/ge400/ge-400.htm
  81. GE-400 Time-sharing information systems:
    http://www.computerhistory­.org/collections/accession/102646147
  82. PDP-10
    http://en.wikipedia.org/wiki/PDP-10
  83. GNU Readline
    http://web.mit.edu/gnu/doc/html/rlman.html

Autor článku

Vystudoval VUT FIT a v současné době pracuje na projektech vytvářených v jazycích Python a Go.