Obligement - L'Amiga au maximum

Jeudi 27 avril 2017 - 09:11  

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 de REBOL 1.0.2
(Article écrit par Georges Tarbouriech et extrait d'Amiga News - novembre 1998)


REBOL, le langage rebelle

Lorsqu'un personnage marquant de feu Commodore "lance" un produit sur le marché, la communauté Amiga se montre presque toujours attentive. Le PIOS de Dave Haynie par exemple, a fait couler beaucoup d'encre même si le projet n'est pas arrivé à son terme. Maintenant, c'est Carl Sassenrath qui nous propose un nouveau langage se voulant révolutionnaire : REBOL. A l'origine, il devait s'appeler LAVA, et il est probable que la similitude avec un autre langage à la mode a encouragé son auteur à le rebaptiser.

Relative Expression-Based Object Language

L'idée de départ est celle d'un langage de programmation proche du langage naturel (la langue parlée), permettant un accès facile à des non programmeurs. A ce titre, il se veut simple, compact mais efficace, et surtout indépendant de la plate-forme susceptible de l'utiliser. Enfin, il fonctionne sous forme de scripts.

Alors, bien sûr, plusieurs noms viennent à l'esprit selon la machine sur laquelle on travaille. Qu'il s'agisse d'ARexx, de Perl, de Scheme, de Tcl ou de bien d'autres, on peut se demander ce que REBOL apporte de plus.

Tout d'abord, il a un peu de tous ces langages. On retrouve la compacité d'ARexx, les calculs à la Scheme, les formatages type Perl...

Là où ça devient intéressant, c'est qu'on dispose pratiquement du même outil pour toutes les plates-formes. Pour l'instant, à partir du site de REBOL vous pouvez télécharger les versions Amiga, BSD, Linux, Mac PowerPC, Solaris 2.6 et les inévitables Fenêtres (95, 98, NT). De nombreuses autres versions sont en préparation pour BeOS, Mac 68k, différents Unix commerciaux...

D'une machine à l'autre, les exécutables sont de petite taille (250 ko en moyenne) et l'installation identique.

Trois versions ont été testées et nous verrons ce qui peut les différencier.

Installation et configuration

Impossible de faire plus simple : il suffit de décompresser l'archive et de copier les fichiers où vous le souhaitez. Vous disposez de l'exécutable REBOL et de deux fichiers de configuration. Un seul est modifiable et se nomme user.r. Vous mettez dedans votre nom d'hôte (serveur SMTP ou POP), d'utilisateur et votre mot de passe et ensuite votre adresse électronique. Vous avez deviné : REBOL est principalement dédié à l'Internet. Rassurez-vous, il est capable de faire beaucoup d'autres choses.

Par contre, ne modifiez surtout pas le fichier rebol.r, vous seriez obligé de le réinstaller. Ceci s'applique à toutes les versions et seul l'endroit où vous mettrez le répertoire et son contenu sera différent.

C'est tout !

Comment ça marche ?

Simplicité et compacité.

Vous tapez un script et vous l'exécutez : simple, non ?

Pour montrer la compacité du langage, la documentation propose un exemple comparant un programme Java et un script REBOL affichant un équivalent du fameux "Hello World".

En Java :

class REBOLWorldApp {
	public static void main(String[] args) {
	System.out.println("REBOL World!")
}
}

En REBOL :

print "REBOL World"

Soit, mais l'exemple n'est pas très significatif si l'on compare des langages de script. Pour rester dans le même schéma, en ARexx on aurait l'équivalent :

say "REBOL World"

Partant du principe "comparons ce qui est comparable", nous éviterons donc de faire l'amalgame entre les langages traditionnels, compilés ou non et les langages de script.

Pour en terminer avec les comparaisons, mentionnons la nécessité pour les scripts REBOL de posséder un entête comme les scripts ARexx, et d'être sauvegardés avec une extension ".r".

A quoi ça sert ?

C'est là que la première particularité de REBOL apparaît. REBOL est destiné avant tout à faciliter les échanges d'information sur l'Internet. Ceci explique bien sûr le fait que le code soit rigoureusement identique d'une machine à l'autre.

On peut maintenant modifier la définition de départ concernant REBOL : c'est un langage de message plus qu'un langage de script.

Ceci dit, REBOL peut faire à peu près n'importe quoi. Prenons un exemple :

REBOL [
    Title: "REBOL Test ls"
    File:  %Test.r
]

;trace true
files: load %work:/images/*.jpg
foreach file files [print file]

Ce script va nous afficher la liste des fichiers "jpg" du sous-répertoire "images" dans la partition "work".

Objectivement, on obtiendra la même chose avec une simple ligne de commande "ls" ou "list".

Il est évident que l'intérêt ne saute pas aux yeux !

Pourtant cet exemple prouve que vous pouvez créer des commandes système que vous n'avez pas sur votre machine. Si vous avez eu la flemme de porter la commande "du" d'Unix sur votre Amiga (même simplifiée au maximum), vous pourrez la remplacer par un petit script REBOL équivalent à celui-ci :

REBOL [
	Title:   "Total Size of Files"
	Date:    16-Dec-1997
	File:    %sizedir.r
	Purpose: {
		Print the total size of all files in the current
		directory.
	}
]

total: 0
foreach file load %* [total: total + (size? file)]
print [total "bytes"]

Vous obtiendrez alors cette réponse dans votre Shell :

Pour l'Amiga :

5.SYS:rebol> rebol sizedir.r
REBOL
1.0.2.1 (Amiga 680x0)
TM & Copyright 1998 REBOL Technologies Inc. All rights reserved.
Send bugs to bugs@rebol.com
Loading SYS:/rebol/rebol.r...
Loading user.r ...16/Nov/1998/11:23:23
done.
Loading script sizedir.r
344569 bytes

REBOL top level.
>> quit

Pour Sun Solaris :

sun:10# rebol sizedir.r
REBOL
1.0.2.6 (Solaris sparc)
TM & Copyright 1998 REBOL Technologies Inc. All rights reserved.
Send bugs to bugs@rebol.com
Loading /rebol/rebol.r...
Loading user.r ...20/Nov/1998/16:26:53
done.
Loading script sizedir.r
471914 bytes

REBOL top level.
>> quit

Considérons que cette aptitude est un plus de REBOL.

Revenons à son rôle de prédilection : l'Internet.

REBOL vous permet d'envoyer des courriers électroniques, de récupérer des pages HTML sur un site, d'envoyer ou de recevoir des fichiers par FTP...

Ce ne sont que des exemples de base que vous pouvez d'ailleurs télécharger sur le site de REBOL.

Voici le code pour récupérer une page HTML sur un site Web :

REBOL [
	Title:   "Fetch a HTML Doc"
	Date:    18-Dec-1997
	File:    %getweb.r
	Purpose: "Fetch an HTML doc from the net and save it as a file."
]

write %rebolcom.html read http://www.rebol.com

Remplacez le nom de la page et l'URL du site par ceux de votre choix et c'est gagné !

Particularités des versions

Les tests ont porté sur les versions Amiga (m68k ; pour l'instant REBOL ne semble pas envisager une version PowerPC), Solaris 2.6 SPARC et NT 4.0 Server Intel.

Encore une fois, le code totalement identique s'exécute de la même manière sur les trois plates-formes.

Connecter Zip

Une petite remarque toutefois : ces scripts s'exécutent dans le Shell, sauf pour le produit M$ qui a besoin d'ouvrir une fenêtre ! Question : vrai-faux DOS ou faux-vrai Shell ? On répond ce qu'on veut !

Actuellement, la version en cours est la 1.0.2 comme vous pouvez le voir dans les exemples. Le quatrième chiffre de la version indique la plate-forme : "1" c'est l'Amiga, "3" c'est Win32 et "6" c'est Solaris SPARC. REBOL envisage une nouvelle version toutes les deux semaines !

Futur proche

L'étape suivante dans le développement prévoit la gestion du graphique, du son et d'une interface utilisateur. Toutefois, le gros du travail portera sur l'amélioration des supports réseaux. Dans l'immédiat REBOL développe surtout pour TCP/IP mais compte apporter une gestion de bien d'autres protocoles. Les toutes prochaines versions devraient gérer les proxys et CGI. Enfin, REBOL pense développer des greffons pour de nombreux navigateurs afin d'automatiser un certain nombre d'opérations.

Évolution ou révolution ?

Pour un début, REBOL semble très prometteur. L'idée de faciliter l'échange d'informations au travers des réseaux est intéressante à plus d'un titre. REBOL n'est pas limité à l'Internet et fonctionne en réseau local. Il offre donc de nombreuses possibilités d'automatisation de tâches. ARexx aussi me direz-vous ; oui, mais d'une manière différente. REBOL étant vraiment orienté réseau, on peut espérer de très grosses améliorations dans ce domaine.

Pour l'instant ce n'est pas parfait, bien sûr, mais ce ne sont que les balbutiements. Par exemple, les commandes rsh ont encore du mal à trouver le fichier "rebol.r". Au contraire d'ARexx, REBOL n'est pas vraiment utilisable en tâche de fond.

De même, l'évolution de ce langage implique l'éloignement de la langue parlée. C'est forcément logique : plus un langage avance plus sa syntaxe doit s'enrichir. On en vient obligatoirement à quelque chose de plus complexe que la langue de tous les jours. Quoique ! Notre langue nous semble tellement naturelle qu'elle en devient simple. Demandez par contre aux personnes étrangères qui l'apprennent ce qu'elles en pensent.

Tout ceci donne l'impression de défauts de jeunesse mais en aucun cas celle d'un mauvais produit. Et surtout REBOL cherche vraiment à faire évoluer son produit le plus rapidement possible (voir la périodicité des nouvelles versions).

Enfin, point très important à mes yeux : la qualité de l'assistance technique. Si vous envoyez un courrier électronique à REBOL, vous êtes certain d'obtenir une réponse digne de ce nom. Ils sont attentifs aux problèmes que vous pouvez soulever et cherchent les solutions. Cette démarche est tellement rare aujourd'hui qu'elle méritait d'être signalée.

Alors, connectez-vous sur www.rebol.com et téléchargez la ou les versions que vous désirez. Vous verrez, ça vaut la peine.

Et puis, comme pour BeOS, tout est à faire et ce n'en est que plus passionnant.

Quand je vous disais qu'on vit une époque formidable !

Nom : REBOL 1.0.2.
Développeurs : REBOL Technologies.
Genre : langage de programmation.
Date : 1998.
Configuration minimale : AmigaOS 3.0, 68020, 4 Mo de mémoire.
Licence : freeware.
Téléchargement : www.rebol.com.


[Retour en haut] / [Retour aux articles]