sábado, 26 de abril de 2014

Programar con mirada de fotógrafo

El arte de la composición para hacer entendible un programa

Si alguno de vosotros es aficionado a la fotografía, seguro que es conocedor de uno de los conceptos más básicos para dar sentido a una instantánea, la composición. Podríamos definirla brevemente como la manera en que ordenamos los objetos presentes dentro del encuadre para transmitir el mensaje que queremos al hacer la captura. Alguno podrá pensar que no existe tal arte de composición, que los objetos están ahí. Sacas la cámara y zas, foto tomada. Nada más lejos de la realidad. Pararse un momento a pensar como colocarse, encuadrar y enfocar supondrá una gran diferencia en el resultado final. Veamos un ejemplo con dos capturas diferentes de un mismo motivo.




Cualquiera de vosotros percibirá que en la segunda toma, aún disponiendo de los mismos elementos, se destaca de una forma más pulida y elegante  la interacción entre los asistentes. Es visualmente más rica al contar con un primer plano desenfocado de la botella y las copas. Por otro lado, el encuadre orienta la atención a los cinco participantes de la conversación, a diferencia de la primera foto en donde no se sabe muy bien que mirar. Simplemente ha sido una cuestión de cuidar la composición antes de disparar.

Si ahora pensamos en un programa de autómata, no desde un punto de vista operativo o funcional, sino desde un enfoque más "artístico" veremos que también deberíamos tener en consideración algo parecido al concepto de composición. Acabo de catalogar sin demasiados reparos la programación como un arte y ciertamente así creo que la podríamos considerar. Vosotros mismos habréis comprobado como un mismo proceso automatizado se puede resolver de muchas maneras. Habréis visto programas chapuceros, con parches por doquier y de comportamiento poco predecible. En otras ocasiones habréis admirado secuencias complejas resueltas de forma elegante, fáciles de entender incluso para el que no lo ha programado y organizados de tal modo que facilite su futura edición y reutilización.
El obtener uno u otro resultado, además de requerir un programador con las aptitudes necesarias, vendrá en gran medida condicionado por una acción previa a la introducción del código y esa no es otra que pensar. Pensar en el todo antes que en el detalle para organizar tu creación del mismo modo que un fotógrafo se toma su tiempo para componer su fotografía.
Enfoque, encuadre, proporciones... Librerías, variables, subrutinas... Distintas herramientas para un mismo fin último, crear algo coherente y con capacidad de transmitir a otros aquello que queremos transmitir.
Aunque no imprescindible, es recomendable en cada caso contar con las herramientas adecuadas. Así, verás normalmente al fotógrafo pertrechado con su cámara réflex y su colección de objetivos. En el caso del programador sería deseable que contase con un entorno de programación apropiado que le facilite la tarea de plasmar adecuadamente sus creaciones. Es recomendable no alejarse de un estándar como el
IEC61131-3 que se ha demostrado adecuado para estos propósitos y aprender lo máximo posible del mismo en la plataforma que elijáis para aprovechar todas herramientas que pone a nuestra disposición.
Si te interesa la programación y todavía estás anclado a la clásica programación en diagrama de contactos, te recomiendo migrar al estándar IEC61131-3 del mismo modo que recomendaría a un aficionado a la fotografía dejar su compacta a un lado para experimentar con una réflex.
Por suerte, a diferencia de las cámaras, en programación disponemos de opciones para hacer este salto de forma gratuita. Aquí os dejo una con el software de programación IEC61131-3 de Panasonic, únicamente limitado en el número máximo de pasos a programar. Echad un vistazo a su guía de "primeros pasos" y empezad a experimentar con las herramientas disponibles para comprobar la enorme diferencia que supone respecto a la clásica programación de secuencia única de diagrama de contactos.

Quizá no te lo habías planteado, pero eres un artista en potencia. Fórmate, equípate adecuadamente y haz de tu obra una tal que sea digna de admiración.

Saludos y hasta otra.

No hay comentarios:

Publicar un comentario

cookieassistant.com