Catégories : CodeEducationTechnologie

Pourquoi on doit toujours (bien) enseigner le langage Scheme à l’école

Scheme est un langage de programmation dérivé de Lisp, créé dans les années 1970 au MIT par Gerald Jay Sussman et Guy L. Steele. A syntaxe très éloignée de tout autre langage d’actualité, il m’arrivait souvent de me demander à quoi servirait ce langage qu’on m’apprend à ce moment où tout est devenu moderne. Une année après avoir terminé les études, j’étais allé sur Quora demander si ce langage est d’une certaine utilité. Voici ce qu’on m’a dit.

Apprendre Scheme est très utile, mais souvent pas directement (vous n’êtes malheureusement pas en mesure de l’utiliser sur le plan professionnel, sauf pour certains utilitaires d’utilisation personnelle).

Le plus grand avantage de Scheme est d’être un petit langage, bien défini (rappelez-vous qu’un langage de programmation est une spécification écrite dans un document). Scheme n’a pas seulement une syntaxe simple, mais aussi une sémantique propre et bien définie (voir la sémantique formelle dans R5RS). Aussi, un bon enseignement de Scheme doit inclure le call/cc (call-with-current-continuation) qui une manière formidable de faire comprendre la continuation et la continuation passing-style[en]. Scheme est aussi un langage homoiconique.

Fonction factorielle en Scheme, Credit Wikipedia

C’est aussi pourquoi Scheme est utilisé dans l’un des meilleurs livres (gratuitement disponible sur le site web du MIT) de programmation, le fameux SICP[en].

Un autre avantage de Scheme est sa facilité à être embarqué dans des applications sérieuses, à travers des implémentations comme Guille[en]. Plusieurs importants produits logiciels (exemple, AutoCAD avec AutoLISP, Emacs avec ELISP, GCC avec MELT) sont paramétrables à travers des langages du style LISP, et apprendre Scheme pourrait beaucoup aider.

Scheme améliore votre imagination

Par exemple, JavaScript un très vilain langage de programmation (conçu de manière pauvre, mais le gars qui l’a conçu n’avait que dix jours pour mettre en place un premier prototype), mais ses sémantiques (non pas sa syntaxe), sont très proches de Scheme (avec des différences significatives, tel que le système de prototype). On peut dire autant pour Python ou Lua.

Un cours d’informatique doit vous fournir des connaissances fondamentales, et Scheme est un excellent vecteur à cet effet. Les langages pratiques doivent être appris plus tard, et sans doute, ils varieront énormément durant votre carrière.

Comprendre la sémantique de Scheme peut vous aider à  apprendre assez facilement beaucoup de langages à typage dynamique. Pour mieux savoir comment Scheme peut être implémenté, consulter Lisp In Small Pieces.

Enfin, vous pourrez (tard dans votre carrière) avoir à ajouter quelques langages dédiés dans certains grands produits logiciels. Et pour de telles tâches, la connaissance de Scheme est très capitale.

 

Source : Quora, https://www.quora.com/Were-still-learning-Scheme-programming-language-at-school-Will-this-be-useful-for-us-in-our-professional-career/answer/Basile-Starynkevitch


Also published on Medium.

Partager sur les réseaux sociaux

Koffi Sani

African Optimist Citizen | IT Engineer | Budding Entrepreneur | On the lookout of ideas that will change Africa | I sometimes talk about code at https://code.koffisani.dev

Afficher les commentaires

  • I’m not that much of a internet reader to be honest but
    your sites really nice, keep it up! I'll go ahead
    and bookmark your site to come back later on. Cheers

Partager
Ecrit par
Koffi Sani
Tags : CodeScheme

Articles récents

De la nécessité de poser les bonnes bases de vos projets logiciels

L'une des préoccupations fondamentales de l'Ingénieur c'est de s'assurer de la qualité du produit que…

6 mois

Dieu est juste, pour le Paris Saint-Germain aussi

Bien que Paris Saint-Germain ne soit pas favori face au Bayern Munich, il ne serait…

1 an

Education au numérique : ce que je propose

Ce samedi, ce fut une fois encore l'occasion pour moi de passer sur le plateau…

1 an

Voici le nouveau Github Student Pack, mais il faut ceci pour certains étudiants

Vous avez déjà entendu parler de "Github Student Pack" ? C'est une offre gratuite de…

2 ans

LinkedIn pour certifier vos compétences ?

Ce réseau social qui se veut différent des autres de part son caractère professionnel est…

3 ans

Comment donc choisir son framework ?

Le développement d’applications informatiques implique souvent sa normalisation et son accélération. Les développeurs sont souvent…

3 ans