J’ai finalement pris le temps de télécharger VisualWorks 7.9.1 et de l’installer… Mes premières impressions ? Rien de significatif ni de très visible du côté des outils par rapport à la version 7.8, mais de subtils ajouts en préparation de la version 7.10.
De nombreux changements du côté de la machine virtuelle, dont le support 64 bits pour Windows, un garbage collector plus performant et l’abandon des plate-formes Linux/SPARC.
Côté GUI, quelques ajustements mineurs mais une foule d’ajouts en vue de la version 7.10. Mais quelques petits changements irritants qui pourraient vous causer de désagréables surprises.
Par exemple, la classe ApplicationWindow n’est plus une sous-classe de ScheduledWindow mais bien un alias de celle-ci tel qu’expliqué ici!
Autre chose, la classe SubCanvas a subi quelques modifications. Cette classe est maintenant obsolète et ses méthodes ont été rapatriées dans sa superclasse, CompositePart. Effet collatéral: la variable d’instance "client" apparaît maintenant dans CompositePart et la méthode client a disparu! Autre disparition, la méthode #clientSpecBuilder! Plus de détails ici.
Quelques ajustements mineurs du côté des bases de données, le plus important étant le support 64 bits pour Oracle et ODBC ainsi que SQLite 3. Du côté des curiosités concernant les requêtes SQL, il appert que les versions antérieures de VisualWorks permettaient, avec Oracle, de binder avant de faire un prepare : cela ne fait absolument aucun sens, mais il semble que certains se fiaient à VisualWorks et ses tours de magie pour compenser le fait que l’ordre des étapes nécessaires à l’exécution d’une requête SQL était inversé. Bref, cela ne fonctionne plus sous 7.9 ! Comme il se doit, vous devez maintenant préparer puis binder puis exécuter! Les détails sont ici.
Les plus nombreux ajouts et changements apportés par cette version sont regroupés au niveau des services web. Il y en a tant qu’à cet égard, je vous suggère de lire la pléthore de changements et d’ajouts dans le document Release Notes à la section WebServices.
Outre les changements énumérés précédemment, il y a quelques détails au niveau de StORE qui ont été ajusté, de nouvelles implémentation au niveau des librairies de sécurité, etc.
Cela étant dit, ceux qui migreront vers cette version frapperont un mur au niveau de StORE. Premier petit changement mineur, l’affichage des Bundles suit maintenant l’ordre alphabétique au lieu de l’ordre dans lequel ceux-ci devraient être chargés (considérant les prérequis de chacun). Du côté des désagréables surprises, un sérieux problème de lenteur affecte la fonctionalité "browse versions" pour les méthodes dans la version officielle. Heureusement, il existe déjà un correctif disponible (publié par Samuel S. Shuster sous le nom FastMethodVersions) sur le Cincom Public Repository!
Finalement, autre changement majeur concernant la méthode #@ (class Point). Si vous créez un point avec la coordonnée y étant négative, vous aurez la surprise de découvrir que @- est maintenant un message valide! Cela vous force donc maintenant à insérer un espace entre le @ et la coordonnée y négative! Plus de détails ici.
Bref, la version 7.9.1 vaut amplement la peine d’une migration, d’autant plus que la version 7.10 introduira le nouveau framework SiouX pour les serveurs Web!
Classé dans:Oracle, Smalltalk, SQL, SQLite, VisualWorks Tagged: migration, Oracle, Smalltalk, SQLite, VisualWorks Image may be NSFW.
Clik here to view.

Clik here to view.
