2. Crear con código

2.1. ¿Qué es la programación creativa?

En el apartado anterior hemos visto la importancia del software en nuestra sociedad, así como su consideración como artefacto cultural frente a la percepción de los programas que empleamos a diario como meras herramientas neutrales. El último apartado de dicho apartado nos recuerda que el software, lejos de ser inocuo, ejerce un papel decisivo en la propia creatividad facilitando mediante los diferentes programas de creación, edición y difusión de contenidos, que han hecho del ordenador no solo un medio en sí mismo, si no un «metamedio» que incorpora y expande los medios existentes, como señala Lev Manovich. En este apartado exploraremos las posibilidades de la creación de contenidos de todo tipo basada en lenguajes de programación y los entornos y plataformas que los hacen accesibles a usuarios no habituados a trabajar con código fuente.

Cada vez que un desarrollador lanza la última versión de un programa con nuevas funciones, estas son bienvenidas por diseñadores y creadores, quienes las incorporan a su flujo de trabajo y, a veces, desarrollan nuevos estilos basados en las posibilidades que les ha abierto el programa. Así, aunque tienen una clara dependencia del software, que establece lo que pueden y no pueden hacer, no ven otra opción que la de esperar a que el desarrollador saque una nueva versión que se adapte a sus necesidades o les permita crear de otra forma. El software se distribuye como un producto cerrado y, por tanto, no se concibe crear una herramienta nueva o desarrollar todo un software nuevo, que implica programar, ya que es una habilidad en la cual la mayoría de artistas y diseñadores no ha recibido formación.

La creación vinculada a las nuevas tecnologías habitualmente ha tenido como protagonistas a artistas y diseñadores que trabajan en colaboración con programadores, o bien a los escasos individuos que han sabido compaginar sus conocimientos de programación y matemáticas con inclinación hacia la creatividad artística.

En 1965, tres exposiciones mostraban al público los resultados de estos experimentos. La primera tuvo lugar en el Instituto de Tecnología de la Universidad de Stuttgart, en el seminario del filósofo Max Bense, donde se expusieron los dibujos algorítmicos del matemático Georg Nees. Dos meses más tarde, la galería Howard Wise de Nueva York mostraba obras de Michael Noll y Bela Julesz creadas con computadoras. A finales de año la galería Wendelin Niedlich de Stuttgart reunió una selección de obras de Frieder Nake bajo el título Computer Graphics. A estos pioneros, todos ellos vinculados al ámbito de la ciencia y la tecnología, se sumarían poco después artistas formados en artes visuales como Charles Csuri, Manfred Mohr y Vera Molnar. Estos creadores tenían en común el interés por emplear las computadoras con una finalidad para la que no habían estado creadas, así como el acceso a las máquinas y los conocimientos para trabajar con el código de programación y los plóteres en los que se plasmaban sus creaciones algorítmicas. Mohr, por ejemplo, logró tener acceso al ordenador del Instituto de Meteorología de Francia, en París, donde trabajaba cada noche realizando sus creaciones con la ayuda de un plóter que se empleaba para dibujar la predicción meteorológica de toda Europa. Posteriormente, el artista adquirió sus propias máquinas e incluso construyó sus propios ordenadores para generar ciertas piezas.

En las décadas siguientes, un número cada vez mayor de artistas, habitualmente vinculados a centros de investigación o con conocimientos de ingeniería e informática, han ido creando proyectos artísticos con tecnologías emergentes en el ámbito de lo que se ha denominado arte electrónico, arte digital o arte de nuevos medios. La creciente popularidad de esta vertiente del arte contemporáneo, unida a la profunda integración de los medios digitales en todos los ámbitos de la vida cotidiana, ha demostrado que los ordenadores son excelentes herramientas para la creatividad y ha llevado al desarrollo de numerosas iniciativas que buscan compaginar la cultura tecno-científica y la humanística. Un ejemplo paradigmático es el MIT Media Lab, fundado en 1985 como un laboratorio de investigación que une tecnología, ciencia, arte y diseño. Espacio creador de numerosos avances tecnológicos, el Media Lab no solo ha acogido el trabajo de destacados ingenieros y diseñadores, sino que ha fomentado la fusión de las disciplinas tradicionales y la innovación a través del diseño. Fruto de la mentalidad generada en MIT surge la iniciativa STEM to STEAM, que promueve integrar el arte y el diseño en la formación e investigación científica. Uno de los promotores de esta idea es el ingeniero y diseñador John Maeda, profesor del MIT Media Lab entre 1996 y 2008 y una de las principales figuras internacionales en el ámbito de la innovación en diseño. El trabajo de Maeda como director of the Aesthetics + Computation Group (ACG) en el MIT Media Lab se dio a conocer notablemente con la publicación del libro Creative Code: Aesthetics + Computation en 2004, que contribuyó a popularizar lo que se suele denominar creative coding o programación creativa, el uso de código fuente para finalidades estéticas.

Precisamente son dos antiguos alumnos del MIT Media Lab, a los que asesoró Maeda, los creadores del lenguaje de programación más empleado en programación creativa. Casey Reas y Benjamin Fry desarrollaron Processing en el contexto de Media Lab en 2001 como un entorno de aprendizaje que permitiese a personas sin conocimientos de programación (en especial artistas y diseñadores) adentrarse en la creación con código.

Creado con la intención de facilitar el acceso a la aparentemente árida y compleja tarea de escribir instrucciones, Processing es tanto un lenguaje de programación como un software que genera un entorno en el que el usuario puede trabajar con el código de una manera sencilla y visualizar los resultados de forma rápida. Desde su lanzamiento, Processing ha generado una creciente y activa comunidad de usuarios y se ha convertido en una de las principales herramientas de creación para artistas y diseñadores que trabajan con nuevas tecnologías. Junto con otros recursos de código abierto, ha facilitado a numerosos creadores desarrollar todo tipo de proyectos tanto en el ámbito de las artes visuales como de la arquitectura, diseño, ingeniería y muchos otros.

Un ejemplo de ello es el creciente número de colectivos y estudios de diseño y comunicación que desarrollan proyectos tanto en el contexto de exposiciones de arte como en campañas publicitarias, branding o instalaciones interactivas para grandes empresas. FIELD, un estudio londinense creado por Marcus Wendt y Vera-Maria Glahn, destaca en este sentido por un trabajo que incluye instalaciones y diseños para grandes empresas como Nike, Adidas o General Electric junto a pinturas digitales y esculturas cinéticas. La fluidez con la que estos creadores se mueven entre diferentes contextos es un reflejo de las amplias posibilidades que ofrece trabajar con código.

Hemos hablado de software y de la importancia de saber programar nuestras propias herramientas. Lo que suele desalentar a artistas y programadores respecto a la programación es la aparente complejidad del código fuente y la dificultad de trabajar en un contexto que se aleja de lo instintivo y visual.

Estas instrucciones deben ser precisas y no dar lugar a ambigüedades, por lo tanto los lenguajes de programación siguen una sintaxis específica que no admite errores. Un símbolo fuera de lugar puede producir un resultado totalmente diferente, y eso lleva a constantes revisiones del código, depuraciones (debugging) y comprobaciones de la propia estructura de las instrucciones que puede resultar tediosa o demasiado compleja para una mente intuitiva como la de un artista o diseñador. No obstante, superar estas reticencias lleva a los creadores a obtener un mayor control de sus proyectos.

El artista y programador que ha cocreado el lenguaje y entorno de programación Processing incide en la necesidad de adaptar los lenguajes de programación a personas acostumbradas a trabajar en entornos visuales, a la vez que señala que los artistas y diseñadores deberían tener unas nociones de programación para entender el medio con el que están trabajando:

Mucha gente piensa que los programadores son un tipo único de persona, diferente a todos los demás. Una de las razones por las que la programación permanece dentro de los límites de este tipo de personalidad es que la gente con mentalidad similar suele crear los lenguajes de programación. Es posible crear diferentes tipos de lenguajes de programación que involucren a personas con mentes visuales y espaciales. Los lenguajes alternativos expanden el espacio de programación a personas que piensan diferente. […] El dominio de la programación requiere muchos años de arduo trabajo, pero la comprensión de los principios básicos del medio está al alcance de todos. En mi opinión, todo artista que utilice software debería tener conocimientos de software.

G. Stocker, C. Schöpf (eds.) (2003). Ars Electronica. CODE – The Language of our Time (pág. 178-179). Osterfildern-Ruit: Hatje Cantz.

Como veremos en el siguiente apartado, Processing y otros entornos de programación ofrecen una aproximación al código fuente pensada para artistas y diseñadores, que facilita otras maneras de crear con código.