Obligement - L'Amiga au maximum

Jeudi 05 juin 2025 - 16:04  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

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

Articles in English


Réseaux sociaux

Suivez-nous sur X




Liste des 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,
ALL


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


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


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]