Rebol

langage de programmation informatique

Rebol est un langage de programmation script de haut niveau conçu et imaginé par Carl Sassenrath basé sur la sémantique dénotationnelle et se proclamant « Messaging Language ». On peut éventuellement le rattacher au langage Logo (surtout connu pour sa tortue) avec lequel il partage beaucoup de points communs.

Rebol
Logo.

Date de première version Voir et modifier les données sur Wikidata
Paradigme Programmation impérative, Programmation fonctionnelle, Programmation orientée prototype
Auteur Carl Sassenrath
Développeurs Carl Sassenrath
Dernière version 2.101.0 ()Voir et modifier les données sur Wikidata
Typage Dynamique
Influencé par Self
Forth
Lisp
LogoVoir et modifier les données sur Wikidata
A influencé JSON, Red
Écrit en CVoir et modifier les données sur Wikidata
Système d'exploitation Windows, Linux, Mac OS
Licence Apache 2.0 (2.101.0), Libre (2.7.8)
Site web www.rebol.com et rebol.comVoir et modifier les données sur Wikidata
Extension de fichier rebVoir et modifier les données sur Wikidata

Versions

modifier

Il existe plusieurs versions de l'interpréteur Rebol dont certaines sont gratuites :

  • Rebol Core (gratuit) : interpréteur en mode texte (sans interface graphique)
  • Rebol View (gratuit) : apporte le support de l'interface graphique grâce, entre autres, à son dialecte VID.
  • Rebol View/Pro (commercial) : Rebol View + Encryption (AES, RSA, ...) + l'accès aux bibliothèques dynamiques (DLL)
  • Rebol Command (commercial) : Rebol View/Pro + Accès base de données (ODBC, Oracle, MySQL) + Fast CGI + SSL (Secure Socket Layer)

Le langage est disponible sur plusieurs plates-formes, notamment Windows, Linux, Mac OS X et Open BSD[1].

Caractéristiques

modifier

Rebol est caractérisé par son haut niveau d'abstraction. Ainsi une adresse IP comme 192.164.86.8 est considérée comme un type de base en rebol et dispose de fonctions de manipulation en propre.

C'est un langage qui propose une programmation orientée prototype. En effet, il n'y a pas de notion de classe, chaque objet étant instanciable à partir d'un autre. Les notions d'instanciation et d'héritage sont moins distinctes que dans la plupart des autres langages orientés objets[évasif].

Il propose aussi un mécanisme (instruction Parse) qui permet de définir simplement un dialecte, un langage personnalisé à la syntaxe choisie de manière à résoudre plus facilement un problème informatique qu'avec la syntaxe générale du langage.

Il dispose maintenant d'un plugin qui permet l'exécution d'applets en rebol depuis un navigateur web (en , disponible encore seulement pour Windows et Internet Explorer, mais une possibilité existe pour l'utiliser aussi avec Firefox).

Exemple

modifier
REBOL [
   Title: "Coucou"
   File: %coucou.r
   Date: 12-January-2002
   Purpose: "Afficher des mots dans une fenêtre"
   Category: [view VID 1]
]
; Note : les différentes variables de l'en-tête de script ci-dessus sont toutes optionnelles

; Affichage dans la console
print "Coucou tout le monde !"

; Affichage dans une fenêtre
view layout [
   text "Coucou tout le monde !" 
   button "Quitter" [quit]
]

REBOL 3 a été lancé en 2004 et devait ouvrir Rebol au monde extérieur avec notamment l'intégration d'une couche ouverte facilitant l'intégration avec le monde extérieur via le module Host-Kit[2]. Mais seul face au projet, Carl Sassenrath souhaitant avoir la maîtrise totale sur son œuvre, n'a pas réussi. C'est finalement pendant l'été 2012, sur son blog, qu'il lança une première lueur d'espoir à l'ensemble de la communauté en attente de nouvelles sérieuses depuis plus de 2 ans[3].

Finalement, après beaucoup d'attente, le Carl Sassenrath a annoncé sur son blog la disponibilité du troisième opus du langage de programmation REBOL en Open Source[4]. Les sources sont disponibles sur GitHub sous licence Apache[5].

Bibliographie

modifier
  • Rebol Programmation, Eyrolles, 2001, Olivier Auverlot (ISBN 2-212-11017-0)
  • Rebol: Guide du programmeur, Lulu.com, 2007, Olivier Auverlot
  • Rebol: A programmer's guide, Lulu.com, 2008, Peter WA Wood & Olivier Auverlot

Sur les autres projets Wikimedia :

Liens externes

modifier

Notes et références

modifier
  1. « What is REBOL? », sur rebol.com (consulté le ).
  2. « REBOL 3.0 Component Architecture », sur rebol.com (consulté le ).
  3. Carl Sassenrath a travaillé sur le projet Roku un boitier multimédia pour transformer une télévision en SmartTV
  4. « R3 Source Code Released! », sur rebol.com (consulté le ).
  5. « Rebol/rebol », sur GitHub (consulté le ).