# Processing

Processing es un lenguaje de programación y entorno de desarrollo integrado de código abierto basado en Java, de fácil utilización, y que sirve como medio para la enseñanza y producción de proyectos multimedia e interactivos de diseño digital. Fue iniciado por Ben Fry y Casey Reas, ambos miembros de Aesthetics and Computation Group del MIT Media Lab dirigido por John Maeda.
Uno de los objetivos declarados de Processing es el de actuar como herramienta para que artistas, diseñadores visuales y miembros de otras comunidades ajenos al lenguaje de la programación, aprendieran las bases de la misma a través de una muestra gráfica instantánea y visual de la información. El lenguaje de Processing se basa en Java, aunque hace uso de elementos de programación sencillos, por lo que no se requieren conocimientos profundos en Java. Processing utiliza una sintaxis simplificada y un modelo de programación de gráficos.

## Alcance

Al estar basado en Java hereda toda su funcionalidad, convirtiéndose en una herramienta fabulosa a la hora de encarar proyectos complejos y proyectos semi completos.

## Características

Processing incluye una ventana visual como complemento al contorno del entorno de desarrollo integrado (IDE) para organizarlas en los proyectos.
Cada esquema de Processing es en realidad una subclase de PApplet, un tipo Java que pone en funcionamiento la mayor parte de las características del lenguaje del Processing.
Al programar en Processing, todas las clases adicionales definidas serán tratadas como clases internas cuando el código se traduce en puro Java antes de compilar. Esto significa que el uso de variables estáticas y métodos de las clases está prohibido a menos que se indique específicamente a Processing qué quiere el código en modo puro Java.
Processing también permite a los usuarios crear sus propias clases de PApplet en la ventana. Esto permite que los tipos de datos complejos puedan incluir cualquier número de argumentos y evita las limitaciones al uso de tipos de datos estándar como int (entero), char (caracteres), float (número real) o color (RGB, hexadecimal ARGB).

## Ejemplo

Un ejemplo sencillo en que dibuja una frase y una línea acorde a la posición del mouse es el siguiente.

## Wiring, Arduino y Fritzing

Processing dio lugar a otro proyecto, Wiring, que utiliza el IDE de Processing con una versión simplificada del lenguaje C++ como modo de enseñar a artistas cómo programar microcontroladores. En la actualidad hay dos Proyectos independientes de hardware, Wiring y Arduino, utilizando el entorno de Wiring y su lenguaje. El entorno Fritzing de software es otro del mismo tipo, que ayuda a los diseñadores y artistas a documentar sus prototipos interactivos y dar paso en la creación de prototipos físicos al producto real.

## Premios

En 2005 Casey Reas y Ben Fry ganaron el premio Golden Nica, de Ars Electronica en la categoría de Net Vision por su trabajo en Processing.
Ben Fry ganó el 2011 National Design Award que otorga el Xla pechoplata, en la categoría de Diseño Interactivo.

## Nombre

En su origen, Processing tuvo el URL en proce55ing.net porque el dominio de processing ya estaba tomado. Finalmente Reas y Fry adquirieron el dominio. Aunque el nombre era una combinación de letras y números, se pronunciaba de la misma manera que el actual, processing. Posteriormente se utilizó el diminutivo p5 para referirse a la librería JavaScript basada en la estructura de java.