Cómo en la informática la ontogenia recapitula la filogenia

Evolución geek

Dentro de la informática existen muchas cosas que tienen similitudes con principios o teorías de la biología, ya sea porque la naturaleza sirvió de inspiración al diseño, como cuando hablamos de redes neuronales o algoritmos genéticos, o quizás en otras por simple coincidencia o sentido común, como ocurre con la evolución de las nuevas generaciones de computadoras y lo que establecía la Teoría de la recapitulación de Ernst Haeckel.

Como seguramente entre los lectores de este blog hay muy pocos biólogos comento brevemente que decía la Teoría de la recapitulación, que actualmente se considera desacredita:

La ontogenia, o el desarrollo de los individuos orgánicos, considerada como una secuencia de formas que cambia a lo largo de todo individuo orgánico durante su existencia individual, está inmediatamente determinada por la filogenia o el desarrollo del grupo orgánico (phylum) al que pertenece. La ontogenia es una breve y rápida recapitulación de la filogenia, determinada por la función fisiológica de la herencia (reproducción) y la adaptación (nutrición)

Ernst Haeckel

Básicamente, diciendo que la ontogenia recapitula la filogenia, estamos diciendo que el embrión de una especie durante su desarrollo repite toda su evolución. En el caso del hombre sería que el embrión pase por un estado en el que se asemeje a un organismo unicelular, luego a un pez, luego a varios organismos intermedios en la cadena evolutiva hasta llegar a un primate primitivo y finalizando en un ser humano.

Lo curioso de esta teoría es que es muy probable que tenga más validez en la informática que en el mundo biológico. Si bien anteriormente ya se desarrolló esta analogía, como Tanembaum en su libro de sistemas operativos, me pareció divertido analizarla para ver si se siguió aplicando las tecnologías que son populares actualmente.

Cada nueva generación de computadoras, en la que actualmente podemos incluir también a los teléfonos celulares y tablets, sigue una evolución muy similar a la generación anterior. Si pensamos tanto en los primeros Mainframes, PC, celulares digitales y consolas de videojuegos, los cuatro se programaban utilizando Assembler o algo muy similar, no podían ejecutar más de un programa a la vez ni tampoco tenían memoria virtual. Actualmente todos estos tipos de computadora se pueden programar en lenguajes de alto nivel, soportan la ejecución de múltiples procesos de manera concurrente y en simultáneo gracias al uso de varios procesadores e implementan memoria virtual, permitiendo ejecutar programas más grandes que la memoria física del dispositivo. Es importante resaltar, para que la analogía tenga sentido, que cada uno de estos cambios se realizaron en momentos diferentes para cada tipo de dispositivo.

Cuando las PC ya tenían procesadores con varios núcleos y sistemas operativos multitarea, todavía los teléfonos celulares se programaban con lenguajes de bajo nivel y no soportaban la ejecución de varios programas. Hoy ya tienen las características que tenían esas PC; e incluso, en ambos, es recomendable, aunque opcional, que tengan Linux instalado

Leave a Reply

Connect with Facebook