
80. Processing, el lenguaje para gráficos
05/16/16 • 39 min
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 ...
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 ...
Episodio Anterior

79. Pensamiento computacional con Tic and Bot
Hace ya unas semanas, os hablamos en el recurso del oyente de una empresa que se dedicaba a enseñar y divulgar el pensamiento computacional entre los más pequeños. Esta empresa se llama Tic and Bot e imparte sus clases en La Rioja. Hoy nos acompaña su fundador, Jesús Esteban Barrio.
Nosotros también queremos aportar nuestro granito de arena a esta sociedad y por eso, en el Campus de Programarfacil puedes encontrar formación que te ayude a introducirte en el mundo de la programación, deja de ser un consumidor de tecnología y empieza a crearla.
El pensamiento computacional es algo que debería ser obligatorio en las escuelas, desde muy pequeños. Nos enseña a discretizar un problema es decir, dividir ese problema en partes más pequeñas que podamos realizar con una mayor calidad. Seguramente te preguntarás, ¿por qué mis hijos deben ser conscientes de ese pensamiento?
En el mundo actual estamos rodeados de trabajos especializados. Trabajos que requieren de resolución de problemas y tareas complejas. En muchas ocasiones nos sentimos abrumados por la cantidad de información que debemos procesar y eso, nos produce estrés. Todo esto se irá acrecentando con el tiempo gracias a la tecnología y los nuevos sistemas de trabajo. No es algo nuevo, técnicas como Lean Startup o metodologías de programación Agiles, tienen su esencia en el pensamiento computacional, en el ensayo y error en definitiva, en el más que conocido método científico.
A veces, yo lo llamo pensamiento minimalista ya que nos obliga a pensar en cosas muy simples, pero que cuando las unes todas, se convierten en un monstruo de dimensiones descomunales. Podemos poner muchos ejemplos, la construcción de un edificio, nadie piensa en el todo, se tiende a discretizar a buscar unidades mínimas las cuales seamos capaces de abarcar sin mucho esfuerzo, la creación de un guión o un libro, estructuramos en capítulos, buscamos personajes y los describimos, y así miles y miles de ejemplos a los que nos enfrentamos todos los días.
Precisamente Tic and Bot enseña a los niños esta manera de enfrentarse a las tareas a través de la programación y la robótica. Su fundador, Jesús Esteban tiene una amplia experiencia en el sector de la informática y la programación. Durante casi 9 años estuvo trabajando en la empresa privada como consultor tanto en Logroño, su ciudad natal, como en Madrid.
Tras su andadura por la consultoría informática, accedió a un puesto como asesor TIC en la Consejería de Educación de La Rioja donde estuvo un año. Rápidamente se dio cuenta que lo suyo era la educación y decidió dedicarse en cuerpo y alma a esta tarea.
Lleva más de 7 años como profesor en diferentes institutos de La Rioja y ahora mismo es profesor en un Ciclo Superior de Administración de Sistemas Informáticos en Red. Este ciclo fue el primero en España que se imparte de forma dual y bilingüe.
Jesús y yo hemos hablado del panorama actual de la Formación Profesional en España y más concreto en su región. Algo muy curioso son los ciclos duales, esto quiere decir que a lo largo del curso se dedican ciertas horas en asistir a una empresa con la que se firma un acuerdo de colaboración, para adquirir experiencia en la materia que se está aprendiendo. Esto me parece algo muy positivo ya que, incluso antes de terminar de estudiar, puedes ver con tus propios ojos como es en realidad el mundo al que te vas a enfrentar.
Hemos profundizado en la esencia de Tic and Bot, cual es su objetivo y cual es la realidad que se encuentra en las aulas. No te voy a descubrir los pormenores de la entrevista, te invito a que la escuches :), pero resulta alentador encontrar a gente que realmente dedique su tiempo y su esfuerzo a impartir una materia tan importante en el presente, pero sobre todo en el futuro.
Ya sabes que agradezco tus comentarios y que abramos, como siempre, un debate al respecto así que, si quieres dame tu opinión.
El recurso del oyente
Hoy en os presento dos páginas webs con recursos de aprendizaje que nos ha enviado David Rodríguez de Valdemoro (Madrid). La primera es onlinevideolecture.com. Una página web donde podemos encontrar vídeo tutoriales y libros en formato PDF totalmente gratuitos.
Hay contenido de diferentes materias como medicina, ingeniería electrónica, ingeniería mecánica, química, matemáticas, etc... Toda la información se encuentra en inglés.
La segunda web, elsolucionario.org, es una web muy parecida a la primera. En este caso no hay video tutoriales y algo interesante es que encontramos libros en español y de muy diversa temática.
Quiero agradecer a David por habernos enviado este recurso y te animo a que tu nos envíes los tuyos. Lo puedes hacer a [email protected].
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.
Siguiente Episodio

81. Visión artificial, OpenCV y Phyton
Seguramente el tema del que te voy a hablar hoy en el podcast te suene a ciencia ficción y creas que es algo que solo lo podemos ver en las películas del mismo género. Sin duda alguna, no estamos en lo más alto en la gráfica de desarrollo en cuanto a soluciones y aplicaciones en esta materia, pero esto no quiere decir que no podamos investigar y aprender de esta ciencia. Ya te conté ¿por qué debemos aprender visión artificial? y hoy te voy a hablar como podemos introducirnos en la visión artificial, OpenCV y Phyton.
Antes de continuar quiero hablarte del Campus de Programarfacil. Si quieres crear tus propios proyectos con Arduino o algún dispositivo Open Hardware, debes dominar dos disciplinas, la programación y la electrónica. En el Campus estoy volcando todo mi conocimiento en estas materias con cursos de diferentes niveles, básico, intermedio y avanzado. Tendrás a tu disposición un formulario de soporte premium y sorteos de material electrónico e informático. Entra y busca tu curso.
Este tema no es nuevo en el podcast. Ya he hablado en diferentes capítulos:
18. Realidad aumentada
44. Tratamiento de imágenes con JavaScript
64. Proyectos curiosos con Arduino
67. Big Data y visión artificial
Hoy voy a profundizar en la materia y te voy a dar los pasos necesarios para empezar a programar con la biblioteca más famosa de visión artificial, OpenCV.
¿Qué es OpenCV?
OpenCV es una biblioteca libre desarrollada originalmente por Intel. Vio la luz en el año 1999. Escrita originalmente en C/C++, su mejor virtud es que es multiplataforma, se puede ejecutar en diferentes sistemas operativos (Linux, Windows, Mac OS X, Android e iOS). También la podemos utilizar en diferentes lenguajes de programación como Java, Objective C, Python y mi favorito C#. Precisamente para este último existe una versión que se llama EmguCV.
En junio de 2015 se produjo un hito importante, por fin la versión 3.0 estaba disponible. Si hechas números, en 16 años (de 1999 a 2015) solo ha habido 3 versiones. Esto es debido a que desde un principio esta biblioteca ha sido robusta y muy eficiente.
En esta última versión cabe destacar que por fin es compatible con la última versión de Python, la 3.0. Esto permite aprovechar todas las ventajas de la última versión de este lenguaje.
Quizás sea la biblioteca de visión artificial más importante y más usada del mundo. Es utilizada por universidades, empresas y gente del movimiento Maker para dar rienda suelta a su imaginación al tratarse de un software libre.
Pasos para instalar OpenCV y Python
Te preguntarás ¿por qué Python? Aunque todavía no he tratado este lenguaje de programación ni en el blog, ni en el podcast, si que te puedo contar que Python es muy sencillo de usar, favoreciendo el código legible gracias a su sintaxis sencilla.
Debemos ser conscientes que el lenguaje nativo de OpenCV es C/C++, con la complejidad que ello conlleva si queremos utilizar esta biblioteca en nuestros proyectos.
Lo que más me gusta de Python es que es un lenguaje fácilmente portable a otras plataformas entre las que se incluye Raspberry Pi. Si además disponemos de una cámara conectada, imagínate lo que podemos llegar a conseguir.
Aunque en mi día a día yo utilizo Windows y en el Campus he decidido empezar a con este sistema operativo, se puede hacer de igual manera con Linux y OS X.
La decisión de empezar por Windows es muy sencilla. Es el sistema operativo más utilizado del mundo y no porque lo diga yo, solo tienes que ver los datos estadísticos que nos proporciona Net Market Share. Según esta empresa, más del 90% de usuarios utilizan Windows.
estadistica-uso-sistema-operativo
Aún así podemos pensar que es una estrategia de ventas y que esta empresa puede pertenecer al magnate de Redmond. Por eso voy a compartir los datos estadísticos obtenidos de Google Analytics sobre el uso de sistemas operativos en esta web osea, vosotros los usuarios.
estadistica-analytics-sistema-operativo
Como puedes ver hay una diferencia aplastante con el resto de perseguidores. Por eso he optado empezar por Windows, para poder llegar al mayor número de gente y que nadie se sienta excluido.
Lo primero que debemos saber antes de empezar con los pasos a seguir para instalar OpenCV y Python, es que esto ya no es una tecnología plug and play. Estamos acostumbrados a hablar de Processing, Arduino, Scratch y las tecnologías fáciles de usar. Con OpenCV la cosa se complica, sobre todo a la hora de preparar el sistema. Pero yo te voy a dar los pasos necesarios para que empieces de una forma muy sencilla. La instalación consta de 3 pasos.
Paso 1: Instalación de Python 3.0 con paquetes adicionales
Ya no solo tenemos que instalar el lenguaje de programación, para utilizar OpenCV necesitamos instalar, además, ciertos paquetes de Python que nos hará la vida más fácil cuando desarrollemos aplicaciones en visión artificial.
NumPy: es una biblioteca de código abierto que da soporte...
Si te gusta este episodio, te encantará
Comentarios del Episodio
Generar una insignia
Obtén una insignia para tu sitio web que enlace a este episode
<a href="https://goodpods.com/podcasts/la-tecnolog%c3%ada-para-todos-187698/80-processing-el-lenguaje-para-gr%c3%a1ficos-17141156"> <img src="https://storage.googleapis.com/goodpods-images-bucket/badges/generic-badge-1.svg" alt="listen to 80. processing, el lenguaje para gráficos on goodpods" style="width: 225px" /> </a>
Copiar