Cette séance accueille Baptiste Mélès et Matthieu Latapy.

Lundi 6 octobre 2014, 17h à 19h

Institut des sciences de la communication
CNRS / Paris-Sorbonne / UPMC
20 rue Berbier-du-Mets, Paris 13e
Métro 7 « Les Gobelins »

Inscription à leseminaire-at-iscc.cnrs.fr

 
Séminaire de l’ISCC

Systèmes philosophiques et langages de programmation

 
6 octobre 2014, 17h à 19h, ISCC

Accueil > Évènements > Séminaires et ateliers réguliers > Séminaire de l’ISCC > 2014/2015

 

Baptiste Mélès, normalien, agrégé et docteur en philosophie, est chargé de recherche au CNRS (Archives Henri-Poincaré, UMR 7117). S’appuyant sur une expérience directe de la programmation, il propose une analyse philosophique des concepts et méthodes de l’informatique, telle qu’ils s’expriment dans les codes sources et dans les concepts des systèmes d’exploitation. S’inspirant des exemples de Jean Cavaillès et de Jules Vuillemin, il espère ainsi montrer l’enrichissement mutuel des sciences formelles et de l’histoire de la philosophie, en tant que produits purs de la raison.

Discutant : Matthieu Latapy est directeur de recherche au CNRS, responsable du département Systèmes complexes du Laboratoire d’informatique de Paris 6 (LIP6, CNRS et UPMC). Il est également membre de l’équipe Complex Networks dirigée par Clémence Magnien. Sa recherche est centrée sur l’étude des grands réseaux rencontrés en pratique, appelés graphes de terrain ou complex networks. Il travaille en particulier sur la topologie de l’Internet, les échanges pair-à-pair, les réseaux sociaux et les phénomènes de diffusion.

Résumé

Pourquoi existe-t-il plusieurs langages de programmation ? Cette pluralité tient certes, en partie, à des raisons contingentes – l’état de la technique (d’où la diversité des langages machine et des assembleurs), les circonstances économiques (d’où les langages maison comme le C# de Microsoft, le Go de Google et le Swift d’Apple) et même des critères esthétiques (les indentations de Python ou les accolades de Perl) – mais pour le programmeur réfléchissant au langage qui lui permettra de développer au mieux son projet, il s’agit surtout d’associer au critère d’efficacité une recherche d’intelligibilité. Les paradigmes de programmation correspondent à des façons de penser : s’il y a plusieurs langages de programmation, c’est parce qu’il existe d’abord diverses manières de penser le monde. En classant les ontologies, on pourrait ainsi espérer classer les langages de programmation.

Jules Vuillemin, historien de la philosophie et philosophe des sciences (1920-2001), a proposé dans ses ouvrages Nécessité ou contingence (1984) et What are Philosophical Systems ? (1986) une classification des systèmes philosophiques. Celle-ci s’enracine dans une analyse des fonctions du langage, et plus précisément de la manière dont le langage se rapporte au monde. La classification peut être décrite par la combinaison de trois critères : l’existence ou non d’objets transcendants, le caractère a priori ou a posteriori des concepts et le caractère subjectif ou objectif de la connaissance. La combinaison de ces trois critères permet de construire huit systèmes, dont trois sont contradictoires et cinq cohérents : le réalisme (Platon, Anselme), le conceptualisme (Aristote, Leibniz), le nominalisme (Stoïciens, Spinoza), l’intuitionnisme (Épicure, Descartes, Kant) et le scepticisme (Carnéade, Hume).

Nous proposerons de transposer les critères de Vuillemin aux langages de programmation, en faisant porter sur les fonctions le rôle qu’il confie aux concepts. On verra ainsi, par exemple, que le programme orienté objet souscrit à un monde de type leibnizien, le programme fonctionnel à un monde stoïcien, le programme logique à un monde platonicien. Dans la lignée de Jean Cavaillès et de Jules Vuillemin, nous entendons ainsi montrer quelque parallélisme entre deux créations pures de la raison : la philosophie et la science formelle.