Středa 13. prosince 2000
56%
23%
20%
8718
Navštivte www.os2.cz
MENU
Hlasování
Jak často navštěvujete OS/2.cz?
denně
týdně
měsíčně
nepravidelně
Minulé hlasování



Přidat komentář
Jméno:

E-mail:

Titulek (stručně):


odkazy pište s normálními lomítky (/)

Článek
  Rexx - jazyk pro robinzony
  2000-10-25 Vladimír Zábrodský
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 (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 , vážně).
Řečeno s Donem Limbaughem: jediná, a protože zadarmo, nejlevnější alternativa
kdoví kolika jazyků (http://www.computerbits.com/archive/19981000/rexx_intro.htm" onClick="openWindow()" target="windowname">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 http://www.zdnet.com/computershopper/stories/reviews/0,7171,2388360,00.html" onClick="openWindow()" target="windowname">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 http://www-slac.slac.stanford.edu/slac/www/resource/how-to-use/cgi-rexx/" onClick="openWindow()" target="windowname">Guide
to Writing CGI Scripts in Rexx and Perl
jak je psát. A aby to bylo
opravdu snadné, http://www.hhns.fr/cri/" onClick="openWindow()" target="windowname">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
http://www2.hursley.ibm.com/mfcsumm.htm" onClick="openWindow()" target="windowname">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
... (http://www2.hursley.ibm.com/rexx/rexxhist.htm" onClick="openWindow()" target="windowname">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 http://www.quercus-sys.com" onClick="openWindow()" target="windowname">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 - http://macinsearch.com/infomac2/development/texx-03.html" onClick="openWindow()" target="windowname">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 http://www.comlab.ox.ac.uk/oucl/users/ian.collier/Rexx/rexximc.html" onClick="openWindow()" target="windowname">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 http://ftp.gwdg.de/pub/languages/rexx/brexx/" onClick="openWindow()" target="windowname">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 http://www.lightlink.com/hessling/" onClick="openWindow()" target="windowname">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 http://www.quercus-sys.com/prexx.htm" onClick="openWindow()" target="windowname">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 http://www.geocities.com/zabrodskyvlada/cz_aat/" onClick="openWindow()" target="windowname">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:



  • http://www.interlog.com/~ptjm/" onClick="openWindow()" target="windowname">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.



  • http://www.lestec.com.au/" onClick="openWindow()" target="windowname">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 http://www.amazon.com/exec/obidos/ASIN/0137806515/o/qid=961407483/sr=2-3/102-0972732-5116912" onClick="openWindow()" target="windowname">www.amazon.com.
Já jsem využil meziknihovní výpůjční službu http://www.mzk.cz" onClick="openWindow()" target="windowname">Moravské
zemské knihovny.

Výjimečný význam má dokument popisující standard: ANSI X3J18-1996
Programming Language Rexx
(k stažení třeba http://www.leo.org/pub/comp/os/os2/leo/rexx/index.html" onClick="openWindow()" target="windowname">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


Něco pro začátečníky


  • Learn REXX Programming in 56,479 Easy Steps k stažení ve formě helpu
    pro Windows. Od http://www.borg.com/~jglatt/rexx/rexxuser.htm" onClick="openWindow()" target="windowname">Jeffa
    Glatta.



  • Demo Personal REXXu obsahuje i interaktivní učebnici a nápovědu.


A česky?

http://www.geocities.com/zabrodskyvlada/cz_rexxpage.html" onClick="openWindow()" target="windowname">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 http://www.rexxla.org" onClick="openWindow()" target="windowname">Rexx
Language Associations. Na stránce http://www.rexxla.org/About_RexxLA/whoswho.html" onClick="openWindow()" target="windowname">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 http://www.deja.com" onClick="openWindow()" target="windowname">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 http://listserv.surfnet.nl/archives/rexxlist.html" onClick="openWindow()" target="windowname">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 http://www.egroups.com/group/rexxlist/" onClick="openWindow()" target="windowname">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
http://search.dmoz.org/cgi-bin/search?search=Rexx" onClick="openWindow()" target="windowname">tomto
výběru pro Open Directory


Starší novinky
Nejčtenější články
Články