Tutoriel Programmation objet immersive en Pharo proposé par l'inria disponible à l'adresse https://mooc.pharo.org et sur la plateforme FUN-MOOC.
Présentation de Stéphane Ducasse directeur de recherche à l'Inria.
Bonjour bienvenue sur ce MOOC autour de Pharo, ce MOOC s'intitule “Programmation Objets Immersive en Pharo”. Comme première séance, je vais vous présenter les objectifs du MOOC.
Vous allez apprendre à programmer en Pharo, ça paraît évident, maintenant ce qui est important c'est que vous allez comprendre et contrôler toute la syntaxe, l'entièreté de la syntaxe et du modèle et aussi l'environnement de Pharo.
Pharo, ce n’est pas simplement un langage, c'est un environnement de programmation, il y a pas mal d'outils dedans et donc on va vous en montrer quelques uns, les plus utiles.
Le MOOC ne se contente pas non plus de présenter Pharo, on va revisiter de manière profonde les mécanismes fondamentaux de la programmation-objet et ça, c'est vraiment très intéressant. On va les illustrer par rapport à des aspects de Pharo lui-même. Pour cela on va aussi, de temps en temps, vous montrer des heuristiques de conception objet, c'est à dire des heuristiques qui vont vous permettre en général, dans votre vie de programmeur, de concevoir des applications de manière plus élégante ou plus extensible.
Vous allez travailler sur des vrais exemples dans ce MOOC et à la fin vous allez déployer votre propre application Web que vous aurez construite de A à Z.
Le MOOC est structuré sur 7 semaines, en gros, on va commencer par les aspects syntaxiques au niveau de Pharo de façon à ce que vous puissiez très rapidement commencer à faire des exercices, mais ce qu'on va faire, on va mélanger aussi les points qui sont liés à la conception objet de façon à ce que vous puissiez comprendre très rapidement certains aspects, et après on regardera des aspects qui sont plus liés aux fonctionnalités noyau de Pharo comme système de fichiers ou ce genre de choses.
Ce qu'il faut voir, c'est que le cours n'est parfois pas linéaire, on va revenir dans des dernières séances sur des concepts pour s'assurer que vous avez réellement compris ce dont on a parlé dans les premières séances.
Dans le MOOC, vous aurez plein d'exercices et des mini projets. Pour vous motiver, ce qu'il faut voir c'est qu'après deux semaines du MOOC, vous aurez vu la syntaxe complète de Pharo et son modèle et vous pouvez directement attaquer à faire des mini projets.
Quelques mots à propos de nous, donc on est trois collègues, ce qu'il faut voir c'est qu'on est expert en programmation-objet, moi j'ai travaillé sur les “traits” qui sont dans Perl et PHP, qui ont influencé Scala. On est expert en conception avancée objet, on fait partie du groupe de développement du noyau de Pharo et on est auteur de plusieurs livres qui sont open source et disponibles sur le web et je vous conseille de les lire, par ailleurs.
Pourquoi Pharo ? Hormis le fait qu'on participe au développement de Pharo et qu'on trouve que Pharo est un très bon langage, d'une manière pédagogique Pharo est vraiment très intéressant parce que vous allez être immergés dans un monde d'objets, vous allez simplement interagir et manipuler les objets.
À titre d’exemple, les boucles n'existent pas en tant que constructeur dans Pharo, ce sont juste des messages envoyés à des objets qui sont des collections; les conditions sont des messages envoyés à des objets qui sont des booléens. Donc, vous allez, de manière constante, interagir avec des objets vivants et vos programmes vont se transformer sous vos doigts.
Le fait que Pharo soit écrit aussi en lui-même vous ouvre une grande possibilité de découverte, une fois que vous allez avoir suivi et compris les aspects syntaxiques de Pharo, le monde entier s'ouvre à vous parce que l'environnement de Pharo est écrit dans lui-même. Donc si je résume un petit peu le voyage auquel on vous invite, Pharo est un langage pur et élégant.
Vous allez voir qu'il y a très peu de concepts qui sont utilisés, il est fun à programmer parce qu'il y a cette interaction avec des objets, Pharo est très productif, vous le verrez par vous-même, en général Pharo est utilisé dans de nombreuses universités pour ses propriétés d'enseignement et les aspects positifs qu'il enseigne.
Il y a un point qui est particulier qui est souvent peu compris, c'est que Pharo c'est un système qui vous met en capacité de faire des choses; ça veut dire que Pharo, ce n’est pas une boîte noire, c'est un système où vous allez pouvoir voir comment le système est implémenté et aller les modifier les choses.
En fait, comme la métaphore que je prends souvent, c'est de dire que Pharo, c'est un aquarium dans lequel il y a des poissons et que vous allez pouvoir sauter dans cet aquarium et aller nager avec eux. Et ça, c'est vraiment une chose particulière, donc vous aurez des vidéos qui vous montreront exactement ces aspects-là et encore une fois vous avez accès à l'entièreté du système.