Ceci est un cours d'introduction aux langages objets, ou d'introduction au langage SMALLTALK, ou ecore un cours d'introduction à SQUEAK, le dernier né de la famille Smalltalk. Vous y trouvez des versions imprimables (en format Postscript et en format PDF). Ces versions imprimables ne sont présentes que pour avoir la possibilité d'avoir une version papier, lisible loin de tout ordinateur. Pour travailler sur le cours, utilisez plutôt la version online, en format html. Si vous souhaitez l'installer sur votre ordinateur, téléchargez le fichier que voici. Pour le décompresser faites : gunzip squeakHtml.tar.gz. et extrayez l'ensemble des fichiers avec la commande tar xf squeakHtml.tar. Ceci crée un répertoire neuf appelé stkhtml qui contient l'ensemble des fichiers composant la version html du cours. Ensuite, pour lire le cours (sur votre machine et hors connexion à Internet) importez (dans le répertoire où vous vous trouvez actuellement, donc juste au-dessus du répertoire stkhtml) le fichier que vous lisez actuellement et ouvrez le dans un explorateur (telle que Mozilla Firefox ou Konqueror ou encore MS-Internet-Explorer). Pour le cas ou vous en auriez besoin, le point d'entrée principale de tout cet ensemble de fichiers en format html est le fichier que voici.

Dans tous les cas, commencez par lire le court Préambule
, qui vous donne un bref aperçu de ce que doit être un langage objet, ainsi qu'une petite généalogie des ces langages.

Le chapitre 1, Un bref tour de SQUEAK, également un chapitre très bref, vous donne les armes nécessaires pour pouvoir installer et commencer à utiliser l'interface de SQUEAK. Après lecture de ce chapitre, aprenez par coeur l'annexe B, intitulée Liste des Raccourcis Claviers : souvent les raccourcis clavier prennent moins de temps que les recherches dans une suite de menus.

Ce chapitre, comme la majorité des chapitres, se termine par une suite d'Exercices. Faîtes les exercices ! Et seulement après les avoir résolus (ou après trois semaines d'echecs succéssifs) regardez les solutions à ces exercices. Très souvent, les parties solutions contiennent des matières supplémentaires faisant entièrement partie du chapitre correspondant.

Le chapitre 2, Un premier programme, vous introduit, de manière intuitive à la programmation en SQUEAK. Étudiez-le attentivement, implantez les programmes et résolvez tous les exercices. Comme dit plus haut, regardez les solutions aux exercices, mais seulement après les avoir résolus ou quand vous vous sentez complètement bloqué.

Le chapitre 3, Architecture et Héritage, peut être laissé de côté lors d'une première lecture. Il précise le vocabulaire que nous utilisons, mais n'apporte ni de concepts nouveaux, ni de techniques de programmation nouvelles. C'est aussi le seul chapitre qui ne contient aucun exercice.

Vient ensuite l'énorme chapitre 4, intitulé Quelques éléments de la syntaxe et grammaire SQUEAK. Les premières sections de ce chapitres sont plutôt des rappels, des clarifications et des approfondissements de notions déjà rencontrées dans les chapitres et exercices précédents.
Il faut y étudier les rappels sur les pseudo-variables
, nil, true et false, ainsi que self et super.
Survolez ce chapitre, essayez-vous dans les exercices. Considérez ce chapitre comme un chapitre ressource vers lequel vous retournez quand, dans des chapitres ultérieurs, vous rencontrerez des notions, des structures ou des messages que vous ne comprenez pas. Néanmoins lisez attentivement la section sur les tableaux et la section sur les messages. Lors d'une première lecture, ignorez tous ce qui à affaire à des primitives, nous en n'avons pas besoin dans un cours d'introduction. Par contre, étudiez la section 4.6 Structures de contrôle, toujours en ignorant les références à la compilation et aux primitives. Ce qui nous interessent ici, c'est les structures programmatoires de SQUEAK.

Lors d'une première lecture, vous pouvez sans problèmes sauter la section sur le traîtement des exceptions, mais n'oubliez pas de faire les Exercices de la section 4.8 (comme toujours, ne regardez les solutions qu'après avoir trouvé vos propres réponses).

Enfin, les chapitres 5 et 6 décrivent des vrais programmes SQUEAK. Étudiez très attentivement les premières 5 sections du chapitre 5 Des dessins comme en Logo. Ce sont les sections intitulées La classe Pen, Quelques fractals: des dessins récursifs, Exercices (ici "étudier" veut dire résoudre les problèmes donnés), Une restructuration de nos programmes Logo et Une interface utilisateur pour les dessins Logo. Ces sections donnent les bases de la programmation nécessaires pour construire des interfaces utilisateurs et pour toute programmation graphique. Vous y apprendrez comment programmer des fenêtres, comment programmer des menus et ce que sont les morphs.

Ensuite, c'est à vous de choisir (en générale, pour un premier cours, une seule des continuations possibles est requise) :

  1. si vous voulez continuer avec l'apprentissage d'un type de programmation graphique fort surprenant, continuez avec les sections sur les Systèmes de Lindenmayer. Vous y apprenez comment écrire un petit interprète pour un langage particulier (les L-systèmes) et, dans le chapitre Lire un L-système d’un fichier, les rudiments de la lecture et de l'écriture de fichiers. N'oubliez pas de terminer avec les Exercices de la section 5.6.6.
  2. Si vous êtes intéressé par la programmation d'objets dont le comportement dépend d'autres objets, continuez avec le chapitre 6, intitulé Les dépendances. Vous y apprendrez, d'abords à travers la programmation d'une rangée de boutons mutuellement exclusifs, ensuite à travers la programmation d'une claculatrice simple, le mécanisme de SQUEAK qui permet d'instaurer des relations comportementales entre différents objets, qui, a priori, n'ont pas d'autres relations, telles que des relations de classe/sous-classe. Dans ce chapitre nous faisons aussi intensément usage des morphs enfichables (des "pluggables morphs"). Ce chapitre se termine par une reconstruction en SQUEAK de la fameuse calculatrice KCalc disponible sous tout système Linux. Ici également, n'oubliez pas d'améliorer votre pratique de SQUEAK en étudiant bien les Exercices de la section 6.3 et ceux de la section 6.5 qui explorent encore ces notions de dépendances.

En cas de moindre doute sur la syntaxe de SQUEAK, vous pouvez consulter l'annexe C Précis de la syntaxe de SMALLTALK, qui en donne une description très compacte et néanmoins complète.

Finalement, la Bibliographie donne des références à des articles, livres ou conférences se référant aux langages à objets. Vous y trouverez surtout des références historiques. Si vous cherchez un autre texte sur SQUEAK, vous pouvez consulter l'excellent Squeak by example de Stéphane Ducasse.