Taller introducción a la programación creativa con Processing


¡Hola a todos!

Comenzamos una nueva aventura, un nuevo y flamante blog "Processing en Español".

Processing es un lenguaje de programación fácil de aprender y fácil de utilizar. Especialmente diseñado para artistas y por artistas con infinidad de aplicaciones y muy divertido de aprender. Comenzaré desde el principio e iremos avanzando poco a poco, desde lo más fácil y básico hasta tocar conceptos algo más complicados. Intentaré ser todo lo didáctico que pueda, estoy abierto para resolver vuestras dudas a través del mail e intentaré contestar a vuestros comentarios.

Puedes ver algunos ejemplos de mis experimentos con Processing en mi canal de Tumblr. También estás invitado a conocer algunos de mis proyectos en mi laboratorio creativo: Estación Nómada.

Aprende programación creativa en Air room.
¡Saludos!

Comienza el Taller en el siguiente enlace:
Processing S.O.S.


Processing S.O.S.


Las nuevas tecnologías han irrumpido en nuestras vidas y las han cambiado para siempre. Dentro de este nuevo entorno, los diseñadores, artistas, ilustradores, tenemos una amplia gama de ofertas entre las cuales elegir para utilizar como medio creativo.
Una de esas herramientas es Processing, un potente lenguaje de programación basado en Java, creado por diseñadores, que nos permite aprender las bases de los lenguajes de programación dibujando.

Processing es un entorno de programación de código abierto y basado en Java, para gente creativa, que no es necesario que sean programadores informáticos. Su principal punto fuerte es su facilidad de uso y permite a los creadores empezar rápidamente a generar sofisticadas aplicaciones gráficas e interactivas al tiempo que minimiza la dificultad asociada a la compilación y generación de código.

Processing es un software que te introducirá en los principios de programación utlizando formas visuales, movimiento e interacción. Es un sistema integrado de programación, lenguaje y aprendizaje. Processing fue creado para enseñar los fundamentos de la programación computacional dentro de un contexto visual, para servir como software sketch book, (bocetos de software), y para ser usado como una herramienta de producción.


Estudiantes, artistas, diseñadores usan Processing para aprender, crear prototipos y producir.

¿Por qué aprender programación?


Uno de los lugares donde más afectan las nuevas tecnologías es a los mercados laborales. Mientras los diseñadores en los 90’s, pensábamos en carteles, tarjetas de visita, cartas, tampones, etc… en el cambio de siglo ya estábamos pensando en banners, webs, animando flash, etc. 

Los profesionales del diseño, en su gran mayoría, hemos tenido que aprender a dominar nuevas tecnologías, nuevos medios y nuevas herramientas a medida que han ido apareciendo en nuestras vidas. Los perfiles se difuminan, hoy por hoy, ya existen programadores que diseñan y diseñadores que programan. Es muy posible que en el futuro, estas diferencias se difuminen aún más, y la programación y el diseño, se complementen, o conviertan en asignaturas formativas básicas. Es posible.

Las aplicaciones que solemos utilizar los diseñadores entienden lenguajes de programación. Como Processing sigue las mismas estructuras que siguen otros lenguajes de programación, todo este aprendizaje, servirá cuando mañana queramos aplicar nuestros conocimientos en programación en After Effect, Photoshop, UNITY 3D, CINEMA 4D, etc. Todas nuestras aplicaciones comprenden y aceptan código.

El lenguaje de programación es considerado un medio creativo. Y más adelante veremos como el MIT y el C3 son pioneros en considerar al lenguaje de programación como medio creativo a la altura de la música, la danza o la pintura.

Algo de lo que debemos comenzar a ser conscientes, es de la universalidad que estos lenguajes tienen, los lenguajes de programación podrían ser entendidos como nuevo esperanto, como un estándar internacional. Podemos crear en cualquier parte del mundo, para cualquier parte del mundo.

En este blog, veremos las bases de Processing. No necesitas tener ningún tipo de conocimiento anterior para seguirlo con facilidad. Vamos a ir realizando pequeños programas y explicando cómo funcionan. El temario que vamos a seguir es el siguiente:


01. Introducción
02. Processing
03. Dibujo
04. Variables
05. Interactivo
06. Medios
07. Movimiento
08. Funciones
09. Objetos
10. Arrays

11. Extensiones

1.1 Teoría vs Práctica


Imagínate inscribirse en una clase para aprender un nuevo deporte, por ejemplo, tenis. (Este tipo de deporte implica una pelota y una raqueta.) Llegas a clase el primer día emocionado a sumergirse en esta exótica nueva actividad, sólo para ser confrontado por una larga conferencia sobre los fundamentos de la teórica sobre la física que se esconde detrás del lanzamiento. Durante las siguientes catorce semanas, el curso se desarrolla en una manera similar, con un par de ejercicios artificiales sobre el terreno para reforzar las conferencias.

No sé vosotros, pero después de unas semanas, ¿dónde queda aquella primera idea de jugar al tenis? Esto es lo que muchos estudiantes experimentan cuando toman su primera clase de informática.

Por supuesto, el aprendizaje de la teoría detrás del tenis podría proporcionarte información muy interesante y en última instancia valiosa, especialmente si tu objetivo es convertirse en un jugador de tenis internacional. Sin embargo, para la mayoría de nosotros, el buceo directamente en los aspectos teóricos de una actividad como el tenis, o ciencias de la computación, antes de conseguir una aproximación en qué la teoría en realidad podría ser útil, puede ser bastante difícil y desagradable (y muy pocos de nosotros estamos destinados para el Salón de la Fama del tenis) lo peor de todo, este enfoque puede conducir a ideas erróneas sociales más amplias, tales como: la informática es oscura, difícil, e incluso aburrida. 

Estas ideas erróneas también pueden convertirse en profecías auto-cumplidas, en última instancia, la atracción de sólo el tipo de estudiantes que cumplen con un patrón muy concreto, como buenos con las matemáticas, y con aspecto de empollones. Lo que lleva a una población de estudiantes y profesionales que carecen de la diversidad y variada perspectiva. 

En los últimos años, algunos científicos informáticos y otros profesionales de la informática, el autor de este blog incluido, han empezado a cuestionar el enfoque arraigado y estrecho con la enseñanza de la informática. Este blog aboga por una nueva manera de aproximación-codificación creativa, en la que podrás aprender haciendo. Con la construcción de bocetos de código creativo, aprenderás los principios detrás de la informática, pero en el contexto de la creación y el descubrimiento. Volviendo a la analogía del tenis, primero aprenderás cómo pegarle a la bola con la raqueta; a continuación, aprenderás la física que funciona detrás. O, para usar un poco la jerga informática, primero aprenderás a codificar una aplicación en frío, a continuación, aprenderás acerca de los principios fundamentales detrás de ella. No sólo esta manera de programar es más fácil y divertida para aprender, sino que hará que la parte teórica sea mucho más relevante y es de esperar incluso fascinante. 

En este capítulo se ofrece sólo un poco de contexto y los antecedentes para el resto del blog. Aprenderás acerca de la historia de la programación, incluyendo sus orígenes en el famoso MIT Media Lab. Vamos a discutir el enfoque de programación creativa en más detalle, incluyendo algunas investigaciones relevantes en su eficacia. 

1.2 Programación vs Ciencias de la Computación


La programación no es la informática. Pero, desde nuestra perspectiva, es a menudo la parte más divertida de la misma. Sin embargo, hay científicos de la computación que no hacen en realidad programas. Estos son los teóricos que ven el cálculo más como las matemáticas aplicadas que como aplicación práctica. Un teórico de este tipo podría estar interesado en probar algo acerca de la informática, con pruebas matemáticas. Sin embargo, para el usuario final promedio, programación a menudo se equipara con la informática.

Según Dictionary.com, la informática se define como:

“la ciencia que se ocupa de la teoría y los métodos de tratamiento de la información en las computadoras digitales, el diseño de hardware y software, y las aplicaciones de las computadoras.” 

La primera parte de la definición, la teoría y los métodos de tratamiento de la información, se refiere a los principios matemáticos más fundamentales detrás de la computación. Esta es quizás la parte científica más pura de la informática. La investigación en este área afecta a cosas como la velocidad, la eficiencia y fiabilidad de los equipos. Podría decirse que esta área de investigación proporciona la base para todos los demás aspectos y aplicaciones de la informática. Aunque la programación es una parte de esta rama de la ciencia de la computación, su papel es principalmente para probar y verificar la teoría. Esta área es la investigación de la informática.

La segunda parte de la definición dictionary.com, el diseño de hardware y software, es donde la ciencia da paso a la ingeniería y se aplica la teoría del diseño, creando sistemas tangibles. Una compañía como Apple gasta una gran cantidad de tiempo y recursos en investigar cómo los clientes utilizan y sienten su hardware y software, así como la funcionalidad en manos de sus usuarios. Otra forma de describir esta área podría ser: la relación entre los aspectos matemáticos y teóricos de la informática y las cosas increíbles que podemos hacer con ella. La programación es una gran parte de esta zona y se conoce comúnmente como ingeniería de software.

La última parte de la definición, aplicaciones de computadoras (que no debe confundirse con las aplicaciones informáticas) trata de cómo las computadoras (en realidad la programación) se puede aplicar en el mundo. Esta parte de la definición puede ser demasiado general, los ordenadores impactan en casi todos los aspectos de la vida, y es muy probable que este impacto sólo se incremente en el futuro. No es un salto tan grande a día de hoy, imaginar nuestros coches conduciéndose solos, nuestras paredes y encimeras actuando como pantallas táctiles inteligentes, y nuestros dispositivos de comunicación reduciéndose y consiguiendo estar aún más integrados, incluso, puede que en nuestros cuerpos físicos. La programación es muy relevante para esta parte de la informática, sobre todo en el desarrollo de software y hardware especializado de aplicaciones específicas. 

Google ha desarrollado y puesto para su libre descarga el Kit de desarrollo de software de Android, que incluye bibliotecas de código y aplicaciones de software para la creación de aplicaciones de Android personalizadas. Apple tiene su propia plataforma de desarrollo similar, al igual que muchas otras compañías. Estos entornos de desarrollo existen para que las personas puedan programar de manera eficiente sus propias aplicaciones, sin la necesidad de años de entrenamiento formal en informática.

Claramente, esta evolución en el desarrollo de software está desafiando las nociones que se tienen de los conocimientos técnicos necesarios. Hay estudiantes de secundaria que escriben aplicaciones móviles altamente exitosas, artistas que programan obras de arte interactivas y muchos otros “no expertos” creando de pequeñas empresas de software durante la noche. Así que no, la programación no es informática, pero al parecer, la informática tampoco se requiere necesariamente para programar. 

¿Te ha servido de ayuda? Recibe las clases en tu mail