Processing se desarrolla en el marco de la Fundación Processing.
En el siguiente enlace se puede ver, de forma más extensa, todas las actividades que propone la Fundación Processing: http://processing.org/foundation/
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