2.1. Introducción

Processing se desarrolla en el marco de la Fundación Processing.

 

Esta es una asociación sin fines de lucro que promueve la alfabetización de los lenguajes de software, en particular hacia la comunidad de las artes visuales. Los creadores de Processing y principales colaboradores son: Benjamin (Ben) Fry, Casey Reas y Dan Shiffman, los cuales desarrollaron el programa durante su estadía en el MIT Media Lab.

Si bien estos tres artistas han sido los encargados de llevar adelante el proyecto y generar bibliografía de consulta de gran calidad, la comunidad de colaboradores de Processing es sumamente extensa y diversa.

En una primera etapa, el proyecto fue creado para la enseñanza de los fundamentos de programación más básicos mediante un contexto puramente visual y que sirviera como bosquejo de programas más elaborados. Por esto es que los archivos de código fuente que se crean bajo Processing son conocidos como Sketch (borrador).

Siempre que se haga referencia a un Sketch dentro de una explicación, se está refiriendo tanto a un archivo específico de Processing, como al entorno de trabajo mismo del sistema. Esta vinculación permite seguir de forma fácil las explicaciones.

 

En términos generales Processing relaciona la programación de software con diferentes tipos de formas visuales, movimiento e interacción con el usuario.

A partir de esto, se cuenta con un Entorno de Desarrollo Integrado (IDE del inglés Integrated Development Enviroment) el cual permite un ambiente de desarrollo y una metodología de aprendizaje dentro de un solo sistema unificado. De esta manera, solamente hace falta bajar Processing para ejecutar y crear los Sketch.

En este IDE se trabaja mediante un lenguaje de programación propio de Processing, pero fuertemente basado en el lenguaje JAVA.

Processing se basa en la escritura de líneas de texto interpretado, y está especialmente diseñado para generar y modificar imágenes. Podemos definir el lenguaje Processing como un nivel intermedio entre la claridad de escritura y muchas características de programación avanzada.

Processing permite escribir programas que, en pocas líneas, pueden encerrar herramientas muy poderosas, sin depender de una curva de aprendizaje muy prolongada.

Además, al ser de código abierto, existen infinidad de librerías (funcionalidades extras que se pueden ir agregando al programa) desarrolladas para dotar a nuestros programas de muchas funciones nuevas y muy potentes.

Muchas librerías dotan a Processing de la habilidad para reproducir audio, enviar y recibir datos en diversos formatos y poder importar gráficos de 2D y 3D.

Dentro de Processing podemos encontrar muchas técnicas de procesamiento gráfico aplicadas, como el tratamiento matricial de las imágenes (píxel por píxel), el procesamiento avanzado de estas, modelos de color, eventos de mouse y teclado, comunicación en red y programación orientada a objetos.

Con el paso del tiempo, Processing fue convirtiéndose en una herramienta de producción para contextos específicos, tal como el arte digital. Estudiantes, artistas, diseñadores profesionales e investigadores han aprendido a usar Processing, prototipar sus diseños y producirlos. Por estas características, Processing se convierte en una herramienta ideal para el aprendizaje de diversas técnicas de programación y procesamiento de la imagen.

Por estas razones elegimos Processing para el desarrollo de este curso.

¿Qué cosas se pueden hacer con Processing?
En general, Processing permite el diseño y desarrollo de cualquier programa que involucre el trabajo con imagen, video, sonido e interactividad. Desde obras de Art Media, hasta desarrollos de programas específicos, pasando por programas de inteligencia artificial básica y comunicación de periféricos, como su uso combinado con la placa Arduino.

Además, Processing puede interactuar con sistemas Android y dispositivos como IPAD y tiene su proyecto Processing.js para embeber código en desarrollos webs. A continuación, capturas de programas corriendo en Processing:

Cubic Grid Retained

Esphere

Static Particles Retained

Visualizing data