Ventury Networks’ Blog

“If it walks like a duck and quacks like a duck, I would call it a duck.”

Petite présentation de Smalltalk


Smalltalk est un langage de programmation, entièrement objet, créé en 1972. Ainsi, il à peu près le même age que le langage C, mais est largement moins répandu (sans doutes à tord). Développé à l’origine par Xerox, il reste cependant le langage objet par excellence. De nombreux Smalltalks sont multi-plateformes.

Smalltalk est un langage objet pur, c’est à dire que tout, en Smalltalk, est objet. Tout, en Smalltalk, est modifiable, à la volée. Il est ainsi possible de modifier en cours d’execution, le contenu du programme, l’ensemble des classes, les méthodes associées, ou le fonctionnement même de Smalltalk, sa pile d’execution, sa methode d’allocation mémoire … le tout, éventuellement, de façon programmée, et sans necessiter d’arrêt dans l’exécution du programme.

Smalltalk est à l’origine du concept de Design Pattern, et se prête particulièrement à l’implémentation de ceux ci. L’utilisation d’un pattern visitor, ou d’un pattern composite, est une opération particulièrement aisée en Smalltalk, de par sa structure purement objet.

eXtreme Programming trouve aussi ses origines au sein de la communauté de developpeur Smalltalk. En effet, un code Smalltalk permet sa modification de manière simple et rapide. A ce titre, le Refactoring est un concept évident en Smalltalk. D’ailleurs, dans les IDE Smalltalk les plus courrant existent des outils permettant d’effectuer de manière sures et efficaces du refactoring, mais aussi du deboggage à la volée, avec un outil Debugger permettant l’arret, la correction, et la reprise à chaud de l’exécution d’un code.

Il est courant d’affirmer que la syntaxe de Smalltalk tiens sur une carte postalle. En serrant un peu les lettres, ca devrait passer ;)

Smalltalk dispose pour “avatar” d’un ballon captif, ou, c’est selon, d’une mongolfière. Cette image laisse penser, à juste titre, que Smalltalk est un langage de (très) haut niveau. Actuellement, plusieurs implémentations de Smalltalk sont disponibles. Cependant, je parlerais principalement de l’environnement VisualWorks, developpé par Cincom, et dans une moindre mesure, de l’environnement libre Squeak.

Tags :