domingo, enero 22, 2006

La ley de Dollo y los sistemas informáticos

Estaba yo leyendo un libro de ensayitos relacionados con la ciencia, "El filantrópico doctor Gullotin y otros ensayos sobre la ciencia y la vida" de Harold J. Morowitz cuando me he encontrado con una ley de la evolución que no conocía y con su aplicación a la evolución de programas y sistemas. Se trata de la ley de Dollo y el enunciado según el libro sería
"La evidencia indica que los principales pasos evolutivos, una vez dados, nunca se desandan"
Como casi todas las leyes de la evolución tiene excepciones que pueden ser las que confirman la regla. Además en el propio ensayo se hace una mención a su validez en evolución de sistemas informáticos:
"La longitud de los programas(*) y sus peculiaridades crean estructuras que no pueden revertirse sin que el programa(*) quede destruido y haya que empezar de cero"

(*)Creo que decir "programas y sistemas" en lugar de "programas" da una mejor visión de como funcionan estos mecanismos en la realidad...

Y claro, leyéndolo se me hay ocurrido ejemplos de su aplicación en la tecnología. El triunfo de sistemas edificados sobre el triunfo de otros sistemas: C++ encima de C, servicios web y AJAX sobre HTTP...

Es curioso como esto tembién se puede extrapolar (con menor potencia) a sistemas más pequeños, a los sistemas que vamos contruyendo cada día. En general unos se edifican sobre los anteriores, los nuevos sobre los que se usan. Yo lo resumiría en una frase: "serás esclavo de tus éxitos" (y tendrás que mantenerlos) :)

La misma entrada en BP