Programación, improvisación y Processing

Como no programar software para no iniciados.

Desde un punto de vista profesional, programar software requiere, en principio, de un plan organizado; la organización empieza por fijar qué funcionalidad deseamos implementar específicamente, analizar, dividir cada funcionalidad en acciones lógicas lo más sencillas posible y comenzar entonces a escribir el código función a función, variable a variable, hasta que todas las piezas encajen y no se produzcan errores o comportamientos inesperados. El secreto del éxito es la limpieza y el orden, saber mantener un código legible en el que no haya repeticiones ni funciones que nunca se usan. En la medida de lo posible se usarán fragmentos que otras personas ya han programado, adaptando, o hackeando, su código a nuestras necesidades.

En resumen, conviene planificar para evitar repetir trabajo, re-inventar la rueda, y trabajar en código que finalmente no necesitaremos. No hay lugar para la improvisación.

Jam session, arte y software

Programando diferentes piezas de net-art o de realidad aumentada, no he seguido prácticamente ninguna de estas buenas prácticas comúnmente aceptadas por la comunidad de profesionales técnicos. Quizás es por no acabar de encajar yo mismo del todo con ese perfil.

En las diferentes piezas tecnológicas que he diseñado, la programación del código empieza antes incluso de tener claro la propia funcionalidad de la aplicación. Se ha trabajado el software de forma caótica, implementando funcionalidades que luego han sido desechadas, se han tomado decisiones con grandes implicaciones que luego se han revertido, etc… El software ido completándose de forma orgánica, incluyendo errores que provocan comportamientos inexplicables sin que me haya parado demasiado en corregirlos.

Me permito esta forma de crear principalmente porque este es un trabajo personal, en el que no rindo cuentas a nadie más que a mi mismo, y porque la finalidad de esta programación no es otra que la pura expresión artística, tan llena de improvisación, accidentes y descubrimientos casuales. 

En el software, como en la pintura, el aprendizaje ya es ya una vía legítima en sí misma, en mi opinión tan importante como el resultado formal. Como resultado, no es difícil detectar comportamientos inesperados, errores y bugs en las diferentes aplicaciones que he programado, pero eso son cuestiones que sinceramente no me interesan.

Processing Raspbian Raspberry Pi, Juanma Moreno Sanchez
Processing Raspbian Raspberry Pi, Juanma Moreno Sanchez

Processing como medio de expresión artística

Processing es la herramienta ideal para creadores visuales que se aventuren en la programación de software. Es muy visual e inmediato, y sobre todo permite improvisar. Con solo unas pocas líneas Processing permite obtener un output visual.