Logo (langage)

Logo
Logo.
Date de première version 1967
Paradigme Programmation procédurale, Réflexion, Programmation orientée objet
Auteur Wally Feurzeig, Seymour Papert
Développeurs Wally Feurzeig, Seymour Papert
Typage Statique
Dialectes Starlogo
Influencé par Lisp
A influencé Smalltalk, Etoys, Scratch, , KTurtle, REBOL
Implémentations , autres…
Système d'exploitation Windows, Linux, Mac OS
Page d'aide sur l'homonymie Pour les articles homonymes, voir Logo (homonymie).

Logo est à la fois une philosophie de l’éducation et une famille de langages de programmation en constante évolution qui aident à la mettre en pratique [1].

Le projet est né à la fin des années soixante de la rencontre entre le courant cognitiviste en intelligence artificielle et des théories sur l’apprentissage issues de travaux de Jean Piaget et de ses conceptions en matière d’éducation. Ces deux volets sont respectivement représentés par ses promoteurs, Marvin Minsky et Seymour Papert — qui sera le moteur du projet —, au sein du Computer Science and Artificial Intelligence Laboratory (Laboratoire d'intelligence artificielle et d'informatique) du MIT.

L‘appellation, inspirée du grec Logos « parole, discours, intelligence », recouvre, donc, deux concepts étroitement liés quoique distincts : un mode d’apprentissage inspiré des travaux de Jean Piaget sur le développement cognitif de l’enfant et un type d’environnement informatique, à partir d'un langage adapté du LISP spécialement conçu dans une démarche de pédagogie active inspirée des travaux de celui-ci. Il s'inscrit en réaction à une introduction de l'ordinateur dans l'éducation inspirée de l' enseignement programmé.

Sur le plan informatique, Logo est un langage de programmation orientée objet réflexif. Plus lisible que le Lisp, il en est une adaptation, ce qui lui a valu le surnom de « Lisp sans parenthèses ». Essentiellement connu pour la fameuse tortue graphique, mais est également capable de manipuler des listes, des fichiers et des entrées/sorties… ce qui en fait un langage adapté à l'approche des concepts de l' algorithmique, ce dont on pourra trouver un exemple dans les ouvrages Computer Science Logo Style de Brian Harvey, professeur à l' Université de Berkeley.

Bien que langage complet de haut niveau, Logo a été paradoxalement victime de sa tortue - pourtant présente en Pascal - qui l'a cantonnée à une image faussement puérile, ses fonctionnalités de base étaient supérieures aux divers BASIC des années 1980. Il était, à l'époque, un bon marchepied vers la programmation structurée et modulaire et connaît toujours des développements dans le cadre de recherches en intelligence artificielle.

Exemple d'écran de MSWLogo

Philosophie du projet

Logo propose une approche de l’utilisation de l’informatique délibérément constructiviste. C’est l’apprenant, enfant ou adulte expérimenté, qui est le principal acteur de son apprentissage, et l’ordinateur n’est présent que pour lui permettre de construire des réalités dans des environnements divers : les Micromondes, à l’aide d’un langage informatique spécialement conçu à cet effet (la géométrie Tortue en est un exemple).

Il n’est nullement question ici de simulation informatique. « C’est en créant qu’on apprend », telle est la thèse piagétienne que Papert défendra dans la poursuite du projet Logo.

L’objectif va, en effet, au-delà de l’acquisition de concepts qui seraient présents à ces micromondes.

Piaget distingue quatre stades dans le développement individuel dont les apprentissages sont acquis par l’interaction entre l’enfant et son environnement. Il note, toutefois, que, faute de trouver un environnement adéquat – qui n’existe pas -, celui-ci n’atteint pas toujours le dernier stade, celui des opérations formelles. Il émet d’ailleurs cette constatation que nombre d’adultes n'y sont, en réalité, jamais arrivés.

Article connexe : Jean Piaget.

Et c’est ici que l’ordinateur entre en jeu. Papert y voit l’opportunité de créer des environnements propices au développement de ces facultés logiques, à condition qu’il soit correctement adapté à cette fin. Ce sera le cas grâce au langage informatique Logo proprement dit.

L’environnement Logo se veut, donc, imprégné de la pensée de Piaget : il offre à l’apprenant - quel que soit son niveau ou son âge - la possibilité de se représenter et de décrire les phénomènes ainsi que le déroulement de sa démarche entreprise : saisie des moyens utilisés, justification de leur choix et/ou ajustements en cours de tâche. L’objectif poursuivi est d’amener, in fine, l’apprenant à dégager lui-même les caractéristiques de ses actions et de ses propres processus cognitifs. En un mot, qu’il apprenne comment il apprend.

Dans son ouvrage [2], Papert va même plus loin : l’environnement de Logo pourrait amener l’enfant à adopter de lui-même un mode de pensée procédural, mode de pensée qu’il décrit comment étant plus efficace que tout autre.

Encore faut-il une porte d’entrée qui soit à la portée de cet enfant. Ce sera le rôle de la tortue graphique, un robot dont l’enfant pourra commander les déplacements en s’appuyant sur la connaissance de la manière dont lui-même se déplace. Paradoxalement, le langage a été victime de cette tortue qui l'a cantonné à une image puérile ainsi également que d'un succès commercial qui a fait se multiplier des versions incomplètes, non conformes aux exigences fonctionnelles sur lesquelles insiste pourtant son propre concepteur, et parfois limitées à cette tortue graphique. Or, celle-ci n'est pas l'apanage de Logo : elle existe également dans Pascal 7.0.

Dans le développement du projet, l’intelligence artificielle contribuera à différents titres comme celui d’offrir un milieu propice à la recherche fondamentale, avec le Lisp, un substrat au développement du langage informatique proprement dit, un premier robot d’expérimentation : la tortue de sol, le développement de la géométrie tortue… sans oublier l’infrastructure informatique, une ressource rare et chère à l’époque. Il inspire également la notion d' émergence pour comprendre ce que pourrait entraîner l'usage de Logo dans l'apprentissage.

Other Languages
العربية: لغة اللوغو
bosanski: LOGO
Ελληνικά: Logo
galego: Logo
Bahasa Indonesia: Logo (bahasa pemrograman)
日本語: LOGO
português: Logo
srpskohrvatski / српскохрватски: LOGO
தமிழ்: லோகோ
中文: Logo语言