Interview d'Olivier Auverlot par les reboleurs

Auteur du livre "Programmation Rebol" et webmaster du site RebolFrance, Olivier répond à toutes les questions de No'.

Quand as-tu entendu parler de REBOL pour la première fois ?
Si mes souvenirs sont bons, c’était en 1997. Je suis tombé sur une news dans le magazine Login qui évoquait le projet de Carl Sassenrath de concevoir un nouveau langage de programmation concurrent de Java. J’étais à l’époque occupé à comprendre comment le marketing de Sun avait réussi à me convaincre que Java était une révolution. Déçu par ce langage, j’ai téléchargé la version 1.0 de Rebol et je l’ai installée sur mon 486DX4/100 sous Linux. C’était lent et totalement différent de tout ce que je connaissais mais il était déjà évident que le potentiel était incroyable. J’ai ensuite écrit mon premier script et je l’ai testé sur la version Windows de l’évaluateur. Comme par miracle, tout a fonctionné du premier coup à la perfection et sans aucune modification. Tombé sous le charme, j’ai rangé mes bouquins sur Java dans une caisse et je crois qu’ils y sont encore...

Qu’est-ce qui t’a séduit dans ce langage ?
Le premier aspect séduisant de Rebol est l’indépendance des scripts vis à vis de la plate-forme d’exécution. Rebol est le seul langage de programmation qui offre un tel niveau d’abstraction pour le programmeur. Il m’arrive quotidiennement de faire tourner les mêmes scripts sous Windows, Linux et MacOS X. Lorsque je développe en Rebol, il m’arrive de ne même pas réfléchir ou de ne pas tenir du compte de la machine ou du système d’exploitation utilisé.
Rebol est également incroyablement doué dans le domaine de la manipulation des données. J’adore les aspects dynamiques du langage comme l’évaluation contextuelle qui autorise par exemple l’auto-génération de code Rebol lors de l’exécution d’un script. Son modèle architectural basé sur celui d’un méta-langage, ses capacités dans le domaine de la programmation réseau, ses aspects novateurs tels que les dialectes et surtout sa richesse fonctionnelle, en font une solution de développement novatrice et inédite.


En quoi REBOL t’aide t’il dans ton travail ? Quel genre de programmes élabores tu dans ce langage ?
En général, il m’aide à programmer très vite et surtout, il me permet d’utiliser une seule technologie quelque soit le type d’application développée. J’écris des applications web avec Rebol/Command et des SGBD tels que MySQL ou Informix (c’est d’ailleurs pour me simplifier la vie que j’ai conçu Magic pour Apache). Il m’arrive également de développer des utilitaires d’administration système pour Windows ou Linux. Enfin ces derniers temps, je me suis penché sérieusement sur le développement pour Rebol/IOS. Ce produit est tout simplement incroyable. Comparé aux solutions web classique, c’est Star Trek !

Pourquoi avoir choisi ce langage plutôt qu’un autre ?
C’est une question que je me pose tous les jours... En fait, il ne faut surtout pas croire que je me focalise totalement sur Rebol. Pour moi, il ne constitue pas une fin mais plutôt une étape dans l’évolution des langages de programmation.
Afin de pouvoir comparer et ne pas trop dire de bétises, j’étudie donc également les autres langages prétendument concurrents de Rebol et franchement, je n’accroche pas. PHP par exemple, me semble beaucoup trop conservateur. Ruby et Python sont deux excellents langages mais ils n’apportent rien de nouveau et surtout, ils ne sont pas aussi compacts que Rebol qui constitue une solution tout en un. Java est une solution transitionnelle et aurait dû le rester. .NET est très séduisant sur le papier mais quelle sera son évolution ?
Pour trouver un successeur à Rebol, je me concentre donc sur des petits nouveaux tels que Suneido ou IO. Ces langages reprennent certains des concepts forts de Rebol : sa légéreté, sa cohérence, sa puissance ainsi que l’abandon du navigateur afin de donner naissance à un Internet organique et dynamique : le fameux X-Internet.

Olivier parle de Rebol dans l'émission CyberNet21 de la RTBF.


Quelles orientations peuvent prendre le portail RebolFrance pour promouvoir REBOL dans les entreprises et auprès des programmeurs ? Quelles actions sont prévues ?
Pour que Rebol poursuive son évolution, il faut en effet séduire les profesionnels afin qu’ils le choisissent comme outil de développement. Pour soutenir les entreprises qui adoptent Rebol, une nouvelle section va prochainement être ajoutée au site afin que les profesionnels puissent communiquer sur leur société et exposer leurs domaines de compétences. Je voudrais également que les utilisateurs de Rebol se fassent connaître en expliquant pourquoi ils utilisent Rebol dans tel ou tel secteur d’activité.

Comment te positionnes-tu par rapport au Framework REBOL de NéoKod ?
Très bien, merci ;-) L’initiative du Framework est une excellente idée. Il faut simplement qu’il n’y ait pas concurrence entre les deux sites.Le Framework constitue un excellent moyen pour échanger des bouts de code et des idées. RebolFrance est par contre un site d’informations offrant de la documentation, des cours et des exemples de projets réalisés avec Rebol. La mission du site RebolFrance consiste à être une vitrine de l’activité de la communauté Rebol francophone.

L’AFUP (Association Française des Utilisateurs de PHP) a organisé un salon PHP l’an dernier. Est-ce que la communauté REBOL francophone pourrait faire de même ?
Oui bien sûr et ce serait formidable ! C’est un projet formidable qu’il faut mettre en place rapidement afin que les membres de la communauté se rencontrent. Nous pourrions également inviter des entrerprises afin de leur présenter des solutions inovantes telles que Rebol/IOS. S’il y a des volontaires pour travailler sur l’organisation d’un tel événement, ils peuvent prendre contact avec moi.


Certains codeurs reprochent à REBOL de ne pas être Open Source. Qu’en penses-tu ?
Sans vouloir choquer, je pense que c’est un faux débat car on ne peut juger des qualités d’un produit à son modèle de distribution. On ne choisit pas un langage de programmation selon sa licence mais selon ses qualités. Rebol est un produit commercial un point c’est tout. Lorsqu’on utilise Rebol, on accepte du même coup le statut du produit. Si sa licence ne convient pas, on cherche un produit Open Source équivalent mais encore faut-il que celui ci existe et ce n’est pas le cas. Je crois qu’il faut peser le pour et le contre, et mettre dans la balance la puissance du produit d’un côté et son coût de l’autre. Je pense sincèrement que nous sommes gagnants sur les deux tableaux.
Reste l’argument ultime de l’Open Source : l’accès au code source. Que le code de l’évaluateur soit livré ou pas m’importe peu car je suis certain de ne pas avoir la moindre chance de comprendre quoi que ce soit à son fonctionnement. L’évaluateur Rebol est une mécanique complexe dont la réalisation est réservée à des programmeurs géniaux tels que Carl Sassenrath. Par contre, Rebol est un méta-langage et ce point crucial est souvent oublié par ceux qui critiquent Rebol. La plupart des mots du langage sont eux-même écrits en Rebol et l’intégralité du dictionnaire peut être redéfini. Le véritable accès au code source est ici et fait de Rebol, un outil maléable à l’infini et totalement personalisable. Paradoxalement, Rebol est sûrement l’un des langages de programmation des plus ouverts et des plus transparents qui soient.

Attention, cette interview semble contenir une publicité subluminale !


Que penses-tu de la politique commerciale de Rebol ? Ne-crois-tu pas qu’elle pénalise les codeurs voulant développer des freewares ? Penses -tu que cette politique pourrait changer ?
Actuellement, je suis également assez critique sur ce point et je pense que la licence du SDK devrait être plus souple. Comparé aux autres outils de développement commerciaux, le prix du SDK est vraiment très compétitif et cela justifie le principe d’Alliance qui est : si vous gagnez de l’argent avec un produit développé grâce à Rebol, Rebol gagne également un peu d’argent. Pour le développeur, la prise de risque est minime puisqu’il n’a pas à investir beaucoup d’argent. Quelque soit le volume des ventes, il est ainsi relativement aisé de rentabiliser l’acquisition de l’outil de développement.
Le principe me gène beaucoup plus dans le domaine du freeware. Pour moi, l’idéal serait que la distribution d’applications développées avec le SDK soit totalement libre à une seule condition : que le programme indique à son utilisateur qu’il a été conçu en Rebol. Chaque freeware deviendrait ainsi une publicité pour Rebol et tout le monde serait gagnant.


Quelles améliorations souhaiterais tu dans le langage REBOL ? Quels domaines sont encore à explorer ou à améliorer ?
Il y a énormément de domaines à explorer et c’est plutôt positif : cela signifie que la marge de progression de Rebol est encore très importante. Pour Rebol/Core, j’adorerais trouver en standard le support du multithreading, un parseur XML plus performant et des protocoles tels que SOAP, WebDAV, SNMP ou encore Jaber.
Pour Rebol/View, le support de SVG serait formidable. Dans le domaine du jeu vidéo et du multimédia, j’attend avec impatience l’arrivée de nouveaux dialectes afin d’intégrer OpenGL et OpenAL.
Quant à Rebol/Command, il faut surtout lui ajouter de nouveaux connecteurs aux principales sources de données des entreprises. Le support du protocole LDAP me semble un projet prioritaire. Command a également besoin d’accèder à des SGBD tels que PostgreSQL ou encore DB2.
La plupart de ces propositions sont d’ailleurs tout à fait réalisables avec les versions actuelles de Rebol. Il faut maintenant développer l’existant afin qu’il constitue une plateforme de développement crédible pour le marché professionnel.


2003, l’année REBOL ?
Bien sûr que oui ;-) Quelqu’un en doute ?

Propos recueillis par Bruno Bord (alias No')

Retour