De la philosophie en programmation ?

En écrivant le blog précédent, qui finit par une recommandation de conceptualisation, je me suis rappelé d’une interview de Frédéric Lordon (philosophe et économiste passionnant à lire et à entendre) sur Arrêt sur Images. Il y citait Deleuze expliquant que la science procède par fonctions, alors que la philosophie procède par concepts (voir cette vidéo, à 5’55’’) :

image

Est-ce à dire que, comme Frédéric Lordon éprouve le besoin de convoquer Spinoza pour parler d’économie, nous aurions avons besoin de philosophie pour correctement conceptualiser les métiers que nous modélisons en informatique ? Je pense que oui, et je vais juste citer un exemple pratique sur lequel la philosophie m’a aidé de manière tout à fait pratique à lever une erreur de programmation.

Dans le livre “Sur les épaules de Darwin”, de Jean-Claude Ameisen, il est expliqué que le présent n’existe pas. Dans son style philosophique à la fois poétique et très scientifique, l’auteur convoque la mécanique quantique et la psychologie pour démontrer que la notion de présent est purement intellectuelle, et ne correspond à aucune réalité physique.

Il se trouve que cette réflexion rejoint parfaitement les travaux récents effectués sur un des logiciels dont je supervise la conception. Ce logiciel réalise des simulations budgétaires et jusqu’à maintenant, il fonctionnait de manière discrète, c’est-à-dire comme dans Excel, avec une modélisation du temps par colonne. Ainsi, nous avions des modèles financiers dans lequel le présent pouvait parfois correspondre à une année :

image

Malheureusement, il se trouve que certains sous-modèles financiers étaient calculés en mois, donc avec une représentation du présent différente :

image

Ceci pose des problèmes car il est difficile d’aligner les valeurs. Dans le sens d’une plus grande périodicité, c’est simple, il suffit de cumuler. Mais dans l’autre sens, comment faire : tout lisser uniformément ? La plupart des fois, ça ne correspond pas du tout à la réalité. De plus, cette définition du présent nous amenait à des représentations complexes, comme par exemple :

image

Non seulement le tableau est moins facile à lire, mais en plus, les lignes ne peuvent plus nécessairement être totalisées de la même manière.

Alors que si on reprend l’analyse philosophique d’Ameisen, et qu’on part du principe que le présent n’a d’existence que conceptuelle mais pas dans la physique, on tombe sur un modèle qui est beaucoup plus propre, où le présent n’est que la limite symbolique entre deux périodes seulement, qui sont le passé et le futur. Or, cette représentation est beaucoup plus propre au final, car elle permet de ne pas se soucier de la périodicité dans laquelle on discrétise pour représenter le présent :

image

Elle possède également l’avantage de pouvoir s’adapter à n’importe quelle périodicité, même la plus fine (pour de la trésorerie, au jour près, mais dans d’autres usages, nanoseconde si nécessaire). Bref, il s’agit d’une VRAIE conception du temps, et pas d’une représentation moyennement adaptée aux usages car trop rapidement posée.

Et si on pousse plus loin la conceptualisation, il faut d’ailleurs se poser la question de comment on pose cette ligne de présent ? Est-ce le moment où une personne analyse le budget ? Est-ce la date de valeur qu’on cherche à représenter dans le budget ? On peut tout-à-fait imaginer une personne regardant le 3 mars le budget tel qu’il se trouvait le 15 décembre de l’an passé, etc. Bref, encore de quoi philosopher sur ce qu’est vraiment le présent… s’il existe !

About JP Gouigoux

Jean-Philippe Gouigoux est Architecte Logiciel, MVP Connected Systems Developer. Il intervient régulièrement à l'Université de Bretagne Sud ainsi qu'à l'Agile Tour. Plus de détails sur la page "Curriculum Vitae" de ce blog.
This entry was posted in Uncategorized and tagged . Bookmark the permalink.

4 Responses to De la philosophie en programmation ?

  1. Domi says:

    Effectivement, le présent n’existe pas.

    Le passé non plus, par définition, puisqu’il n’est plus.

    Quand à l’avenir il n’existe pas, en tout cas pas encore.

    Hum… Si ni le présent, ni le passé, ni le futur “existe” ; ou sommes-nous ;o)

    Je pense que, outre le fait que notre langage est très limité, les termes sont probablement inappropriés. En particulier le terme “exister” doit être sujet à caution.

  2. A dark passenger says:

    Le passé n’existe plus et le futur pas encore. Alors le présent comme une ligne de demarcation entre 2 concepts qui n’existent pas ou plus ? C’est pas simple.
    C’est le principe des frontières des limites en général, tant qu’elles n’ont pas “d’epaisseur” elles sont une abstraction totale.
    Dans certaines traditions spirituelles (cf méditation, bouddhisme, etc…) seul le présent existe vraiement et n’a d’intérêt. Il s’agit d’une conception en lien avec l’esprit et sa production première: les pensées. Concrètement les pensées qui traverse votre esprit sont soit des reférences à des expériences passées agréables ou non soit des anticipations. Et seul l’instant présent celui du ressenti physique correspond au temps présent.
    C’est un peu loin de la programmation mais c’était pour prolonger votre sujet.
    Cordialement

    • JP Gouigoux says:

      Merci pour votre retour. Très intéressant, car je ne connaissais pas cette approche du temps dans les croyances que vous citez. On est loin de la programmation, mais c’est très bien : ça nous donne justement un autre point de vue, qui est toujours enrichissant.

      Cordialement,

      JP

Répondre à A dark passenger Annuler la réponse.

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha Captcha Reload