80. Processing, el lenguaje para gráficos

May 16, 2016 · 39m 38s
80. Processing, el lenguaje para gráficos
Description

Quizás este lenguaje de programación sea el gran desconocido en el aprendizaje de las ciencias de la computación, puede que quede en un segundo plano con relación a lenguajes como...

show more
Quizás este lenguaje de programación sea el gran desconocido en el aprendizaje de las ciencias de la computación, puede que quede en un segundo plano con relación a lenguajes como Python o Scratch. En este capítulo vamos a ver Processing, el lenguaje para gráficos.

Que no te lleve a engaño el título, Processing es un lenguaje muy potente que podemos utilizar en multitud de proyectos y precisamente ese es su fuerte, podemos utilizarlo en diferentes modos de programación, desde un modo básico hasta un modo complejo utilizando toda la potencia que nos brinda la orientación a objetos.

Te recuerdo que estoy trabajando en diferentes cursos sobre programación, electrónica y robótica en el Campus de Programarfacil, donde aprenderás a crear tecnología.

¿Qué es Processing?

Processing es un dialecto de Java que fue diseñado para el desarrollo del arte gráfico, para las animaciones y aplicaciones gráficas de todo tipo. Desarrollado por artistas y para artistas.

Es un software basado en Java y por lo tanto, multiplataforma. Desarrollado a partir del 2001 por el más que conocido departamento del MIT, el Media Lab. Los creadores, Casey Res y Ben Fry, son discípulos del profesor John Maeda creador del método DBN (Design By Numbers) que, en los años 90, pretendía introducir a la programación a diseñadores,, artistas y no programadores de una forma sencilla. Precisamente Processing está inspirado en DBN que en la actualidad ya no está activo.

¿Qué ventajas nos aporta Processing?

Ya te he comentado en varias ocasiones que la gran ventaja que tenemos con plataformas como Arduino y Scratch es que se trata de un aprendizaje plug and play es decir, no tenemos que andar configurando e instalando miles de cosas para ponernos a trabajar. Processing es un lenguaje que podemos incluir en este méotodo.

Es una plataforma que integra entorno de desarrollo y lenguaje de programación. Es muy fácil de aprender y solo necesitamos unos minutos para empezar a programar. Al contrario de las alternativas que tenemos para desarrollar para entornos gráficos como OpenGL, el cual es bastante complicado y engorroso, Processing nos facilita esta tarea y nos evita la frustración cuando queremos aprender un lenguaje de estas características.

Pero su facilidad no quiere decir que no sea un lenguaje potente, al contrario, podemos hacer proyectos espectaculares y muy complicados.

Otra característica muy importante es la escalabilidad. Podemos combinar Processing con aplicaciones Java, en los dos sentidos, e incluso tenemos la posibilidad de portar nuestros proyectos a la web gracias a Processing.js. Solo necesitamos descargar el JS y a través de la etiqueta canvas de HTML5, hacer referencia a nuestros archivos creados con Processing, muy sencillo.

Existen 3 maneras de programar en esta plataforma:

De forma básica, tipo Basic o Ensamblador. Sentencia a sentencia, con variables globales y sin nada de complejidad.
Podemos utilizar la programación procedural o estructurada como en C. Algo más compleja pero mucho más limpia donde crearemos nuestras propias funciones a las que llamaremos.
También podemos utilizar la manera más compleja, utilizando toda la potencia de la programación orientada a objetos.
Cuando estamos programando una aplicación de este estilo, sea cual sea el objetivo, lo que buscamos es poder ejecutar nuestro proyecto en cualquier ordenador. Processing nos da la posibilidad de generar un ejecutable para las diferentes plaformas Mac OS, Windows o Linux e incluso podemos desarrollar aplicaciones móviles gracias a la SDK que nos ofrecen para Android. No hay que olvidar que este sistema operativo móvil está basado en Java.

Por último, aunque no menos importante, podemos conectar Processing con Arduino ya que están estrechamente ligados.

Entorno de desarrollo

Tiene su propio entorno de desarrollo. Cuando lo veas entenderás porque se dice que la plataforma Arduino se nutre de Processing. Se llama PDE (Processing Development Enviroment) desarrollado en Java. Es muy sencillo y fácil de usar, ya te he dicho que es una plataforma plug and play como Arduino.

IDE_Processing

Pero no solo tenemos PDE, si nuestro proyecto es complejo podemos utilizar otros entornos de desarrollo como Eclipse o Netbeans. Lo aconsejable es empezar por el propio entorno de desarrollo y solo cuando tengamos la suficiente experiencia pasar a uno más complejo y potente.

Desde el propio entorno de desarrollo podemos generar varios ejecutables en forma de Applet de Java, para ejecutar en navegador con las limitaciones de acceso a recursos del sistema o, como ya he comentado, ejecutables para diferentes plataformas.

El lenguaje de programación Processing

Processing está basado en Java, más concreto en la versión 1.4.2. Esto no quiere decir que podamos utilizarlo con las versiones más actuales. Para ello debemos utilizar un entorno de desarrollo más potente como por ejemplo Eclipse. En este caso lo utilizaríamos como una librería gráfica que importamos a nuestro proyecto.

El proceso por el cual conseguimos un ejecutable te lo muestro en la siguiente imagen.

proceso-compilacion-processing

Pero aunque Processing esté basado en Java, encontramos diferencias entre estos dos lenguajes de programación.

La sintaxis es más relajada, plataforma plug and play y sin preparativos.
En el modo básico programamos sin funciones, sin clases, sólo líneas de código con variables globales. En Java no podemos.
En el modo procedural al estilo de la programación en C, podemos definir nuestras propias funciones a las que llamamos.
En el modo más avanzado, programación orientada a objetos, podemos crear clases de una forma muy sencilla que luego son transformadas e completas clases Java.
Opinión

No podemos hablar como un lenguaje puente al estilo de los lenguajes visuales. Processing en un lenguaje de programación de los pies a la cabeza que nos permite introducirnos en la programación desde lo más básico a lo más complejo.

Gracias a sus diferentes modos, podemos ir aumentando de nivel poco a poco progresivamente. Aunque su objetivo sean las aplicaciones gráficas, encontramos multitud de proyectos donde podemos aplicarlo.

Es una muy buena opción como complemento a la programación física en Arduino y Rasbperry Pi.

El recurso del oyente

De nuevo, José Minguez Moya, nos ha enviado dos recursos muy interesantes para todos los que os queráis introducir en el lenguaje Processing. Se trata de dos libros indispensables.

Processing, un lenguaje al alcance de todos. Escrito por Ingacio Buioli y Jaime Pérez Marín.
Processing: A Programming Handbook for Visual Designers and Artists.
Como siempre, muchas gracias José por tu aporación.

El segundo recurso nos lo manda Germán Martín. Con Germán hemos intercambiado varios emails hablando del módulo WiFi ESP. Está muy metido en este tema y su intención es portar el cliente Firmata para comunicar Arduino con el ESP. Al final el objetivo es que el ESP sea el máster para controlar Arduino a través de Firmata.

Probando diferentes sensores de presión y temperatura, se encontró con un problema. El ruido que genera este dispositivo. Cuando se puso a investigar encontró una web que te permite probar y testar tus propios filtros. Micromodeler es un entorno gráfico en entorno web para el diseño de filtros digitales. Dispone de una versión gráfica bastante potente que se ofrece gratis e incluye un análisis de la respuesta del filtro muy completa. Es un recurso muy interesante para todos aquellos que tengáis problemas de ruido en vuestros sistemas.



Ya me despido por esta semana, recuerda que nos puedes encontrar en Twitter y Facebook.

Cualquier duda o sugerencia en los comentarios de este artículo o a través del formulario de contacto.
show less
Information
Author La tecnología para todos
Organization La tecnología para todos
Website -
Tags

Looks like you don't have any active episode

Browse Spreaker Catalogue to discover great new content

Current

Podcast Cover

Looks like you don't have any episodes in your queue

Browse Spreaker Catalogue to discover great new content

Next Up

Episode Cover Episode Cover

It's so quiet here...

Time to discover new episodes!

Discover
Your Library
Search