{"word_count": 572, "character_count": 4056}
L'objectif du séminaire Codes sources est de présenter la pensée informatique là où elle s'exprime le plus concrètement : dans les textesque sont les codes sources. [caption id="attachment_2892" align="alignleft" width="225"] Portrait de E. DijkstraSource manuscripts of Edsger W. Dijkstra, University Texas at AustinAuthor Hamilton RichardsCC BY-SA 3.0[/caption]Séance du mercredi 23 mars 2016 (14h-15h30) :Yann Régis-Gianas (PPS, IRIF, Université Paris-Diderot, Pi.R2, INRIA) : « CallCC, un coup d’état sur le contrôle »Lorsque Dijkstra publie son article "Go To Statement Considered  Harmful", une fronde de programmeurs - dont Knuth - s'est élevée contre les restrictions d'expressivité proposées par l'informaticien néerlandais : en effet, la structuration du flot de contrôle par les seules procédures et boucles while interdisait certains idiomes de programmation fort utiles et répandus.Cependant, les motivations de Dijkstra étaient légitimes : puisque  l'on ne peut pas prédire les prédécesseurs d'un point de contrôle en présence du "goto", on ne peut pas raisonner localement sur les instructions d'un programme et cela interdit toute ambition de passage à l'échelle de la preuve de programme.Seulement, l'expressivité du "goto" peut être retrouvée à l'aide d'opérateurs de contrôle inventés par Peter Landin plusieurs années auparavant : en présence de ces opérateurs, les points de contrôle deviennent des objets de première classe appelés continuations. Entant qu'objet du calcul, les points de contrôle du programme sont alors l'affaire du programmeur. Grâce à l'abstraction de type, il peut alors choisir de légiférer comme bon lui semble pour spécifier leur bon usage.Lieu : Salle 24-25/405 du LIP6 (rotonde 24 ou 25, 4e étage)4 place Jussieu, 75005 Parismétro Jussieu (lignes 7 et 10)Prochaines séances du séminaire Codes sources- mercredi 13 avril 2016 : Karine Chemla (CNRS, SPHERE, UniversitéParis-Diderot)- mercredi 18 mai 2016 (matin) : Éric Vandendriessche (SPHERE)- mercredi 22 juin 2016 : Liesbeth De Mol (CNRS, STL, Université deLille 3), « Code source sans code ? Le cas de l'ENIAC »Sauf mention contraire, toutes les séances ont lieu de 14h à 15h30au LIP6./* **************************************** À propos du séminaire Codes sources **************************************** */À celui seul qui prend la peine de les lire effectivement, les codes sources révèlent leur richesse. On y découvre que l'élégance d'un algorithme réside parfois hors de sa complexité, dans l'usage virtuose des idiomes du langage de programmation ou dans la connaissance fine de la machine à laquelle il est destiné. Bien souvent des codes sourcescomportent davantage de lignes de commentaires que de code. Tous ces trésors de pensée informatique fondent à la compilation comme neige au soleil — preuve qu'un programme n'est pas seulement écrit pour être compilé.Le but du séminaire est de décrire ces œuvres de l'esprit comme des textes à part entière. Nous espérons ainsi contribuer à la constitution d'une culture générale en programmation. En informatique comme en littérature, cela suppose la familiarisation progressive avec un corpus de grands textes.À chaque séance, un intervenant — jeune chercheur ou chercheur confirmé en informatique, en histoire ou en philosophie — présente, en moins d'une heure, un code source de son choix : un fragment de système d'exploitation, de pilote, de compilateur, de bibliothèque... Le code peut avoir été écrit par l'orateur ou par quelqu'un d'autre, dansquelque langage que ce soit. Le commentaire peut être algorithmique, stylistique, historique ou philosophique, et porter sur tous les aspects du code, commentaires compris. Le code est ensuite discuté avec l'auditoire.Organisateurs :- Raphaël Fournier (CNAM)- Baptiste Mélès (CNRS, Archives Henri-Poincaré)- Lionel Tabourier (LIP6).Site : http://codesource.hypotheses.org/Contact : Baptiste Mélès (baptiste.meles@univ-lorraine.fr)Twitter : https://twitter.com/SemCodesSourcesListe de diffusion : https://groups.google.com/forum/#!forum/codes-sources