Introduction à Scheme – Commençons par le commencement (partie 1)
Bonjour à tous,
Si vous vous intéressez à l’univers de la programmation, il se peut que vous ayez déjà entendu parler du langage Scheme (prononcer skiim’, attention). Pour la petite histoire, le Scheme est un langage de programmation dérivé du Lisp, créé au MIT par Gerald Jay Sussman et Guy L. Steele, dans les années 1970. Le MIT (Massachusetts Institute of Technology), vous en avez sans doute déjà entendu parler, de là viennent beaucoup de grands noms de l’informatique (RMS ou Tanenbaum par exemple) et de la science. Une école assez prestigieuse, en somme. Mais, je n’écris pas cet article pour vous parler du MIT mais bien du langage Scheme (si, relisez le titre !).
Introduction :
J’ai décidé d’écrire une série d’articles consacrés au langage de programmation Scheme pour vous permettre de vous familiariser avec ce dernier. Déjà, je me dois de vous présenter le langage Scheme et vous expliquer le fonctionnement des outils dont vous aurez besoin. Pour commencer, il vous faut savoir que le Scheme est un langage interprété, comme le Python. Grosso Modo :
- On tape une expression ;
- Scheme donne sa réponse.
Je vous reparlerai de l’interpréteur plus loin. Aussi, je part du principe que vous avez un minimum de connaissances en programmation, la notions de variables, par exemple.
Le but des créateurs de Scheme était d’épurer le langage Lisp en conservant ses aspects essentiels. Scheme a donc une syntaxe relativement simple. Enfin, je dis simple, mais la syntaxe est en fait très particulière. Il vous faudra un petit temps d’adaptation (enfin, ça vient assez vite, ne vous inquiétez pas).
DrScheme :
Pour programmer en Scheme, on va utiliser DrScheme.
DrScheme est un IDE pour le langage de programmation Scheme. Il fait partie du projet PLT Scheme, renommé Racket, qui regroupe plusieurs variantes du langage Scheme ainsi qu’une série d’outils pour les utiliser.
DrScheme a initialement été conçu dans un but pédagogique (il servait de support au cours d’introduction à l’informatique de l’Université Rice). Aujourd’hui, DrScheme est utilisé dans de nombreuses universités.
Dans cette suite d’outils se trouve DrRacket, l’interpréteur qu’on va utiliser. On va donc installer DrScheme. Le paquet demande environs 190 Mo d’espace disque et 38 Mo de téléchargement dans les dépôts (sur Debian en tout cas (merci à Pierre GHZ de l’avoir précisé)).
- Arch Linux :
pacman -S drscheme
- Debian :
sudo apt-get install drscheme
- http://racket-lang.org/download/
Maintenant que DrScheme est installé, regardons un peu le fonctionnement de DrRacket.
DrRacket :
Attardons nous quelques instants sur DrRacket. Voici déjà l’interface du programme :
Voici donc l’interface de DrRacket. Ne faites pas attention au code pour le moment, on y reviendra en temps voulu. Je l’ai mis pour vous montrer la coloration syntaxique. Il est aussi équipé d’un détecteur de correspondance des parenthèses, d’un débogueur, et d’un évaluateur pas à pas. Je vais maintenant expliquer simplement l’interface de DrRacket.
- Vous entrez ici votre code. Comme dit plus haut, il sera coloré et vous pourrez vérifier vos parenthèses ;
- C’est dans cette zone que vous gérez le programme et que s’affichera un éventuel résultat. Sur la capture d’écran, le résultat est « 4″, par exemple ;
- Choisissez ici le langages que vous utilisez. Pour le scheme, choisissez « Assez gros Scheme » ;
- Les fonctionnalités basiques de DrRacket, comme « Executer », pour lancer votre programme ;
- La barre d’outil. Réglez vos préférences, enregistrez un projet, ouvrez en un, etc.
Je ne vois pas vraiment quoi vous expliquer de plus. L’interface est vraiment très simple. Lorsque vous avez écrit votre code, il ne reste plus qu’à le sauvegarder. Pour l’ouvrir, rien de plus simple : Ctrl + O ou Fichier > Ouvrir (choisissez ensuite le chemin vers votre code).
Avec ces quelques explications, vous voilà prêt à vous débrouiller avec DrRacket. Le but de mon tutoriel étant d’être simple, nous n’aborderons pas certaines de ses fonctions.
La suite :
Vous possédez maintenant les outils qui vous permettrons de programmer en Scheme. Cet article n’était qu’une introduction. Pour ce qui est de l’ordre, je ne l’ai pas encore établit. Par conséquent, il n’y a pas encore de sommaire à proprement dit. Vous verrez bien au fur et à mesure !
Mais, je peux d’ore et déjà vous dire quel sujet nous allons aborder dans le prochain article :
Les principes du langage :
- Types de bases ;
- Syntaxe ;
- Fonctions ;
- Etc.