Programar es un arte

28 Ago
2010






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 letras. 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?,
  • ¿es que 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. He participado en muchos proyectos, he revisado y auditado el código de software escrito en otros continentes y, 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. Todo esto independientemente de que el producto que utiliza el usuario final sea más o menos bonito por fuera.

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.

Está claro que 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 frios y los programadores unos frikis. ¿Un ordenador es frio y un lienzo no?, el pintor que se tira una semana encerrado en casa pintando un cuadro … ¿es un artista o un friki?, ¿y un chaval que se tire 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!

Print

6 respuestas a Programar es un arte

Avatar

Alvaro

16 de Agosto de 2010 a las 2:01

Realmente todas las acciones que tienen posibilidades de variación casi infinitas son un arte. Partiendo de esa premisa todo es mucho más fácil, XD.

Avatar

chuidiang

29 de Agosto de 2010 a las 9:31

Sí es un arte y precisamente no considerarlo como tal es el problema de las metodologías tradicionales, que consideran un proyecto software como un proyecto de ingeniería tradicional en el que el arquitecto piensa cómo y los “albañiles” pican código.

Y considerar la programación como un arte lleva a las metodologías ágiles, en el que se reconoce que lo más importante son las personas que tienes para programar, al igual que para hacer una buena obra de arte lo más importante es el artista del que dispones.

Se bueno.

Avatar

¿Programar es un arte o no?

29 de Agosto de 2010 a las 11:50

[...] ¿Programar es un arte o no? raulexposito.com/blog/2010/08/programar-es-un-arte/  por jorgerubira hace 3 segundos [...]

Avatar

Raúl Expósito

29 de Agosto de 2010 a las 14:45

Muchas gracias a todos tanto por los comentarios como por menear la noticia. No estoy registrado en menéame así que no puedo responder allí pero, casualmente, sí que estoy registrado aquí y me gustaría comentar algo.

Nuestra profesión, igual que todas, no es ni blanca ni negra. Los programadores, seamos ingenieros o no, tenemos un oficio que es el que ejercemos, y es imposible pensar que todos lo podemos ejercer de la misma forma. Algunos lo harán de una manera más creativa y otros de una forma menos creativa, y esto dependerá de varios factores: del trabajo concreto que estén realizando, de su formación, de si tienen o no vocación, etc.

Hay programadores, como es mi caso, que en su trabajo tienen un margen escaso para poder utilizar su imaginación: hay plazos de cumplir, órdenes que seguir y productos que entregar. Punto. Pero eso no quita para que en mi tiempo libre me ponga a aprender y a programar cosas por mi cuenta. Yo veo un símil muy claro con esto y es el del pintor que se gana la vida con la brocha gorda y que en su tiempo libre pinta retratos al óleo. Y nadie discute que pintar, como tal, es un arte.

Me gustaría centrarme ahora en otro punto: los complejos. Manolito siguió su vocación y, tras muchos años en el conservatorio aprendiendo a tocar el piano y mucho esfuerzo, toca profesionalmente en orquestas que recorren medio mundo. En cuanto se sienta delante del piano, ya sea en casa o en su trabajo, nadie discute que sea un artista, aunque muchas veces deba seguir partituras escritas siglos antes de que él naciera. Disfruta viendo cómo sus sobrinos, de 10 años, tocan la flauta diciendo que son artistas como su tío.

Su primo Chemita no siguió su vocación y, tras muchos años en la facultad sacando una ingeniería y mucho esfuerzo, realiza profesionalmente aplicaciones que se utilizan en medio mundo. No se siente tan cómodo cuando oye que lo que él hace quizá no sea una ciencia exacta. Él, que ha estudiado tanto. Su argumento principal es que sigue un diseño elaborado un mes antes que debe cumplir con unos mínimos de rendimiento, seguridad y fiabilidad. No le gusta que su amigo Pepe, de su misma edad pero que no pisó ninguna facultad, tambien trabaje programando aplicaciones.

A Chemita, como a tantos otros profesionales de este sector, les recomiendo leer esta entrada de mi profesor y sin embargo amigo Javier Fernández:
http://lacienciaparatodos.wordpress.com/2010/03/04/quitemonos-las-tunicas/

Avatar

Oscar

28 de Septiembre de 2010 a las 17:34

Soy programador informático y debo decir que tu artículo me ha dejado asombrado.

Estoy de acuerdo que programar puede ser arte, pero malogradamente los que están “por encima” nos dan tiempo para crear arte, todo lo contrario, “da un par de brochazos y que parezca arte”.

¿Arte en tiempo libre? Seria lo ideal, pero entonces, ¿tiempo para la vida social?¿para dormir?… tantas cosas se me ocurren fuera del trabajo.

Felicidades por el artículo, has ganado un lector nuevo.

Avatar

Raúl Expósito

28 de Septiembre de 2010 a las 22:57

Gracias Oscar, me alegro de haber escrito un artículo que te haya gustado.

Puede que los que están “por encima” no nos dejen el margen que quisiéramos cuando trabajamos, pero tambien tenemos que poder verlo todo en un contexto más amplio y entender por qué las cosas son así. Pero bueno, esa es la vida laboral y ahí las normas, hasta cierto punto, vienen impuestas.

Yo debo confesar que, entre otras muchas cosas, tiro lineas a veces en mi tiempo libre por el placer de hacerlo, y ya que me pongo, me gusta dejar algo tangible. Para mi es un hobbie como para otros es ver la tele, pintar cuadros, tunear coches o quemar papeleras. Si los otros encuentran tiempo, ¿por qué no podemos encontrarlo nosotros?. Todo es cuestión de organizarse y de no agobiarse.

Espero escribir más artículos que te gusten. Muchas gracias por el comentario.

Deja tu comentario


subir