Mis amigos-con la web 2.0 podría haber hecho un multienlace a todos ellos…- saben que desde hace tiempo me ronda por la cabeza esta idea. Y es que observo la evolución de los paradigmas de desarrollo del software y la hallo en extremo similar a la evolución del almacenamiento de información en los sistemas vivos -algo que conozco con el criterio de autoridad que me da mi título, pero que en realidad no es tanto como debiera-, o sea, la evolución del material genético en la filogenia.
Y es sorprendente hasta qué punto son parecidos: si asociamos los conceptos de programa/aplicación a los ácidos nucléicos (doble hélice de ADN o ARN), el progreso es paralelo: el cromosoma único bacteriano y la programación estructurada, el núcleo eucariota y la programación modular, o más el paradigma orientado a objetos con el encapsulamiento y el polimorfismo implementado con la presencia de la membrana celular y la funcionalidad alélica.
la evolución hacia la programación orientada a objetos es aún más patente al subir un nivel de funcionalidad -subimos una capa de abstracción en la máquina- y observamos la organización histológica -clases de células- y orgánicas -ensamblados o paquetes-…sin palabras.
En sí, una célula es análoga un objeto de la POO -instancia de una clase genérica o especie- cuya característica primordial es la de mantener un grado de autonomía funcional lo suficientemente importante como para poder ser reutilizado en una estructura dinámica de nivel superior u organismo -aplicación modular donde las haya…-. Almacena información encapsulada -o doblemente encapsulada si es una célula eucariota o nucleada-
Pues bien, barrunto que tamaña semejanza no puede ser fruto de la casualidad. ¿Y si la información, cuando crece, tiende a almacenarse en estructuras similares (homólogas dirían los biólogos, polimórficas los informáticos)? ¿Y si ES NECESARIO que la información se fragmente a partir de una cantidad crítica para poder asegurar la disponibilidad? ¿Y si para asegurar esa disponibilidad se hace imprescindible que esos fragmentos de almacenamiento se rodeen de estructuras y adquieran una funcionalidad mínima? ¿Y si, por último, fuese imprescindible para poder separar la funcionalidad “interna” de la que verdaderamente ofrece, el que se aislen del entorno, se encapsulen?
Contadme vuestras impresiones, que éste es un tema que verdaderamente me apasiona.





