Rebol
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 | ||
Date de première version | ||
---|---|---|
Paradigme | Programmation impérative, Programmation fonctionnelle, Programmation orientée prototype | |
Auteur | Carl Sassenrath | |
DĂ©veloppeurs | Carl Sassenrath | |
Dernière version | 2.101.0 () | |
Typage | Dynamique | |
Influencé par | Self Forth Lisp Logo |
|
A influencé | JSON, Red | |
Écrit en | C | |
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.com | |
Extension de fichier | reb | |
Versions
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
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.
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
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]
]
Rebol3
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
- 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
Liens externes
- Rebol.com
- REBOL France Site de la communauté francophone
- Rebol.org
- Cheyenne - serveur HTTP Ă©crit en REBOL
- Sources REBOL3
Notes et références
- « What is REBOL? », sur rebol.com (consulté le ).
- « REBOL 3.0 Component Architecture », sur rebol.com (consulté le ).
- Carl Sassenrath a travaillé sur le projet Roku un boitier multimédia pour transformer une télévision en SmartTV
- « R3 Source Code Released! », sur rebol.com (consulté le ).
- « Rebol/rebol », sur GitHub (consulté le ).