ESUG 2013 : jours 2 et 3

Ma deuxième journée à l’ESUG 2013 a commencé par une présentation, d’abord commerciale puis technique, de GemStone/S, une des rares bases de données objets qui ait survécue.
Les nouveautés de la dernière version ne me passionnent évidemment pas (je n’utilise pas GemStone mais c’est vrai que ça donne envie de regarder). Je retiendrai quand même un chiffre significatif : 20% des expéditions de conteneurs maritimes seraient gérés par GemStone/S.
Racheté par VMWare en 2010, le produit est maintenant géré par la société GemTalk Systems (http://gemtalksystems.com/) dont le nom fait explicitement référence à Smalltalk (pour 50%)

Je profite ensuite d’un tutoriel sur NativeBoost (l’équivalent Pharo du DLL&CConnect de VisualWorks) pour enfin commencer à utiliser Pharo et découvrir par la même occasion la librarie Chipmunk(un moteur physique 2D).


Je suis évidemment le seul à ne pas être sous Mac, ce qui m’oblige à télécharger la vm de Pharo pour Windows. Tans pis, je n’ai pas le courage de m’installer un compilateur C pour réaliser complètement les TPs, je vais suivre sur mon voisin (et quel voisin ! Stéphane Ducasse himself 🙂 alias Monsieur Pharo).
Au moins, j’ai un Pharo récent qui tourne sur ma machine et je peux manipuler un peu l’environnement. Ca marche plutôt, bien même si on sent encore un petit retard désagréable lorsqu’on déplace son Browser (ça sent le « double buffering »)
Evidemment (déformation professionnelle ?) il faut que je découvre un truc qui me parait un bug au bout de 2mn : la recherche de classe se comporte de manière erronée avec les « * ». Finalement Stéphane m’explique qu’il faut peut-être que je mette un point devant l’astérisque. Ah ah ! tout s’explique, il faut saisir une expression régulière (faudra quand même m’expliquer le besoin d’une expression régulière pour une recherche de classe !)
Encore mieux : on peut afficher un champs de recherche avec Shift-Entrée (mais là, ça ne prend pas les expressions régulières, allez comprendre !)
Bon, c’était une session vraiment sympa et je sais enfin comment charger du code depuis les référentiels de Pharo.
L’après midi était moins intéressante en ce qui concerne les présentations. Les nouvelles possibilités de Widgets natifs d’ObjectStudio (l’autre Smalltalk de Cincom) ne m’intéressent vraiment pas. Le reste de l’après midi est consacrée aux gens qui veulent parler de leur projet. Un des projets intéressants va bientôt être mis en ligne. Il s’agit d’une application web de gestion des notes de frais.

Le jour 3 commence par la présentation de Pharo 3.0. Le boulot réalisé est incroyable (Pharo est un vrai bouillonnent d’idées qui se concrétisent). Une présentation des recherches sur l’optimisation du bytecode nous plonge dans les difficultés de trouver des optimisations subtiles dans les instructions générés. La présentation suivante nous montre une manière radicalement différente d’aborder l’environnement de développement en le centrant sur une console. La présentation des objets comme des fichiers dans une console est surprenante mais fonctionne très bien. On navigue dans les attributs de l’objet à coup de cd et de ls et les menus habituels comme browse ou inspect sont devenus des commandes. Ca fonctionne tellement bien que ça va devenir l’environnement de développement de GemTalk dans la prochaine version.
Cincom nous présente les pistes qu’ils explorent pour améliorer les performances de StORE (le système de gestion des versions de code source de VisualWorks) et continue en nous reparlant de la nouvelle implémentation des widgets natifs.
Une nouvelle session de « présenter nous votre projet » m’apprend ce qu’est devenu le fameux Croquet devenu OpenQwak. La société 3DICC l’utilise dans son produit « Terf » pour fournir un système collaboratif à ses clients.
La journée a été un peu plus courte, « Social Event » oblige. Un moment formidable autour d’un buffet au bord du lac d’Annecy pour parler de ses souvenirs de Smalltalk mais aussi de l’avenir. L’occasion aussi de nous annoncé le résultat des technologies awards.
– « Phratch » en 3ème marche du podium (une extension de Scratch permettant d’ajouter ses propres briques et surtout des briques de pilotage d’un robot si j’ai bien compris)
– « Amber » en 2ème (le chouette Smalltalk implémenté au dessus de JavaScript)
– et le winner is « Oz » (un système permettant de déboguer son image Pharo sur disque lorsqu’elle est plantée)