NetRexx - Scripting facile
Le language Rexx a été créé par Mike Colishaw
en 1970 pour IBM, et implementé sur l'IBM 370. Il était utilisé
comme outil de scripting sur OS/2. Il avait pour but de fournir une syntaxe claire et structurée
NetRexx est une version orientée
objet, qui a été écrite en 1997, et qui se compile
en bytecode Java et tourne sur les machines virtuelles Java (JVM).

Une carte de roi (rex en latin) est quelquefois
utilisée pour illustrer le langage.
On parle assez peu de Rexx de nos jours, mais c'est une occasion d'examiner une conception différente pour un langage de programmation.
Pourquoi utiliser NetRexx?
- Conçu pour remplacer Java avec une syntaxe plus simple. C'est une alternative à Jython (Java Python), mais en moins puissant.
- Permet de faire des applets, utilise les API de Java.
- Utiliser un même langage pour le scripting et les applications.
- Peu utilisé hors de l'environnement IBM.
Caractéristiques de NetRexx
- Un programme NetRexx peut être soit compilé en bytecode, ou directement interpreté.
- C'est un langage de script oriented objet.
- Utilise les classes Java dans le code.
- Une méthode se termine par une autre méthode ou la fin du fichier. "Return" sert seulement à retourner une valuer.
- Un bloc d'instructions est délimité par "do..end".
- Le construct select case ... when est l'équivalent NetRexx du switch ... case, mais en plus puissant.
- Un construct général loop avec des options, en remplace plusieurs d'autres languages.
- String est le type par défaut pour les variables.
- Le corps d'une fonction est terminé par une ligne blanche, ce qui est peut-être unique dans les langages de programmation.
- Les tableaux de taille fixe et dictionary sont les types composites.
Exemples de code
Exemples de code provenant du manuel de NetRexx.
-- Une applette.
class HelloApplet extends Applet
method init
resize(200, 40)
method paint(g=Graphics)
g.drawString("Hello world!", 50, 30)
-- The applet is loaded with this html code:
<applet code="HelloApplet.class" width=200 height=40>
</applet>
-- Demo: Attente d'une réponse
loop label prompt forever
reply=ask
select
when reply.datatype('n') then say reply**3
when reply='Quit' then leave prompt
otherwise say 'eh?'
end
end prompt
say 'Done.'
Sites
- NetRexx
Le site officiel où le compilateur est téléchargeable.
|
|
|
