ESUG 2009 l’événement Smalltalk européen de l’année

L’événement annuel du monde Smalltalk européen, à savoir l’ESUG 2009, vient de se dérouler à Brest. OXiane y était représenté de deux manières : cité comme collaborateur du projet de Geomer avec Océanopolis et représenté par mon humble personne.

La plupart des gens s’attendraient à une réunion de vieux croulants ressassant les heures de gloire de Smalltalk. Il n’en est rien (j’étais le seul). Je reviens gonflé à bloc et convaincu, après avoir côtoyé près de 140 autres passionnés venus du monde entier, qu’une renaissance de Smalltalk est en cours. Smalltalk a toujours été un marché de niche mais la niche subsiste, prospère et la communauté se prend à rêver d’expansion sur des airs de « Yes we can ».

Un des grands intérêts de cette conférence internationale est qu’elle réunit industriels et universitaires. Nul doute que l’utilisation de Smalltalk dans les universités augmente et les deux projets phares que sont Pharo et Seaside constituent un réel espoir de changer l’image du langage et de lui donner un nouvel essor. Certains en profiteront ici pour conforter leur certitude que Smalltalk est un langage d’universitaires. Plusieurs faits leur donnent tort. Par exemple, j’ai appris que la branche Smalltalk de Cincom, distributeur des produits VisualWorks et ObjectStudio réunis dans une même offre appelée Cincom Smalltalk, voit son chiffre d’affaire augmenter régulièrement d’environ 20% tous les ans. Elle acquiert de nouveaux clients, augmente l’effectif de ses équipes et investit dans des développements comme son nouveau produit appelé WebVelocity, basé sur VisualWorks et Seaside.

Un autre fait marquant vient de la société Instantiations, qui nous a présenté les nouveautés actuelles et futures de VASmalltalk, le successeur du VisualAge/Smalltalk d’IBM.

Un troisième acteur industriel, GemStone, a aussi montré l’intégration du langage Ruby dans son système Smalltalk, ce qui devrait sans aucun doute augmenter encore l’intérêt et la coopération entre les deux communautés.

Sur un plan plus didactique, les différentes présentations ont permis de montrer une très grande variété d’usages de Smalltalk et surtout sa malléabilité. Pendant ces 5 jours, on a pu assister à des présentation aussi variées que :

* SqueakNOS : transformer Squeak en système d’exploitation et booter directement dessus
* Traits : ajouter un concept permettant l’agrégation de comportements dans les classes
* « instance specific behavior » : modifier le comportement d’une instance et s’en servir réellement pour simplifier la mise au point du code
* MuTalk : contrôler la qualité de ses tests unitaires par un système de « mutation du code »
* Complex Values : idées originales sur le constat que la plupart des objets que l’on manipule sont en réalité des valeurs, plus ou moins complexes mais qui devraient par conséquent être non mutables
* Glamour : écrire ses propres « browsers du système » (outils de navigation dans le code) en 15mn
* DSM : détection des cycles de dépendances entre packages à l’aide de matrices
* Retrobjects : framework pour écrire des émulateurs comme celui du Commodore64 ou de la NES
* « An Educational Role Playing Game » : le jeu de rôle développé par Geomer (et sur lequel nous intervenons) pour Océanopolis et permettant de faire prendre conscience de la complexité des mécanismes plus ou moins naturels conduisant à l’embroussaillement de l’île d’Ouessant
* Cloudfork : un projet open source pour opérer dans le domaine du Cloud Computing avec Smalltalk
* « From Print Design to Web Design » : une solution automatique aux problèmes rencontrés lorsqu’on tente de reprendre dans son site web des brochures conçues pour une présentation papier
* « How to be rich with Smalltalk » : comment intégrer Smalltalk dans des applications RIA
* « How can we get the most out of our modern CPU’s? » : comment tirer parti des architectures multi-cores de nos machines sans exposer la complexité de la programmation concurrente
* Smalltalk on IPhone : le portage de Squeak sur IPhone
* …

Ce qui frappe dans ces quelques exemples, c’est cette capacité à remettre en cause le système, l’environnement, les outils, d’imaginer de nouveaux concepts ou de nouvelles idées et de les expérimenter directement, sans pour autant remettre en cause la syntaxe et les concepts existants. Je ne peux m’empêcher de comparer avec Java où systématiquement un nouveau concept nécessite une modification du langage.

Ce qui frappe aussi c’est le bonheur manifeste qu’éprouvent tous ces gens avec ce langage. Je ne suis donc pas le seul à le penser : Smalltalk est fun, terriblement fun et bien vivant.

Vivement l’année prochaine à Barcelone.

Auteur : Jean-François LEFEVRE