Cuis Smalltalk propose une version moderne du langage orienté objet
Cuis Smalltalk, environnement libre et portable fidèle à Smalltalk-80, remplace l’architecture MVC traditionnelle par Morphic et reste accessible aux développeurs qui découvrent l’approche objet.
Smalltalk occupe une place particulière dans l’histoire des langages orientés objet. Il n’a pas été le premier de ce type, et sa diffusion reste moins large que celle de certains de ses successeurs. Pourtant, il a été pour beaucoup de programmeurs leur première rencontre avec la programmation objet, et il a influencé de nombreux langages utilisés aujourd’hui. Développé au célèbre Xerox PARC, il a également popularisé l’architecture modèle-vue-contrôleur, connue sous le sigle MVC.
C’est dans ce contexte que s’inscrit Cuis Smalltalk, un environnement Smalltalk-80 libre et portable. Le projet remplace le cadre MVC traditionnel par Morphic, une bibliothèque d’interface graphique. Pour le reste, selon la présentation du projet, un utilisateur ayant pratiqué Smalltalk dans les années 1990 s’y retrouverait sans difficulté. L’objectif affiché est de conserver un noyau simple, la complexité pouvant être ajoutée au moyen de paquets complémentaires.
Le logiciel est distribué selon un modèle de publication continue, ce qui signifie que la méthode recommandée pour l’obtenir consiste à cloner le dépôt Git du projet. Des versions stables sont toutefois disponibles, un point qui peut compter pour des équipes souhaitant déployer des applications. Une fois lancé, le programme ouvre un bureau Cuis dans lequel l’utilisateur peut ouvrir des espaces de travail, des documents d’aide et la fenêtre de trace, appelée « transcript ».
Smalltalk peut dérouter les personnes habituées à d’autres langages, car il pousse l’approche objet à l’extrême. Ainsi, l’addition de deux nombres ne s’effectue pas avec un opérateur : on envoie à l’objet deux un message contenant un autre objet, trois. Envoyer un message revient, en pratique, à appeler une méthode sur un objet. À l’image des fonctions virtuelles du C++, des objets différents peuvent réagir de manière différente à une même requête. Un exemple cité est celui d’une classe Animal dotée d’un message speak, qui fait afficher « meuh » à une vache et « cot-cot » à un poulet.
Les utilisateurs s’habituent généralement à cette logique, d’autant que le navigateur de classes intégré permet d’examiner les classes et les actions qu’elles autorisent. Des paquets permettent aussi de dialoguer avec une carte Arduino via un port série. Ces paquets n’ont pas été mis à jour récemment et pourraient nécessiter quelques ajustements. Cuis Smalltalk avait déjà été présenté dans ces colonnes, de même que GNU Smalltalk, ainsi qu’une version fonctionnant directement sur Raspberry Pi.
2
