ESUG jour 2

Smalltalk est bien sur la ville de Gand cette semaine, comme le prouve cette photo prise dans la soirée. Chapeau pour les organisateurs de l’ESUG ! 🙂

Cette deuxième journée des conférences ESUG 2012 s’avère tout aussi riche que la précédente.

La première conférence de la matinée nous parle de sauvegarde de code Smalltalk avec Git. Le point de départ de la présentation rappelle que la sauvegarde du source ne suffit pas, il faut aussi sauvegarder la structure des packages. L’approche présentée consiste en une structure nommée FiltreTree où chaque méthode et définition est sauvegardée dans son propre fichier. L’approche choque au premier abord mais s’avère redoutablement efficace pour profiter des avantages indéniables de Git et de GitHub. Le problème de l’archivage et du versionning du code Smalltalk n’est donc toujours pas définitivement réglé. Après avoir connu les échanges de fichiers à manipuler avec le Changes Browser, puis le formidable outils que constituait Envy/Developer, le PVCS dans Visual Smalltalk Enterprise (si je me rappelle bien), les parcelles de VisualWorks puis StORE et Monticello (je dois en oublier, je ne connais pas bien la lignée des Squeak), le prochain moyen de versionner le code sera peut-être Git. L’approche est motivée par la formidable puissance de gestion des branches de Git, disponible sans avoir à le réécrire. Encore une fois l’intégration continue est cité (c’est décidément un sujet d’actualité dans le monde Smalltalk aussi).

La deuxième conférence présente les dernières évolutions de VA Smalltalk. La liste des nouveautés me fait un peu peur par certains points qui n’étaient donc pas supportés dans les versions précédentes mais le produit est bien vivant et table sur 2 releases par an avec la sortie imminente de la 8.5.2.

La présentation suivante nous parle de Sealess, un framework de programmation distribuée. L’idée proposée est de ne plus utiliser directement les classes Socket mais de bénéficier d’un framework de haut niveau permettant d’accéder facilement à des objets distants. Le premier exemple montre l’accès et l’écriture dans un Transcript d’une autre image. Comme dit Georg, j’ai déjà vu ça il y a 20 ans et pas mal de framework sur le sujet on déjà été réalisés ou sont directement livrés dans le système avec le support de CORBA. Un débat houleux s’engage. Bon, même si on a déjà vu des choses similaires, un des intérêts c’est que le système s’appuie sur le nouveau framework de sérialisation FUEL, ce qui lui permet d’échanger des choses assez sophistiquées comme des méthodes ou des processus et donc de faire du load balancing ou de concevoir ce qu’il appelle des BigObjects (des objets potentiellement énormes partagés entre plusieurs images. Tout ça me rappelle des choses comme Terracota.

La présentation suivante nous parle de Glorp en pratique. Chouette ! je vais pouvoir avoir un aperçu de GLORP, que je n’ai toujours pas pris le temps de regarder. Quelle déception ! C’est verbeux, avec des messages peu lisibles, qui justifient de se lancer dans l’écriture d’un outillage pour générer le mapping, ce qui est justement le sujet de la présentation. Et les gars ! pour une fois il y a un truc pas mal dans Java, ça s’appelle JPA, c’est entièrement spécifié et c’est plutôt bien fichu, on pourrait peut-être s’en inspirer un peu (ça ne serait qu’un juste retour des choses pour tout ce que Java a piqué à Smalltalk).

La session de l’après midi présente OOSCM, une bonne idée consistant à concevoir une gestion de versionning objet et non plus basée sur les sources (ah, oui ça sera peut-être pas Git finalement mais plutôt un système de versionning basé sur des objets pour représenter les changements). Bon, on a eut la présentation la veille du coup, on va plutôt allez voir les Internationnal Workshop  on Smalltalk Technologie. Il s’agit de présentation de sujet de recherches :

Le premier parle des problèmes rencontrés lorsqu’on tente d’intégrer Smalltalk et Java. Intéressant techniquement mais la démo du produit aura lieue en fin de matinée demain.

Le deuxième parle de Refactoring en utilisant de l’inférence de type. Tiens, ça à l’air d’être aussi un autre sujet à la mode ça, le typage de Smalltalk. Bon, c’est sûr que le refactoring pourrait être amélioré si on arrivait à inférer plus de choses automatiquement mais c’est clair qu’on atteindra jamais le niveau d’un Refactoring Java (c’est pas grave, ça oblige à réfléchir un peu plus à ce qu’on fait).

Et le 3ème parle de Etoilé (arrrrg !!! je vais encore rien comprendre). Bon finalement, je comprend un tout petit peu mieux mais ça à l’air à la fois très ambitieux et très usine à gaz (non merci pour les usines à gaz, c’est bon, il y a Java pour ça)

La conférence suivante n’est rien de moins qu’une rétrospective de 31 ans depuis la sortie de l’article du byte magazine qui a fait connaître Smalltalk au monde entier. En fait, ça va même plus loin puis qu’on se fait un flashback vers 1968 et l’informatique de cette époque. Beaucoup d’émotion dans ce retour dans le passé et les citations tirées des revues de l’époques.

La fin de l’après-midi est dédiée aux participants qui souhaitent présenter en 10 minutes leur projet. Pas mal de projets sont présentés, aussi variés qu’intéressant comme de la génération de tests automatiques pour sécuriser une migration de système d’assurance ou la simulation de plantes.

La dernière conf parlant de migration du CMS Pier, nous nous éclipsons Gaëtan et moi pour toucher un peu à Amber, mais ça ce sera pour un autre billet.