La querelle des universaux et le statut des classes
dans la programmation par objets.

Jean-François Perrot


  1. Intention
  2. Problèmes que pose la programmation par objets
  3. Esquisse de la querelle
  4. Réinterprétation en termes de programmation par objets

  1. Déclaration d'intention :
    pour une analyse critique des fondements de la programmation par objets
    (abrégé ci-après en PPO)

    Ce souci a été popularisé par le débat organisé à  OOPSLA en 2002 sous le titre les objets ont échoué.
    Le débat continue :
    Ma propre position est que le succès de la PPO est dû principalement à son adéquation remarquable
    aux habitudes mentales que notre éducation nous a inculquées, à savoir
    J'ai présenté mon point de vue sur la PPO en détail dans le chapitre introductif des actes de l'école d'été
    Langages et modèles à objets, Etat des recherches et perspectives
    ,
    édité par R. Ducournau, J. Euzenat, G. Masini et A. Napoli, Collection Didactique, INRIA, pages 3-31, 1998.
    Ce texte reste valable comme cadre du présent exposé. Le voici en pdf.

    On trouvera un résumé de cette position dans l'Introduction au numéro spécial de la revue l'Objet
    intitulé Des octets aux modèles, [L'Objet, RSTI, Hermes, Vol 10, N°4, p. 11-16].

    Il me paraît donc nécessaire de procéder à une analyse critique de notre héritage conceptuel
    et d'affiner la correspondance avec les structures de la PPO.


    À titre d'exemple, rappelons-nous que notre héritage est double, et que nous sommes
    Un autre exemple est fourni par la distinction entre langages à classes (pratiquement tous les langages à objets en usage)
    et langages à prototypes (dont le plus connu est Self) :
    en pastichant Sartre [L'existentialisme est un humanisme, Paris, Nagel 1970, p. 17 sq. extrait],
    on a envie de dire 

    Reste à savoir précisément ce qu'on entend par essence et existence,
    mais ceci est une autre histoire !
    On notera au passage que, pour Sartre comme pour la tradition, ces questions se posent avant tout
    pour l'homme et pour Dieu, dont les programmeurs ne se préoccupent que rarement.

    D'une manière plus générale, l'idée que les intuitions que nous formons sur la base de l'expérience des objets concrets
    ne peuvent pas s'étendre ohne weiteres à de entités abstraites, cette idée ne semble pas avoir préoccupé les penseurs
    qui sont à l'origine de la tradition dont nous sommes imbus.
    Or, elle intervient fortement dans la modélisation des systèmes informatiques qui précède leur programmation
    (UML et toute la ligne de l'ingénierie dirigée par les modèles - MDE, Model-Driven Engineering).
    Nous savons aujourd'hui que tout n'est pas réifiable !
  2. Problèmes philosophiques posés par la programmation par objets (PPO)

  3. Esquisse d'un débat médiéval

    Le débat porte sur la nature (réelle ou imaginaire) des genres, des espèces et autres concepts.


  4. Réinterprétation en termes de programmation par objets

La programmation par objets devrait intéresser les philosophes...