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 | |
modifier |
Versions
modifierIl 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
modifierRebol 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
modifierREBOL [
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
modifierREBOL 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
Liens externes
modifier- Rebol.com
- REBOL France Site de la communauté francophone
- Rebol.org
- Cheyenne - serveur HTTP écrit en REBOL
- Sources REBOL3
Notes et références
modifier- « 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 ).