Want to create interactive content? It’s easy in Genially!

Get started free

PROD_CW_Programmation lettrée...

Formation-DoRANum

Created on February 17, 2023

Start designing with a free template

Discover more than 1500 professional designs like these:

Smart Presentation

Practical Presentation

Essential Presentation

Akihabara Presentation

Dynamic Visual Presentation

Pastel Color Presentation

Blackboard Presentation

Transcript

Programmation lettrée Literate programming

Sommaire

Contexte historique

Définition

Exemple appliqué

Programmation lettrée & notebook

Contexte historique

De la recherche reproductible...

+ info

Bien que la première apparition de l'expression "recherche reproductible" soit datée de 1992, ce concept émerge dès les années 70.

+ info

À cette époque, plusieurs scientifiques, comme Jon Claerbout, s’inquiètent de l’impact des évolutions technologiques et des capacités de calcul sur la transparence et la reproductibilité des travaux scientifiques.

+ info

... au paradigme de la programmation lettrée

Le paradigme de programmation lettrée, pensé et mis en oeuvre par Donald Knuth au cours de la même décennie (1977-78), tente d’apporter une solution à une partie du problème...

+ info

Définition

En deux mots...

...le principe de la programmation lettrée est de penser l'écriture d'un programme afin qu’il soit compréhensible

par l’être humain et par la machine.

+ info

La programmation lettrée selon D. Knuth (1984)

« Nous devons changer notre attitude traditionnelle envers la construction des programmes : au lieu de considérer que notre tâche principale est de dire à un ordinateur ce qu’il doit faire, appliquons-nous plutôt à expliquer à des êtres humains ce que nous voulons que l’ordinateur fasse. (…) Celui qui pratique la programmation lettrée peut être vu comme un essayiste, qui s’attache principalement à exposer son sujet dans un style visant à l’excellence. Tel un auteur, il choisit, avec soin, le dictionnaire à la main, les noms de ses variables et en explique la signification pour chacune d’elles. Il cherche donc à obtenir un programme compréhensible parce que ses concepts sont présentés dans le meilleur ordre possible. Pour cela, il utilise un mélange de méthodes formelles et informelles qui se complètent. »

+ source

Exemple appliqué

De la programmation structurée...

Les lignes de code (langage R) ci-dessus ont été pensées et optimisées pour être correctement interprétées par la machine et générer la représentation graphique suivante :

... à la programmation lettrée !

En appliquant le paradigme de la programmation lettrée, ces lignes de code auraient pu, tout en produisant le même résultat, s’écrire de la manière suivante

Cliquez sur l'image pour zoomer. Cliquez sur les icônes pour voir le détail commenté.

Programmation lettrée & Notebook

Programmation lettrée exécutable ?

Ce paradigme n’est pas lié à un format ou à un outil. Il est possible de mettre en pratique cette approche de la programmation dans n’importe quel type de document, même manuscrit. Cependant, le notebook (ou document computationnel) est sans aucun doute l’outil idéal pour mettre en oeuvre ce concept, car ...

Notebook ?

Un notebook est une interface de programmation et d'interprétation ou exécution du code qui permet de combiner langage naturel, langage informatique et rendu computationnel (tableaux, graphiques etc.)

+ info

La pratique du notebook

Plus de 50 ans après son invention, le notebook a évolué pour s’adapter à différents langages informatiques avec de nouvelles fonctionnalités. Son usage se diversifie et se généralise auprès de plus en plus de disciplines.

Comment fonctionne un notebook ? Quels notebooks pour quels langages ?Quels en sont les principaux usages ?Comment optimiser leur reproductibilité et leur partage...

Vous en saurez plus en consultant ce module

À bientôt sur

Références bibliographiques

Ajout de nombreux commentaires qui aident le lecteur à comprendre rapidement le code et le raisonnement de l’auteur.

Donald Knuth

Informaticien et mathématicien américain né en 1938. Professeur émérite en informatique à l'université Stanford. Il est un des pionniers de l'algorithmique et a fait de nombreuses contributions dans plusieurs branches de l'informatique théorique.

Voir sa fiche sur Wikipedia

Références bibliographiques :

- Loic Desquilbet, Sabrina Granger, Boris Hejblum, Arnaud Legrand, Pascal Pernot, et al.. Vers une recherche reproductible : Faire évoluer ses pratiques. Unité régionale de formation à l'information scientifique et technique de Bordeaux. Unité régionale de formation à l'information scientifique et technique de Bordeaux, pp.1-161, 2019, 979-10-97595-05-0.

⟨hal-02144142v3⟩

Lignes de codes qui ne sont pas directement utiles pour la création du graphique souhaité mais qui permettent de bien retranscrire le raisonnement de l’auteur et d'expliciter ses choix.

Source :

D. Knuth, « Literate Programming », The Computer Journal, British Computer Society, vol. 27, no 2,‎ 1984, p. 97–111

https://academic.oup.com/comjnl/article/27/2/97/343244

Le terme de notebook est assez populaire dans le monde anglophone, mais en raison de l’évolution et de la diversité des outils logiciels disponibles dans ce domaine, il existe de nombreuses dénominations. Quelques appellations utilisées en français :
  • article exécutable
  • document computationnel
  • document électronique interactif
  • cahier de programmation
  • cahier électronique d'analyse
  • calepin électronique
  • carnet de code
  • bloc-code
  • manifeste algorithmique
  • - ...

La "recherche reproductible" est une démarche qui consiste à fournir l’ensemble des informations (texte, données, code de programmation accompagnés d’une description algorithmique) utilisées et appliquées pour obtenir des résultats présentés dans le cadre d’un travail scientifique.

"Le paradigme de la programmation lettrée, tel qu'il a été conçu par Knuth, s'éloigne dans son écriture de l'ordonnancement imposé par l'ordinateur, et à la place autorise les développeurs à utiliser un ordre imposé par la logique et le fil de leur pensée. Les programmes lettrés sont écrits, dans un langage naturel, comme une exposition ininterrompue de la logique, à la manière d'un essai, dans lequel sont incluses des macros qui masquent les abstractions et la complexité."Source :

Wikipédia

Utilisation de nom de variable explicite
Crédits image

Donald Knuth at a reception for the Open Content Alliance, hosted by the Internet Archive. Taken October 25, 2005 by Jacob Appelbaum in San Francisco, Donald Knuth from Wikipedia

https://www.chessprogramming.org/index.php?title=Donald_Knuth&mobileaction=toggle_view_mobile

La première apparition de l'expression "recherche reproductible" dans une publication scientifique semble être un article présenté en 1992 lors d'une réunion de la Society of Exploration Geophysics (SEG), par le groupe de Jon Claerbout à Stanford. (Claerbout & Karrenbach, 1992)

Jon F. Claerbout

Géophysicien et sismologue américain né en 1938. Professeur émérite du département de Géophysique de l'Université de Stanford. Jon Claerbout est un pionnier de l'utilisation des ordinateurs dans le traitement et le filtrage des données d'exploration sismique.

Voir sa fiche sur Wikipedia