Předurčený pro psaní maker, skriptů i programů a k mání zcela zadarmo
pro všechny operační systémy. Není to ideální nástroj pro správce současných
heterogemnních sítí?
Potřebujete spustit posloupnost programů vydáním jediného povelu, kliknutím
na jedinou ikonu? Kontrolovat automaticky velikost prostoru, který zabírají
vybrané adresáře? Sledovat výskyt jisté události v event logu? Určit, zda
se ve dvou souborech vyskytuje tentýž vzorek? Napsat CGI skript? Vypočítat
číslo pí na 3000 desetinných míst? Chce se po vás tohle všechno
(snad s výjimkou toho pí, ale něčím se člověk přece musí potěšit)
na PC a zároveň na serverech s operačnímy systémy OS/400 a Windows NT a/nebo
2000 a Linux a Unix a ... Hm, vy děláte správce sítě, že? Tak to potřebujete
programy. Že vám je nikdo nekoupí? Tak to potřebujete programovací jazyk,
ve kterém byste je mohli psát. Jasně, nikdo vám nekoupí jeho překladač
a v pěti, deseti exemplářích pro různé systémy, no to už vůbec ne. Ale
vy to musíte zvládnout. A tak to děláte všelijak: něco ručně, něco ve FoxPro,
s něčím pomůže Internet, s něčím kamarádi ... Mimochodem, lidem, kteří
si musí umět poradit se vším sami, se v přeneseném smyslu říká robinzoni.
A přece je tu programovací jazyk právě pro vás. Rexx. Pro každou (téměř
každou) platformu, vždy zadarmo. Interpret povelů stejně tak dobrý pro
psaní maker a skriptů jako pro ?obyčejné" programování, tvorbu prototypů
programů nebo programátorské rekreace (tím myslím to pí, vážně).
Řečeno s Donem Limbaughem: jediná, a protože zadarmo, nejlevnější alternativa
kdoví kolika jazyků (The
Rexx Language: A simple alternative for programming, Computer Bits,
October 1998). Jazyk natolik univerzální a nástroj tak všestranný, že si
vysloužil od známého počítačového publicisty Johna Dvoraka v článku Get
Rexx - It Pays (Computer Shopper, November 1999) chlapskou pochvalu:
Rexx je mezi programovacími jazyky něco jako švýcarský armádní nůž.
A ty CGI skripty? Les Cottrell vás poučí ve své příručce Guide
to Writing CGI Scripts in Rexx and Perl jak je psát. A aby to bylo
opravdu snadné, Henri
Henault & Sons nabízejí k tomuto účelu knihovnu funkcí i s řadou
předlohových programů.
Prvních
21 let
V roce 1974 prišel k IBM absolvent (B. Sc.) university v Birminghamu
Mike
Cowlishaw. Pracoval s operačním systémem VM/CMS, a když chtěl jediným
povelem spustit posloupnost akcí, jen jednu akci v závislosti na podmínce,
jednu akci několikrát ..., musel použít jazyk EXEC nebo EXEC2 (názvy jsou
odvozeny od slova executor). Počítačový pravěk. Příšerné povelové
jazyky (Procedures Languages nebo Command Languages či Control
Languages). Něco jako CL v OS/400, něco jen o málo lepšího než je jazyk,
ve kterém píšete BAT programy v DOSu. Obyčejný praprogramátor v nich psal
naprosto nepřehledné procedury (já ještě v roce 1987), ale budoucí IBM
Fellow a budoucí člen učené Královské společnosti v Londýně v jedné
osobě to nevydržel a stvořil jazyk nový. A nazval jej REX, protože to
tak hezky znělo ... (A
brief History of 'Classic' Rexx).
29. března 1979 publikoval v interní síti IBM (spojovala přes 1400 sálových
počítačů v 40ti zemích) nástin dosud neexistujícího jazyka - tři jednoduché
programy, vystihující jeho podstatu a možnosti. Po přihlédnutí ke kritice
i doporučení svých kolegů vytvořil ke konci roku 1979 fungující interpret.
Ten se stal u IBM velice populární. Po neformálních elektronických diskuzích
stovek uživatelů s Mikem Cowlishawem dospěl jazyk téměř k současné podobě.
V roce 1982 přidala firma IBM k jeho názvu ještě jedno X, protože REX byl
v té době chráněnou značkou. REstructured eXtended eXecutor píše
se od té doby v IBM manuálech. Na obálce knih Mika Cowlishawa ale vidíme
karetního krále a Anders Christensen nazve svůj interpret Regina
- latinsky královna. Na otázku, jak slovo Rexx vyslovovat, mi Gerard Schildberger
odepsal: ... jako "hex", ale s "r" na začátku...
Jazyk se stal součástí VM/System Product Release 3 v roce 1983. Hranice
IBM však překročil už v roce 1985: Z implementace pro PC-DOS vznikl dnešní
Personal REXX americké firmy Quercus
Systems pro DOS, OS/2 a Windows. Od roku 1987 zařazuje firma IBM jazyk
Rexx do všech svých operačních systémů jako standardní interpret povelů.
Stal se také součástí operačního systému Amiga (pod názvem ARexx). První
kompilátor vyvinula laboratoř IBM ve Vídni v roce 1989 pro VM/CMS. V současnosti
jsou dostupné interprety pro DOS, Netware, Windows, Unix, Linux, OpenVMS.
Typické přitom je, že jde vesměs o excelentní sharewarové nebo freewarové
produkty. Přesto je tu podstatná výjimka. Rexx dosud nebyl plnohodnotně
implementován v prostředí Apple Macintosh. K stažení je jen jeho zjednodušená
verze - Texx.
První návrh ANSI standardu jazyka (X3.274) vyšel v roce 1996.
Interprety,
programy a knihovny funkcí
Takže ještě jednou: interpret jazyka Rexx je součástí operačního
systému Amiga (ve světě se běžně používá) a je v každém operačním systému
IBM. V následujících odstavcích uvádím produkty pro ostatní platformy.
Není-li řečeno jinak, jsou úplně zdarma.
-
Interpret REXX/imc
pro Linux a Unix vytvořil a dále vyvíjí Ian Collier (imc jsou jeho
iniciály) z počítačových laboratoří oxfordské univerzity.
-
Řek Vassilis N. Vlachoudis je autorem interpretu BREXX
pro operační systémy Amiga, MS-DOS, Linux, Unix, WinCE.
-
Nejrozšířenějším intrerpretem je Regina. První implementace pro Unix byly
dílem Anderse Christensena z univerzity v norském Trondheimu. Současná
Regina pracuje v systémech Amiga, DOS, Linux, OpenVMS, OS/2, Unix, Windows
3.x/9x/NT/2000. Pro Windows NT/2000 ji můžete získat od Microsoftu, ale
je to jen její starší verze, tak proč byste to dělali? Tím nejlepším místem
k jejímu stažení jsou neustále aktualizované stránky Australana Marka
Hesslinga, který v posledních letech Reginu udržuje a dále vyvíjí.
-
Může se zdát, že demo komerčního produktu Personal
REXX pro DOS, OS/2, Windows 3.x/9x/NT/2000 v této kapitole nemá co
dělat. V demu totiž nemůžete spustit program, který by měl víc jak 50 řádků.
Ale! Za prvé: Učíte-li se jazyk, nepíšete velké programy. Za druhé: Program
spouštíte pouhým stiskem F5; výsledky se zobrazují v jiném okně. Za třetí:
Můžete napsat program ne delší než 50 řádků a ten může volat podprogramy,
které nemají více jak 50 řádků, a některé z nich mohou volat podprogramy
ne delší než 50 řádků ... Jak poznamenal kdosi v Rexx Listserveru: Tomu
se dřív říkalo modulární programování ...
Součástí standardu jazyka Rexx je 69 vestavěných funkcí. Ale třeba SQRT
a SIN mezi nimi nejsou. Můžete si je napsat sami nebo opsat, třeba z Alba
algoritmů a technik pro standardní Rexx.
Na Internetu najdete i knihovny funkcí a pomocných programů, které pak
použijete stejně snadno a stejně efektivně jako standardní vestavěné funkce
jazyka:
-
Patrick
TJ McPhee vytvořil knihovnu utilit pro Reginu a REXX/imc. Je ekvivalentem
knihovny REXXUTIL, která je součástí OS/2. Patrick dále nabízí funkce pro
Reginu umožňující práci s registry, event logem apod. ve Windows NT/2000.
-
REXXIO
pro OS/2 a Windows od firmy LesTec Pty Ltd. je knihovnou funkcí pro práci
se soubory a s okny a s registry, klávesnicí, myší, ... Bohužel, ne všechny
funkce jsou zadarmo.
Literatura
Definice jazyka
Kniha Mika Cowlishawa The Rexx Language: A Practical Approach to
Programming (často se setkáte s její zkratkou TRL) vyšla ve
dvou vydáních (1984, 1990) a dlouhá léta sloužila jako jediný zdroj definice.
Lze si ji objednat, třeba na www.amazon.com.
Já jsem využil meziknihovní výpůjční službu Moravské
zemské knihovny.
Výjimečný význam má dokument popisující standard: ANSI X3J18-1996
Programming Language Rexx (k stažení třeba zde).
Chtěl bych vás zvlášť upozornit na formální popis vestavěných funkcí pomocí
programů v jazyce Rexx. V některých případech takový šestiřádkový program
překoná svou výstižností celé odstavce klasického slovního výkladu.
Manuály pro praktické použití v konkrétním operačním systému
-
Manuál Arexxu od Robina
Evanse.
-
IBM
manuály - Kolem 80ti manuálů. Rexx pro operační systémy IBM (CICS,
OS/2, OS/390, OS/400, MVS, VM, VSE). Na zobrazené stránce napište do kolonky
Find books ... slovo rexx a stiskněte "Find".
-
A. Christensen, M. Hessling: The Regina Rexx Interpreter. Na stránce
Download
Software Form.
-
Uživatelské a referenční příručky pro REXX/imc
od Iana Colliera.
Něco pro začátečníky
-
Learn REXX Programming in 56,479 Easy Steps k stažení ve formě helpu
pro Windows. Od Jeffa
Glatta.
-
Demo Personal REXXu obsahuje i interaktivní učebnici a nápovědu.
A česky?
O
jazyku Rexx. Tuhle návštěvu vám doporučují na svých stránkách i
Mike Cowlishaw, Ian Collier a Mark Hessling.
Dotazy
a odpovědi
Každá oblast lidského vědění, jakkoli
malá, jakkoli utajená,má svoje odborníky a své stoupence. A ti se
obvykle shromažďují na určitém místě, aby si popovídali,
vyměnili zprávy a sdělili nejnovější zkazky ...
FREDERICK FORSYTH (Ďáblova
alternativa 1979)
Proto tu jsou od roku 1990 každoroční Rexx-sympozia. Proto vznikla v
roce 1994 Rexx
Language Associations. Na stránce Who's
who se můžete podívat na fotografie Mika Cowlishawa, Iana Colliera,
Marka Hesslinga a dalších. Na Internetu se odborníci a stoupenci setkávají
především v diskuzní skupině comp.lang.rexx, pohodlně přístupné
přes www.deja.com.
Není zvláštností, že na vaši otázku odpoví Ian Collier nebo Mark Hessling
nebo Frank Clarke nebo sám Mike Cowlishaw ... A není tu nouze o jiskření
všeho druhu:
William Warren: ... a po restartu uviděl MOS. Frank Clarke: Co
je MOS? Mark Yudkin No přece Modrá Obrazovka Smrti (v originále
BSOD - Blue Screen Of Death), co jiného? Mike Ruskai: Spousta
lidí na světě nepoužívají Windows a neví proto, co je MOS. Thomas Conley:
Franku, i ti co dělají u sálových počítačů by měli vědět, co MOS znamená.
Frank Clarke: Pch. Mně mainframe žádnou MOS ještě neukázal. Nikdy nevěř
počítači, který můžeš uzdvihnout.
Podívejte se ještě na Rexx
Listserver. V provozu je od roku 1986. V současnosti se sice moc nepoužívá,
ale v archívu, který se dá dobře prohledávat, jsou k mání velice zajímavé
příspěvky. V případě nedostupnosti to zkuste u rexxlist@egroups.com.
To je tentýž archív s přípěvky od prosince roku 1996.
Ještě
něco?Na sto sedmdesát nejzajímavějších a nejužitečnějších
odkazů shromáždil Johnnie Hougaard Nielsen v tomto
výběru pro Open Directory |