Je pense qu'il est important de développer un peu plus ce débogage "inverse" ou "historique". Je pense que pour comprendre les systèmes complexes et le comportement dans ceux-ci, il est absolument crucial de rejouer les "événements" qui rendent l'état explicite.
Ce que je veux dire, c'est que vous n'êtes pas seul à vous demander pourquoi cette technique n'est pas tellement appliquée aujourd'hui ou pourquoi les problèmes connexes sont rarement discutés clairement.
Soulignons donc ici deux concepts très importants:
1.Pour comprendre un système de programmation, il est utile de rendre explicite l'état
2.Pour comprendre encore plus, un système de programmation rejouant des séquences d’états (événements) peut beaucoup aider.
Voici quelques sources qui ont abordé le problème et proposé ou conçu des solutions au problème (traitement de l'état dans des systèmes complexes):
-Out of the bit bit, paper: http://shaffner.us/cs/papers/tarpit.pdf
Idées principales: éviter, isoler ou rendre explicite l'état
-CQRS
http://www.cqrs.nu/
C'est une combinaison de deux concepts: Ségrégation de requêtes de commandes et Sourcing d'événements. Il existe différentes implémentations (Java, C #, Scala). La répétition des séquences de Tate et l'évolution d'un modèle de domaine sont les éléments cruciaux de cette étape.
Si vous vraiment en zoom et de voir l'image très large , vous pouvez déjà voir que la « montée » des personnes de programmation fonctionnelle sont déjà ((un) consciemment) attirés par fp parce qu'il fait état explicite! Mais cela ne concerne que le premier point. Pour aborder le second, vous avez besoin d’un autre concept qui pourrait être décrit de manière "approximative" comme une programmation réactive fonctionnelle.
Vous pouvez donc dire que tout va bien, mais qui utilise réellement CQRS et FRP? Je dirais (OMI parce que je n'ai pas de chiffres concrets) en fait beaucoup d'entreprises, c'est juste qu'elles ne savent pas que leur travail utilise cette terminologie. Peut-être que vous google un peu et que vous entendez des entreprises qui utilisent CQRS, il y a déjà des histoires de réussite. Par exemple, le format FRP augmente lentement. Je pourrais donner à Netflix: http://techblog.netflix.com/2013/02/rxjava-netflix-api.html
qui vient de publier une implémentation de RX qui est en réalité basée sur .NET (mais a une implémentation Javascript aussi). Donc, les gens utilisent déjà ces techniques aujourd'hui, dans le grand pour comprendre les systèmes complexes et les rendre encore meilleurs. C'est pourquoi ils utilisent des techniques de débogage inverse.