Programar es un Arte

Publicado el 28/08/2010 785 palabras · 3 minutos

De entre mis primeros recuerdos como estudiante se encuentra una transparencia de aquel al que llamabamos "El Capitán Pescanova". Le bautizamos así porque por su aspecto era muy fácil imaginársele vestido de marinero pescando atunes con redes en el Cantábrico, aunque la dura realidad era que se dedicaba a pescar besugos con exámenes en campus universitarios.

El caso es que este buen hombre en una de sus clases mostró una transparencia que decia lo siguiente:

Programar NO es un arte

Toma ya, así, sin anestesia. Como un ataque trapero y por la espalda: rápido, conciso, directo y sin avisar. Si lo sé ese día me quedo en casa. Vistió una opinión suya de verdad universal y nos la soltó envuelta en una frase de cinco palabras. Alguno de sus alumnos seguro que todavía la usa, escondido detrás de alguna corbata, para quedar estupendamente en las reuniones.

El caso es que si buscas arte en la RAE verás que aparecen, entre otras, las siguientes definiciones:

  • Virtud, disposición y habilidad para hacer algo.
  • Conjunto de preceptos y reglas necesarios para hacer bien algo.
  • Maña, astucia.

A lo que yo me pregunto:

  • ¿Acaso no hace falta habilidad para programar?,
  • ¿No necesitamos ninguna regla para poder hacer un buen producto software?,
  • ¿No hay que tener maña ni astucia para esto?

¿Es que simplemente somos monos que aporreamos teclados?. Ya lo creo que NO.

Vamos a ver si tocando teclas de cualquier manera me gano un platanito.

Cualquiera que haya disfrutado o disfrute tirando líneas mientras programa sabrá y entenderá que programar es un arte.

Cuando un software está bien creado, cuando se ve un diseño detrás, orientación al producto, preocupación por el acabado, ingenio, simplicidad y pequeños detalles que denotan calidad alguien que entienda de esto ve elegancia. En cambio, cuando te encuentras con un código desestructurado, con sobreingenieria, con un montón de puntos débiles y de posibles problemas ves lo que viene a ser un desastre.

En este sentido creo que ocurre lo mismo que con los cuadros. Muchos de nosotros no podemos ir más allá de su apariencia y simplemente sabemos decir si un cuadro nos gusta o no, pero los entendidos pueden ir más allá y dar un contexto mayor a la obra: influencias con otros autores de la época, trazos, profundidad, combinación de colores, etc.

También podemos leer una novela y disfrutar o no leyéndola sin entrar en las técnicas empleadas para dar velocidad, intensidad, el uso de las terceras personas, etc.

La pintura, la escultura, la música o el cine son actividades que requieren de creatividad, ya que el autor tiene que ver la obra en su cabeza antes de plasmarla en un pentagrama, un lienzo o una escena. Es muy romántico imaginarse a un pintor con un cuadro en la cabeza y un lienzo delante que no dormirá, no comerá y que hasta sufrirá hasta que no vea su obra creada. Por contra todo el mundo sabe que los ordenadores son fríos y los programadores unos frikis. ¿Un ordenador es frio y un lienzo en blanco no?, el pintor que está una semana encerrado en casa pintando un cuadro ... ¿es un artista o un friki?, ¿y un chaval que esté una semana encerrado en casa haciendo un videojuego?

Para crear cualquier cosa que se te imagine o para resolver un problema que no habías resuelto antes necesitas, quieras o no, creatividad. Puentes, edificios, coches, barcos, aviones, trenes, teléfonos o televisores son elementos que también estuvieron en la mente de una o más personas antes de ser plasmadas en algo físico y tangible. ¿Acaso eso no es arte?, ya lo creo que si. ¿Por qué debería ser diferente con el software?

Un estudiante de derecho que toca el piano por las tardes para crear una obra tiene algo de artista. ¿Acaso no tiene lo mismo de artista un estudiante de economía que toca el teclado por las tardes para crear un programa?

Entiendo que alguien quiera justificar sus años de carrera ante los demás puede decir que "programar no es un arte" para intentar aparentar ser más profesional. En este contexto quizá aquello de "programar es como poner los ladrillos de un edificio" encaje, aunque esto último, no nos engañemos, no deja de ser mentira, pero eso, queridos amigos, es otra historia.

Así es que si te gusta programar y alguien te dice que "programar no es un arte", ¡que no te engañe!, ¡eres una persona creativa, no un mono que pulsa teclas!

Imagen de la cabecera y del cuerpo.