Processing

Desarrollador(es)
Processing Foundation
https://processing.org/
Información general
Paradigma|  Orientado a objetos
Apareció en|  2001
Diseñado por|  Ben Fry and Casey Reas
Última versión estable|  4.3 (26 de julio de 2023 (2 años y 18 días))
Sistema de tipos|  Fuerte, estático
Influido por|  Design by Numbers, Java, OpenGL, PostScript, C
Sistema operativo|  Multiplataforma
Licencia|  GNU Lesser General Public License

[editar datos en Wikidata]

Mandala generada en 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.[1]​

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.[2]​ Processing utiliza una sintaxis simplificada y un modelo de programación de gráficos.

## Alcance

[editar]

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.[3]​

## Características

[editar]

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

[editar]

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

/**
@author Estudiantes curso Fundamentos de Programacion
@date Marzo de 2019
@brief Programa de ejemplo introductorio a Processing
Pinta un texto de saludo y una lInea acorde a la posiciOn del mouse

void setup(){
//ajusta el tamaNo de la ventana
size(500,500);

String msj="";

void draw (){
//pone el fondo de color gris
background (128);

//define el color a usar para pintar con base a la posiciOn del mouse y un valor aleatorio
fill(int(mouseX/2),int(mouseY/2),random(255));

//ajusta el tamaNo del texto
textSize(25);

//define texto a pintar y sus coordenadas
text("Bienvenido al Mundo de processing",40,200);

//dibuja una lInea entre el origen de coordenadas y la posiciOn del mouse
line(0,0,mouseX,mouseY);

//crea el mensaje a pintar y a imprimir basado en coordenadas del mouse
msj="mouseX: "+mouseX+" mouseY: "+mouseY;

//define el color a usar para pintar
fill(255);

//define texto a pintar y sus coordenadas
text(msj,80,250);

//imprime en consola
println(msj);

## Wiring, Arduino y Fritzing

[editar]

Processing dio lugar a otro proyecto, Wiring,[4]​ 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

[editar]

Foto de Casey Reas, cocreador de processing.

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

[editar]

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.

## Véase también

[editar]

* Java (lenguaje de programación)
* P5js (Librería Javascript)

## Referencias

[editar]

1. ↑ Reas, Casey; Fry, Ben (2014). Processing: A Programming Handbook for Visual Designers and Artists (en inglés). The MIT Press. ISBN 978-0262028288. Archivado desde el original el 15 de marzo de 2016. Consultado el 1 de febrero de 2016.
2. ↑ «Processing Overview». Processing (en inglés estadounidense). Consultado el 22 de junio de 2022.
3. ↑ «Introducción: ¿Qué es Processing?». POUSTA. 2 de febrero de 2010. Consultado el 22 de junio de 2022.
4. ↑ «Wiring» `|url=` incorrecta con autorreferencia (ayuda). Wikipedia, la enciclopedia libre. 27 de abril de 2017. Consultado el 15 de mayo de 2017.

## Enlaces externos

[editar]

* Sitio web oficial de Processing (en inglés)
* Sitio Web Oficial de P5js - Librería JavaScript (en inglés)
* Sitio web oficial de Processing JS (en inglés)

Control de autoridades|

* Proyectos Wikimedia
* Datos: Q1053535
* Multimedia: Processing (programming language) / Q1053535

* * *

* Identificadores
* WorldCat
* VIAF: 8154440151135342881
* BNF: 16265636f (data)
* GND: 7674975-7
* LCCN: sh2008006434
* NKC: ph763961
* NLI: 987007564134805171
* SUDOC: 150222149
* Informática
* Arch Linux: processor
* AUR: processing
* Open Hub: processing

|

* Datos: Q1053535
* Multimedia: Processing (programming language) / Q1053535