Programación Creativa (PC) o Creative Coding es un enfoque emergente de
la programación que busca desarrollar objetos digitales interactivos como una
forma de expresión con sentido artístico. En esencia, se trata de
crear proyectos que sean más expresivos que funcionales. La PC se utiliza
para crear imágenes en vivo, muestras de diseño y arte visual, entretenimiento,
mapping, arte sonoro, publicidad, prototipos de productos y muchas más
variantes.
En las prácticas de computación creativa entendemos al desarrollo
de software como un artefacto cultural. Algo no neutro, que nos permite
comunicar nuestras emociones. La computadora, en términos descritos por Lev
Manovich, se convierte en un metamedio, que nos permite expandir los medios
existentes y por ende nuestra obra. Así, los programas que se generan son
vistos como software cultural (Manovich incluye en esa categoría a Photoshop,
Illustrator, Premiere, Maya, entre otras).
A medida que la computación se desarrolló y se hizo un producto popular de
consumo distintos artistas se dedicaron a explorar sus posibilidades ligadas al
arte y la expresión. Así, personas y grupos en centros de investigación
empezaron a formarse en saberes relacionados con aspectos técnicos de la
computación, que puedan darles un nivel importante fluidez para poder
controlar y dirigir sus nuevas herramientas digitales. De esta manera,
surgieron denominaciones a este espacio emergente, como arte electrónico,
arte interactivo o arte con nuevos medios. Más allá de ser solo una moda
pasajera, el arte digital vino para quedarse en nuestra sociedad, dado que se
está consolidando como una dimensión del arte contemporáneo.
Una contribución importante al desarrollo del área fue realizada por el MIT
Media Lab, un laboratorio de investigación donde la tecnología, la ciencia, el
arte y el diseño se entrelazan en proyectos de vanguardia. El profesor John
Maeda ha sido uno de los promotores de esta idea, que se basa en la
integración entre la ingeniería y el diseño. En su laboratorio, Aesthetics +
Computation Group, promovió la innovación en diseño, y escribió sus ideas en
un libro seminal (publicado en el año 2004) llamado “Creative Code: Aesthetics
+ Computation”, donde se popularizó el término “Creative Coding” como el
desarrollo de programas para fines estéticos.
La evolución de las ideas de Maeda se plasmaron en un nuevo lenguaje
llamado Processing, desarrollado por dos de sus ex estudiantes en el MIT
Media Lab. Casey Reas y Benjamin Fry desarrollaron Processing en el año
2001 como un entorno de aprendizaje de la programación, con sentido artístico,
que posibilitara que personas sin conocimientos previos de programación
puedan empezar a aprender y a la vez crear sus obras.
Desde ya, para trabajar en el área de PC, tenemos que saber el ABC de la
programación tradicional. En principio, para empezar a crear no hace falta una
inmersión profunda en el aprendizaje de las técnicas de programación, alcanza
solo con manejar, de manera fluida, conceptos básicos como: variable,
secuencia de instrucciones, operadores básicos, expresiones, estructura
condicional, ciclos y funciones del usuario. Pero lo bueno es que estos
conceptos se pueden aprender en un entorno de computación creativa. Por
otro lado, más allá de consumir software, como productos cerrados, opacos en
su estructura y con acuerdos de uso asimétrico, está la posibilidad de
desarrollar nuestros propios programas, ya sea para placer o como mercancía
para comercializar.
Para el desarrollo de la programación creativa hoy existen una amplia gama de
herramientas de programación. Esta diversidad se da en, por un lado, existen
muchas ramas artísticas a cubrir: composiciones sonoras en tiempo real,
animaciones, muros multimedia, performances interactivas, entre las
principales, y por otro lado, que hay diferentes maneras de abordar los
proyectos de programación creativa. En este abanico de herramientas, que
nace en Processing, podemos citar como ejemplos las siguientes:
[Link]. Es un entorno y librería de Javascript orientada programación creativa,
que permite crear lienzos virtuales que pueden contener: visualizaciones de
datos, animaciones, expresiones interactivas en la pantalla de un navegador
web. Los proyectos, al basarse en Javascript son universalmente accesibles
vía web, sin depender de sistemas operativos ni de instalaciones previas
especiales. [Link] fue desarrollado Lauren McCarthy (una artista) en el año
2014, en esencia se basa en una reinterpretación del lenguaje Processing
adaptado a la web.
[Link] es otra herramienta que permite integrar la visualización de datos en
páginas web es [Link]. Se pueden crear visualizaciones de datos interactivas
con sentido artístico. Hoy, se utiliza ampliamente en sitios web con el objetivo
de integrar gráficos y mapas interactivos en sitios web de periodismo
OpenFrameworks es un software de código abierto creado y lanzado en el año
2005 por el artista Zachary Lieberman. El lenguaje continua desarrollándose
por una importante comunidad de programadores y diseñadores.
openFrameworks se basa en herramientas desarrolladas en lenguaje C++ que
se combinan con otros recursos. Tales como: FreeType (manejo de tipografía),
OpenGL (para el desarrollo de gráficos), FreeImage (manejo imágenes),
Quicktime (gestión de vídeo) y OpenCV (visión artificial) entre las principales. El
ambiente de trabajo promueve la creación colectiva de proyectos, en base a
facilitar la colaboración.
MaxMSP y PureData son herramientas de la programación creativa creadas
por Miller Puckette para asistir al desarrollo de proyectos de música creada en
computadoras. Max/MSP y Pure Data permiten al usuario procesar señales de
audio y vídeo en tiempo real, posibilitando la conexión de diversas
herramientas externas.
La programación creativa también, en ciertas ocasiones, suele incluir objetos
tangibles (especialmente componentes de hardware) a sus creaciones. De esta
manera puede capturar datos e interactuar con el entorno, como también
manejar otras posibilidades de salida. Entre los componentes tangibles más
usuales se tienen: placas Arduino o Raspberry, cámaras digitales 2D y 3D,
micrófonos, sensores de todo tipo, MIDI, luces LED, proyectores láser, entre los
principales.
[Link]
programacion-creativa