next up previous contents index
Next: Le modèle à objets Up: Introduction à Smalltalk-80 Previous: Introduction

Introduction à Smalltalk-80

 

Smalltalk-80 [LP90, Gol83] est à la fois un langage, un système d'exploitation et un environnement de programmation. Smalltalk, ObjectWorks et VisualWorks sont des marques déposées de ParcPlace Systems, Inc. La richesse de la bibliothèque de classes prédéfinies et sa facilité d'utilisation en font un outil idéal pour le prototypage d'applications. A la différence d'Eiffel ou C++, toutes les classes sont accessibles directement dans l'environnement de travail et donc redéfinissables.

Smalltalk est inspiré de Lisp et de Simula. On retrouve ces influences au travers des nombreux concepts du langage (objets, classes, métaclasses, méthode comme objet, super-méthode, héritage simple, processus, etc.) et des outils de développement   (ramasse-miette, évaluation d'expressions quelconques, inspecteurs, débogueurs). Smalltalk comprend aussi un riche environnement de classes pour la persistance  et de traitement d'exceptions .

Les objets sont stockés dans un environnement appelé Workspace. L'allocation dans cet espace est implicite à la création d'objets (méthode new). La récupération se fait par un ramasse-miette  et non par des desctructeurs comme en C++.

Smalltalk-80 permet de gérer différentes applications dans l'environnement. Ces applications sont appelées projets . Nous n'en parlerons pas ici.

L'environnement est la donnée de trois fichiers : un fichier contenant les classes de base du système, un fichier contenant les objets et un fichier journal  contenant les modifications du système depuis la création de l'environnement. Ces fichiers sont détaillés dans la section 4.1.

L'utilisation de l'environnement se fait interactivement avec la souris, qui prend dans Smalltalk-80 une importance cruciale. Trois boutons activent trois menus contextuels, sensiblement différents des menus déroulants à la Windows ou à la Macintosh. Ces points sont détaillés dans la section 4.1.5.

L'interface avec des fichiers se fait par la commande fileIn appliquée à des descriptions textuelles Smalltalk (fichier avec le suffixe .st). Il est conseillé de rentrer les classes dans l'ordre super-classe sous-classe pour éviter les liens indéfinis. Cette commande exécute aussi les méthodes d'initialisation de classe.

Toujours à la différence d'Eiffel, les noms de variables et de méthodes ne contiennent pas le caractère souligné, qui dans une version précédente de Smalltalk, désignait le destinaire du résultat d'une méthode (sorte d'affectation). La convention est d'écrire la première lettre du premier mot en minuscule et la première lettre des mots suivants en majuscule. Certains noms ne doivent pas être interprétés, ils sont désignés par des symboles, ils sont préfixés par #.

La programmation en Smalltalk consiste à découvrir les classes du système et à les adapter à ses propres besoins. C'est là tout l'esprit du développement à objets.


next up previous contents index
Next: Le modèle à objets Up: Introduction à Smalltalk-80 Previous: Introduction

Pascal Andre
Tue Jun 8 12:20:44 GMT 1999