¿Es la evolución cultural similar a la evolución biológica? Es la cuestión que se plantean científicos de la Universidad Pompeu Fabra y del ICREA en un artículo. El equipo de investigadores ha estudiado la evolución natural y casi biológica de los lenguajes de programación, y revelan que su evolución va hacia una comunicación hombre-máquina más natural.
Aunque muchas de las ideas de la biología evolutiva se han aplicado al estudio de los cambios culturales, todavía existe un gran debate sobre si los fenómenos naturales y culturales evolucionan de manera similar. Una de las razones de la persistencia de este debate es la dificultad de comparar los dos procesos.
Los fenómenos culturales, a diferencia de los naturales, no tienen un "genoma" como medida del cambio, a excepción del lenguaje natural para el que los investigadores en lingüística formal han diseñado varias métricas que representan los cambios gramaticales, fonéticos, ortográficos y semánticos, entre otros. En cambio, otros fenómenos culturales, como la innovación tecnológica, son mucho más difíciles de cuantificar y medir adecuadamente.
Sergi Valverde, profesor visitante del departamento de Ciencias Experimentales y de la Salud (CEXS) de la Universidad Pompeu Fabra (UPF), y Ricard Solé, investigador del ICREA y miembro del Laboratorio de Sistemas Complejos, han estudiado la evolución natural y casi biológica de los lenguajes de programación que han marcado profundamente los avances sociales y tecnológicos en los últimos 60 años.
En el estudio publicado en Journal of Royal Society Interface, Valverde y Solé han definido un modelo evolutivo basado en las relaciones de influencia de los lenguajes de programación. "Los lenguajes de programación son nuestro puente para comunicarnos con los ordenadores, y representan la mayor innovación en la historia de la tecnología moderna”, dicen los autores. Según los científicos, "es una tecnología invisible pero que ha llevado a la revolución de la información y ha redefinido totalmente nuestras vidas y la propia naturaleza del cambio tecnológico", recalcan.
Descifrar la torre de Babel de los códigos artificiales
Los lenguajes de programación definen un universo de soluciones diversas. Algunos están especializados en el manejo de las imágenes o en el procesamiento del sonido complejo, y otros hacen consultas en grandes bases de datos. Para entender la complejidad de las tecnologías de la información se debe tener en cuenta que "los lenguajes de programación han llegado a una etapa de inmensa creatividad y de experimentación constante con nuevas ideas", afirman Valverde y Solé.
La evolución casi biológica de los lenguajes de programación significa que las estructuras que construyen son cada vez más complejas. Uno de los retos que los autores consideran en su trabajo es "definir adecuadamente árboles evolutivos en la historia de los lenguajes de programación".
El método que proponen los investigadores se ha elaborado con los datos públicos de Wikipedia, con el objetivo de conseguir desvelar qué lenguajes de programación han influido en los otros: "Utilizamos una medida simple de similitud entre los lenguajes que conforman la red, muy similar a los algoritmos de recomendación utilizados por Amazon. Aunque el método es bastante simple, produce resultados totalmente consistentes con los conocimientos actuales sobre el desarrollo tecnológico", señalan los autores.
Los resultados del análisis de datos y el modelado de la red muestran que la evolución de los lenguajes de programación es muy desigual, marcada por olas de innovación en las que se crean nuevos lenguajes a partir de la mezcla de las estructuras y conceptos definidos en los lenguajes anteriores. Estas olas indican la presencia de episodios rápidos de innovación tecnológica consistentes con la evolución de equilibrio puntuado que definieron S.J. Gould y N. Eldredge (1972).
Hacia una comunicación hombre-máquina más natural
Además de modelar la evolución de los lenguajes de programación, el modelo de Valverde y Solé ofrece nuevas ideas sobre los desarrollos futuros. Una observación importante es la fuerte influencia de la Inteligencia Artificial en los lenguajes de programación contemporáneos, un campo que tradicionalmente se ha relacionado con el ámbito académico y la investigación.
Esto sugiere que, algunas de las primeras ideas en computación representaron innovaciones que en su momento fueron muy avanzadas a su tiempo. Además, los investigadores han comprobado que se refuerza la tendencia hacia el desarrollo de lenguajes que permitan una comunicación hombre-máquina más flexible y natural.
Pero el verdadero mérito del modelo de Valverde y de Solé es que la simple idea de árboles de influencia puede extenderse a muchos otros dominios más allá del estudio de los lenguajes de programación, y ofrecen un marco teórico nuevo para cuantificar rigurosamente la evolución cultural y tecnológica.
R eferencia bibliográfica:
Sergi Valverde, Ricard Solé (2015). “Punctuated Equilibrium in the Large-Scale Evolution of Programming Languages” Journal of Royal Society Interface, 20 de mayo. DOI: 10.1098/rsif.2015.0249.