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.
Como hemos visto, el software cultural (ya sea Photoshop, Illustrator, Premiere, Maya y un largo etcétera) permite a un sector cada vez más amplio de profesionales acceder a la creación de contenidos multimedia y, a la vez, determina qué pueden hacer.
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.
A mediados de la década de los 60, cuando los ordenadores eran voluminosas máquinas de cálculo en centros de investigación, unos pocos ingenieros y matemáticos exploraban la manera de convertirlos en herramientas de creación 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 un momento en que no existían los ordenadores personales, pioneros como Mohr, Nake o Molnar lograron desarrollar las posibilidades creativas de las grandes máquinas de cálculo gracias a su habilidad para crear sus propios programas.
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.
De STEM a STEAM
Esta iniciativa, impulsada desde hace más de una década en Estados Unidos por la Rhode Island School of Design (RISD), plantea integrar el arte y el diseño en la formación científica. Se añade la «A» de arte + diseño al conjunto «STEM», de las siglas en inglés de ciencia + tecnología + ingeniería + matemáticas. La simbiosis entre las artes y las ciencias va más allá de la creación artística con nuevas tecnologías y se plantea como un método de innovación radical. Según afirman sus impulsores:
«El objetivo es fomentar la verdadera innovación que supone la combinación de la mente de un científico o tecnólogo con la de un artista o diseñador. El pensamiento flexible, la asunción de riesgos y la resolución creativa de problemas también pueden aplicarse a los desafíos más complejos y apremiantes de la actualidad, desde la atención médica hasta la revitalización urbana y el calentamiento global.»
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.
Del mismo modo que pioneros como Manfred Mohr, Reas y Fry combinan una formación en arte y diseño con conocimientos de programación, lo que les hace conscientes del potencial creativo del código, así como de las dificultades que se le plantea a una persona formada en una cultura visual adentrarse en la lógica de un lenguaje de programación.
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.
La programación creativa nace de una concepción transdisciplinaria del trabajo con las herramientas digitales, y contribuye a difuminar la separación entre arte y diseño, puesto que permite a los creadores llevar sus ideas a entornos muy diversos.
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.
No obstante, cabe entender que el código fuente es básicamente un conjunto de instrucciones, un algoritmo escrito en un lenguaje de programación que controla determinadas operaciones en un ordenador.
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.
Según señala Casey Reas, el conocimiento del código fuente permite liberarse de los parámetros establecidos por las empresas de software y, a la vez, comprender mejor cómo funcionan los programas para crear no solo herramientas, sino sistemas, entornos y modos de expresión totalmente nuevos (Reas y McWilliams, 2010, pág. 25).
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.