Mode d’Emploi

Pour apprendre à programmer des objets, il faut avant tout les connaître. Pour cela il faut savoir les programmer. Voici donc une boucle inférnale — qui peut rendre fort pénible l’apprentissage d’un langage objet.

Ce livre facilite, par sa présentation intuitive des sujets abordés, la sortie de cette boucle. Basé d’emblée sur des mini-projets et des projets grandeur nature, il offre le support nécessaire pour acquérir d’une manière aisée et, nous l’espérons, stimulante, une culture et un savoir faire de la programmation objets.

Il représente une synthèse d’une dizaine d’années de support de cours d’introduction à la programmation objet que l’auteur a assuré aux étudiants de première année de Licence Informatique. Après ces cours, l’étudiant possède une solide culture de la programmation en général et sait concevoir, réaliser et mettre en œuvre ses propres projets de programmation objet. Il utilise alors le langage SMALLTALK à travers son dialecte SQUEAK, choisi pour sa purété de présentation des objets, la puissance de son environnement, l’énorme quantité de programmes exemples qu’il procure (tout le système SQUEAK est écrit en langage SQUEAK), et, finalement, pour sa libre disponibilité open-source sur toutes les plateformes. En effet, SQUEAK tourne de manière identique sur tous types d’ordinateurs, sous les systèmes Windows, Apple-OS, Linux ou encore d’autres, voire même des ordinateurs de poche.

À l’exception du chapitre 3, chaque chapitre est organisé comme un cours accompagné de travaux dirigés et de travaux pratiques. Ce livre ne peut être assimilé sans s’impliquer dans les travaux dirigés et sans résoudre soi-même des problèmes. Ici, résoudre des problèmes se traduit par concevoir et implémenter des programmes.

Les parties cours de ce livre sont les chapitres 1 à 6.

Celles des travaux dirigés se trouvent toutes dans l’annexe 1, intitulé Solutions aux exercices.

Pour apprendre il faut pratiquer! Ce qui est valable pour apprendre une langue étrangère, où il faut vivre en un lieu où cette langue est pratiquée au quotidien, vaut aussi bien pour l’apprentissage d’un langage de programmation, où il faut “vivre” dans le système utilisant ce langage. Le chapitre 1 explique la manière de se procurer sa copie personnelle du système SQUEAK permettant de se créer un lieu où l’on peut “vivre” une vie de programmeur objet. L’utilisation du système SQUEAK en parallèle à la lecture de ce livre est indispensable pour assimiler le texte.

Cette utilisation permanente du système SQUEAK constitue les parties travaux pratiques, qui deviennent alors implicites lors du passage de la lecture des chapitres vers l’annexe 1. Celles-ci ne sont pas traitées dans ce livre. Elles sont à la charge du lecteur.

Comment faire? Au début, il faut s’approprier l’interface merveilleusement idiosyncratique de SQUEAK en l’explorant interactivement, en “jouant” avec. Faites-le pour le plaisir!

Ensuite, à chaque rencontre d’une expression SMALLTALK qui ne vous semble pas explicite, une vérification sur l’ordinateur s’impose. Même si elle vous semble limpide, pianotez la sur votre ordinateur.

À la lecture de chaque énoncé d’exercice, arrêtez-vous et prenez le temps pour le résoudre et l’implémenter. La solution ne marchera pas tout de suite. Pas de crainte: la correction et l’amélioration de programmes font partie du lot quotidien de tout programmeur, autant s’y habituer dès ses premiers pas en programmation.

Il est indispendable de dépasser le simple cadre de l’exercice: plus d’une manière de le résoudre existent. En trouver plusieurs est toujours plus instructif que de n’en trouver qu’une. Après suffisamment de pratique, la programmation devient une activité plaisante, voire même passionante. Plus on y passe de temps, plus vite on devient bon programmeur.

C’est seulement après avoir trouvé ses propres solutions que s’impose une étude de celle proposée dans l’annexe 1. Tout exercice en a une et ce livre en est l’illustration. Ces solutions, ces travaux dirigés, font intégralement partie du chapitre où les exercices correspondants ont été proposés. La poursuite de la lecture devient impossible sans avoir étudié et implémenté les solutions. Souvent nous y abordons des concepts, des notions, ou des techniques supplémentaires indispensables à la compréhension de la suite du texte. L’alternance entre la lecture des cours et la consultation des solutions des exercices, créée par la séparation des cours et des solutions aux exercices, réflète, dans la forme, la nécessité de réaliser un travail de recherche personnel dès le premier exercice.

Tout au long de ce livre, nous nous sommes efforcés, de présenter les nouvelles fonctionnalités, les nouvelles techniques et les nouveaux concepts dans un context où leur emploi est nécessaire. Ainsi leur compréhension sera facilitée. D’autre part, au fil des chapitres ces mêmes concepts, techniques et fonctionalités vont reapparaître dans diverses situations. C’est à ce prix qu’ils pourront être compris dans leur intégralité.

Ce livre se divise en trois parties. La première, composée des chapitres 1 à 4, présente les bases de la programmation objets et de SMALLTALK. Elle familiarise le lecteur avec les concepts de classe et d’instance, de transmission de messages, de l’héritage statique et dynamique. Nous y examinons aussi les classes SMALLTALK les plus importantes avec leurs méthodes les plus utilisées. Plus précisement: le premier chapitre présente le système SQUEAK et le deuxième introduit de manière intuitive la programmation objets. Après une courte présentation des architectures logiciels et des mécanismes d’héritage dans le chapitre 3, le très long chapitre 4 fait le tour complet de la syntaxe et des aspects grammaticaux de SMALLTALK.

À partir du chapitre 5 nous entrons dans la deuxième partie, qui approfondit, à travers d’exemples de programmes SQUEAK complets, les techniques de programmation apprises dans la première partie.

Celui-ci introduit la programmation des interfaces graphiques par le développement d’un ensemble de programmes permettant de produire des dessins aux traits. Le chapitre 6 présente le mécanisme fondamental de dépendances à travers la programmation de plusieurs calculatrices.

Pour optimiser l’emploi de ce livre comme base d’un cours, nous conseillons de commencer par les trois premiers chapitres, éventuellement quelques sections choisies du chapitre 4. Continuez ensuite avec ceux de la deuxième partie qui abordent la programmation de dessins dans le style Logo et L-systèmes (visualiser des dessins est tellement plus séduisant que de regarder de mornes chaînes de caractères), l’utilisation des dépendances et la coordination de processus. Le chapitre 4 sert alors de vade-mecum pour l’explication et l’approfondissement des classes et méthodes rencontrées lors du développement des programmes.

Si ce livre vous donne l’envie de programmer des objets en SQUEAK, il aura parfaitement rempli son rôle.

Bonne lecture et bonne compile!


  Remerciements