Avec où sans état? une histoire de context

A lire ou à regarder et écouter sur TheServerSide l’interview de Ted Neward. Le personnage est haut en couleur et ne dis pas que des bêtises. Difficile de s’y résoudre mais il a raison, il faudra bien que je finisse par mettre un peu de .net dans mon CV.

J’aime beaucoup son exemple pour expliquer qu’il préfère les “designs patterns” aux “best practices”:
Une bonne pratique est de toujours veiller à libérer les ressources que l’on utilise une fois que le programme a fini de s’exécuter. Mais dans le cas d’un programme embarqué de guidage d’un missile…Ce n’est pas forcément très utile. Les best practices n’existent pas, il n’y a que des problèmes et des solutions qui s’appliquent dans un certain contexte.

Et j’adore son exemple pour illustrer le concept de communication avec où sans état.

Conversation avec état:
– Bonjour Jean, tu veux aller déjeuner?
– Bien sûr Paul, où allons nous?
– Pourquoi pas le restaurant Italien?
– Super, quand y allons nous?
– A midi.

Conversation sans état:
– Bonjour Jean, tu veux aller déjeuner?
– Bien sûr Paul, je veux aller déjeuner, où allons nous?
– Allons déjeuner au restaurant Italien, Jean.
– Super Paul, allons déjeuner au restaurant Italien mais à quelle heure?
– Jean nous allons déjeuner au restaurant Italien à midi.

Un protocole de communication sans état doit en permanence transporter tout le contexte.

2 thoughts on “Avec où sans état? une histoire de context

  1. Gabriel Post author

    1!!
    Beaucoup de problématiques tournent autour de ça, état/sans état. Par exemple, la persistence de l’état induit que cette persistance soit faisable, simplifiable au possible. Par exemple, pour rajouter une branche à ton histoire de restauratant: – Je ne connais pas ce restaurant italien où nous allons manger à midi? où est -il? – Pour aller à ce restau italien où nous allons manger à midi, il faut aller au bout de la rue à droite, puis à gauche au deuxième feu, tu dépasses lavoie ferrée, et c’est pas le premier mais le plus petit. – Ok, je vais prévenir mes collègues que nous allons à ce restau italien à midi: pour y aller il faut aller au bout de la rue à droite, puis à gauche au deuxième feu, tu dépasses lavoie ferrée, et c’est pas le premier mais le plus petit. etc etc. je suis en train de travailler sur un objet qui a est le résultat de sa situation dans un arbre, cet id est donc récursif: ben.. c’est pas facile 🙂 Dès fois on a juste envie de dire dans cette conversation : “mais note le!! Je te fais confiance!” Sauf qu’un serveur (en terme informatique) ne peut pas faire confiance en un client. Donc s’il note qqch on n’est pas sûr que sa copie soit juste. En fait la conversation est inégale: celui qui propose le resto sait où est le reto, et celui qui accepte n’a pas de mémoire. A la fin de la conversation il devrait dire: mais au fait on va où?

  2. Pingback: Les gares et les cafés sont sans état at Aurélien Pelletier’s Weblog

Comments are closed.