Obligement - L'Amiga au maximum

Mardi 25 avril 2017 - 18:26  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Soutien

N'hésitez pas à soutenir le projet Obligement



Contact

David Brunet

Courriel

 


Test d'ARexx 1.10
(Article écrit par Cédric Beust et extrait d'A-News (Amiga News) - septembre 1989)


Depuis plusieurs mois déjà un nom se fait de plus en plus entendre dans les milieux concernés de l'Amiga : ARexx. ARexx... Quel drôle de nom. Pourquoi pas libellule ou papillon ? Est-ce un nouveau fromage ou le dernier tube de la ventriloque Vanessa Paradis ? N'écoutant que mon courage, j'enfilai mon imper et mes lunettes noires et j'allai mener discrètement ma propre enquête.

Premier contact

ARexx est un langage programmé par William S. Hawes qui se trouve à mi-chemin du BASIC et du C. Mais sa puissance réside bien au-delà de ces simples constatations, ainsi que vous allez pouvoir le constater. La disquette unique est livrée avec un manuel de 150 pages (la version que je possède venant des États-Unis, ledit manuel est en anglais. Je ne sais pas si une importation française est prévue). L'installation sur disque dur est très simple : il suffit de recopier le contenu des répertoires c: et libs: et hop, ARexx est fonctionnel.

ARexx a besoin d'un interprète

Avant de pouvoir laisser libre cours à son inspiration dévastatrice, il faut exécuter un petit programme qui reste résident : rexxmast. Ceci fait, l'écriture des programmes se fait avec votre éditeur favori puis s'exécute directement avec la commande "rx". Par exemple :

/* Essai */
say "Vive A-News" /* say écrit sur la sortie standard */

...que l'on sauve sous le nom "toto" par exemple, puis on exécute "rx toto" et l'affaire est dans le sac. Cet exemple appelle une remarque : ARexx est un langage interprété (c'est-à-dire que chaque instruction est analysée et exécutée quand son tour vient). Ceci présente l'immense avantage de pouvoir écrire très rapidement vos programmes, mais en revanche, l'exécution est plus lente. Ceci dit, les programmes écrits en ARexx n'étant pas fait pour être rapides, ce défaut est rapidement oublié.

ARexx est un sale type

Autre aspect que les basicomaniaques apprécieront, point n'est besoin de déclarer vos variables avant de les utiliser. ARexx déterminera comme un grand leur type quand vous leur ferez une première affectation (ce type pouvant changer ultérieurement). Les instructions du genre suivant sont donc autorisées :

/* Programme qui ne fait rien */
i= 1
i= "Y'a d'la joie"

L'absence de types dans un langage autorise la programmation sauvage et débridée. Soyez donc vigilant en utilisant ce genre d'économie au rabais. Mieux vaut garder l'habitude de conserver le même type à une même variable dans un programme.

ARexx se laisse tracer

Dernier point important, le débogage sous ARexx se fait très simplement à l'aide d'une instruction que l'on rajoute directement dans son programme : trace. Celle-ci permet, en fonction des options qui la suivent, de voir se dérouler pas à pas toutes les étapes du programme ainsi que les calculs intermédiaires.

ARexx à la loupe

Les autres fonctions (et non pas fonctionnalités, merci !) du langage sont les suivantes : existence de fonctions (procedure, return), boucles de contrôle (do), test conditionnels (if, then, else), choix multiples (select, when, otherwise), entrée et sortie sur la fenêtre active (say, echo, push, pull) et gestion très poussée de l'analyse de lignes de commandes (parse).

Ceci pour les instructions standard du langage. Mais il est possible de recourir à d'autres fonctions situées dans les bibliothèques (et non pas librairies, re-merci !) internes et externes. Il n'y a donc en théorie rien que le C ou l'assembleur puisse faire et qu'ARexx ne puisse pas (remarque à prendre avec des réserves). La réciproque est fausse. Venons-en à l'intérêt d'utiliser ARexx plutôt qu'un de ces langages.

ARexx a plein de petits amis

Sur la disquette se trouve un fichier nommé "products" qui contient tous les logiciels sortis à ce jour qui sont compatibles avec ARexx (ils ne sont qu'un vingtaine mais la liste va certainement s'agrandir). Citons Txed Plus, CPR (le débogueur de Lattice), CygnusEd, Superbase Professional, etc. Mais que signifie exactement "compatible avec ARexx" ? Cela veut tout simplement dire que vous pouvez créer vous-même vos fonctions et les rajouter au logiciel en question.

Prenons un exemple avez CPR. Supposons que l'on désire en plus des commandes habituelles une instruction "avail" qui nous donnerait la mémoire disponible. Sous CPR, l'affichage de quelque chose se fait avec l'instruction "d". Comme il existe une fonction dans ARexx qui réussit ce difficile exercice (storage()), le programme pourrait se résumer à :

/* Exemple */
'd "' || storage() 'octets libres'
/* Les || signifient concaténation */

Il faut maintenant assigner rexx: au répertoire dans lequel on va sauver ce programme que l'on va appeler tout à fait au hasard "avail.cpr" (la terminaison ".cpr" est indispensable pour que CPR puisse retrouver les commandes qui le concernent. N'oubliez pas que tous les logiciels compatibles avec ARexx iront chercher leurs macros dans rexx: et ils auront chacun un suffixe spécifique). Et ensuite, oh miracle, CPR possède une fonction supplémentaire en la personne de "avail" (n'oubliez pas d'exécuter rexxmast avant).

Bon, là, je ne me suis pas trop fatigué étant donné que j'ai pris cet exemple directement sur la disquette Lattice (eh oui ! ils fournissent des macros ARexx. Il semble cependant y avoir quelques problèmes de compatibilité avec la version actuelle d'ARexx (1.10) par rapport aux versions précédentes sur certaines commandes). Mais nul doute que la compatibilité avec ARexx ajoute un argument de poids à la publicité d'un logiciel. Il n'y a aucune limite à ce que vous pouvez écrire.

Signalons pour finir la présence de plein de petits utilitaires dans c: qui simplifient beaucoup la mise au point des programmes. Par exemple, la commande "tco" ouvre une nouvelle fenêtre dans laquelle iront s'inscrire tous les messages d'erreur détectés dans votre programme (très utile pour ne pas les confondre avec les sorties du programme lui-même).

Conclusion

La simplicité du langage et ses possibilités de connexion sur d'autres logiciels font d'ARexx un produit promis à un grand avenir qui va sûrement être appelé à jouer un grand rôle dans le développement et l'utilisation des programmes sur Amiga. A surveiller attentivement dans les mois qui vont suivre.

Remerciements particuliers à Jean-Charles et Cédric2.

Nom : ARexx 1.10.
Développeur : William S. Hawes.
Genre : langage de script.
Date : 1988.
Configuration minimale : Amiga OCS, 68000, 512 ko de mémoire.
Licence : commercial.
Prix : 39,95 $.


[Retour en haut] / [Retour aux articles]