Creo que es importante ampliar un poco más esta depuración "inversa" o "histórica". Creo que entender los sistemas complejos y el comportamiento en ellos, reproducir los "eventos" que hacen que el estado sea explícito es absolutamente crucial.
Lo que quiero expresar es que no estás solo al preguntarte por qué esta técnica no se aplica tanto hoy o por qué los problemas relacionados rara vez se discuten con claridad.
Entonces, enfaticemos dos conceptos muy importantes aquí:
1. Para entender un sistema de programación, es útil hacer explícito el estado
2. Para comprender mejor un sistema de programación, la reproducción de secuencias de estado (eventos) puede ayudar mucho.
Aquí hay algunas fuentes que abordaron el problema y propusieron o diseñaron soluciones para el problema (tratar el estado en sistemas complejos):
-Fuera del bit de alquitrán, papel: enlace
Ideas principales: evitar, aislar o hacer explícito el estado
-CQRS
enlace
Esta es una combinación de dos conceptos: Separación de consulta de comando y Abastecimiento de eventos. Existen diferentes implementaciones (Java, C #, Scala).
La repetición de las secuencias de Tate y la evolución de un modelo de dominio son las partes cruciales aquí.
Si usted realmente se aleja y ve la imagen muy amplia, ya puede ver que con el "aumento" de la programación funcional las personas ya están ((des) conscientemente) atraídas por fp porque hace que el estado ¡explícito!
Pero eso solo se relaciona con el punto uno, para abordar el segundo necesita otro concepto que podría describirse "libremente" como programación reactiva funcional.
Entonces, podrías decir todo muy bien, pero ¿quién usa CQRS y FRP? Diría que (IMO porque no tengo números concretos) en realidad muchas empresas es simplemente que no saben qué trabajo tienen en esta terminología. Tal vez busques un poco en Google y escuches de empresas que usan CQRS, ya hay algunas historias de éxito.
FRP también está aumentando lentamente como un ejemplo que podría dar a Netflix: enlace
Que acaba de lanzar una implementación de RX que en realidad está basada en .NET (pero también tiene una implementación de Javascript). Así que la gente ya está utilizando estas técnicas hoy, EN GRANDE, para comprender sistemas complejos y mejorarlos aún más. Es por eso que utilizan técnicas de depuración inversa.