The Nature of Code: simular la naturaleza con código

nat-code-cover

En nuestra serie de artículos dedicados a la programación creativa hemos visto, entre otros, el entorno de programación Processing. Si bien existen muchos manuales y tutoriales para aprender a crear con Processing, en este artículo nos centraremos en un título escrito en 2012 por Daniel Schiffman, co-fundador de The Processing Foundation y autor del libro Learning Processing: A Beginner’s Guide to Programming Images, Animation and Interaction (Morgan Kauffman, 2008). Con una amplia experiencia en la formación de “no-programadores” en la creación de proyectos con código, Schiffman aborda en The Nature of Code lo que considera “el siguiente paso” a su guía introductoria Learning Processing: las técnicas de programación avanzadas que permiten elaborar algoritmos y simulaciones complejas.

El autor se pregunta cómo se pueden replicar las propiedades emergentes de los sistemas naturales a través de software, traduciendo así los principios matemáticos del mundo físico a los mundos digitales. Para ello, emplea estrategias y técnicas de programación en Processing, pero, según advierte, no se trata de un libro sobre Processing. Si bien este entorno de programación es muy popular y resulta idóneo para aprender dado que es gratuito y de código abierto, apoyado por una amplia comunidad de creadores y desarrolladores, los contenidos del libro pueden aplicarse a otros lenguajes de programación (como ActionScript o JavaScript) y entornos de programación creativa (como openFrameworks o Cinder), puesto que se centran en cuestiones esenciales de la programación de simulaciones, más que en acciones concretas en Processing. Con todo, es preciso tener ciertos conocimientos de programación para entender lo que Schiffman explica a lo largo del libro, preferiblemente de Processing, y tener nociones acerca de programación orientada a objetos.

 

nature-code

Si bien el título del libro puede sugerir una larga reflexión acerca de los patrones matemáticos presentes en la naturaleza (como hace el arquitecto Peter S. Stevens en su popular libro Patterns in Nature, de 1974), Schiffman se lanza desde el principio a presentar ejemplos con código que van desde el análisis del movimiento de un objeto y las fuerzas que operan sobre el mismo hasta el modelado de sistemas complejos y autómatas celulares e incluso la programación de redes neuronales artificiales. El libro tiene una clara intención didáctica y de hecho el propio autor plantea un esquema por medio del cual se pueden enseñar sus contenidos como un curso de un semestre. El propio Schiffman ha ofrecido el pasado mayo un curso online basado en The Nature of Code que ha podido seguirse en la plataforma Kadenze dentro de su “mes de la programación creativa”.

The Nature of Code está disponible como libro de impresión bajo demanda, PDF, ebook y también puede leerse de forma gratuita en formato HTML. El autor generó la versión online del volumen con The Magic Book Project, un entorno de código abierto que permite diseñar y producir libros electrónicos y en papel. Gracias a este sistema, el autor puede escribir el libro en un único archivo de texto con el que se generan automáticamente diversas versiones para libro impreso, PDF, HTML, MOBI y EPUB.