REXX - JAZYK PRO
ROBINZONY

 

 

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 na 3000 desetinných míst? Chce se po vás tohle všechno (snad s výjimkou toho , 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 (dnes snad opravdu pro každou) platformu, téměř vždy zdarma. 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 , 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.

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. Novinkou je úspěšné provozování interpretu Regina v prostředí MacOS X, AtheOS a verze 2.3 je určena pro EPOC32, operační systém kapesních počítačů (PSION) a některých mobilních telefonů.

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, AtheOs, BeOS, DOS, Linux, MacOS X, OpenVMS, OS/2, QNX, 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í. Dlouho se uvádělo, že v MacOS X plnohodnotný Rexx neběží. Potěšující zpráva o bezchybném běhu Reginy i v tomto prostředí se objevila v comp.lang.rexx na jaře 2001. Tamtéž pak v létě inzeroval Mark Hessling připravovanou verzi Reginy 2.3, která už pracuje v prostředí operačních systémů kapesních počítačů a některých mobilních telefonů (OS EPOC32).
  • Od léta 2001 je k dispozici další interpret vytvořený na bázi Reginy - Reginald Jeffa Glatta.
  • 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 Brně.
    • Výjimečný význam má dokument popisující standard: ANSI X3J18-1996 Programming Language Rexx . 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 Internetu se odborníci a stoupenci setkávají především v diskuzní skupině comp.lang.rexx, pohodlně přístupné přes groups.google.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 také na Rexx Listserver. V provozu je od roku 1986.

JEŠTĚ NĚCO?

Na sto sedmdesát nejzajímavějších a nejužitečnějších odkazů shromáždil Johnnie Hougaard Nielsen ve Výběru pro Open Directory.

 


hlavní stránka

změněno 17. září 2001
Copyright © 1998-2001 Vladimír Zábrodský