Por qué programar es divertido

Hace unos días vi que uno de los asistentes a la conferencia SC2010 ha publicado el video del discurso de despedida de Jason Gorman (os recomiendo sus videos de la serie “The Code Smell of The Week”), en el que Antony Marcano (os recomiendo sus videos de PairWithUs) hizo una lectura muy inspiradora de un extracto de “The Mythical Man-Month”: “The Joys of The Craft”. (Para los que queráis ir directamente a la lectura: min 4:15)

Me he atrevido a traducirla. Espero que no haya perdido demasiado la poesía del original.

¿Por qué programar es divertido? ¿Qué placeres puede esperar como recompensa el que lo practica?

En primer lugar está la pura alegría de hacer cosas. Igual que el niño se divierte jugando con el barro, el adulto se divierte construyendo cosas, especialmente cosas que él mismo diseña. Creo que este disfrute debe ser una imagen del disfrute de Dios al crear las cosas, un disfrute que se muestra en la diferencia y novedad de cada hoja y cada copo de nieve.

En segundo lugar está el placer de hacer cosas que son útiles para otra gente. En lo más profundo, queremos que otros usen nuestro trabajo y que lo encuentren útil. En este sentido, el sistema de programación no es esencialmente diferente del primer portalápices de arcilla que hace un niño “para la oficina de Papá”.

En tercer lugar está la fascinación de modelar objetos complejos como rompecabezas de piezas móviles que se encajan y verlos trabajar en ciclos sutiles, extrayendo las consecuencias de principios presentes desde el inicio. El ordenador programado tiene toda la fascinación de la máquina de petacos o el mecanismo de la gramola, llevado hasta el extremo.

En cuarto lugar está el goce de aprender siempre, que surge de la naturaleza no repetitiva de la tarea. De una manera u otra el problema es siempre nuevo, y quien lo resuelve aprende algo: a veces práctico, a veces teórico y a veces ambos.

Finalmente, está el deleite de trabajar en un medio tan dúctil. El programador, como el poeta, trabaja apenas ligeramente separado de pensamientos puros (inmateriales). Construye sus castillos en el aire, de aire, creando mediante el esfuerzo de la imaginación. Pocos medios para la creación son tan flexibles, tan fáciles de limpiar y reconstruir, tan rápidamente capaces de hacer realidad grandes estructuras conceptuales. (Como veremos más tarde, esta gran ductilidad tiene sus propios problemas.)

Sin embargo el programa, a diferencia de las palabras del poeta, es real en en el sentido de que se mueve y funciona, produce señales de salida visibles y separadas del programa en sí mismo. Imprime resultados, pinta dibujos, produce sonidos, mueve brazos. La magia del mito y la leyenda se ha hecho realidad en nuestro tiempo. Uno escribe el encantamiento adecuado en el teclado y una pantalla vuelve a la vida, mostrando cosas que nunca antes fueron ni pudieron ser.

Por lo tanto programar es divertido porque gratifica los deseos creativos que llevamos en lo más profundo de nosotros y deleita las sensibilidades que tenemos en común con todos los hombres.

Y como dice Antony Marcano al final de esta lectura: “Y por eso es por lo que amo la artesanía del software”.

Por cierto, otra lectura recomendable sobre este tema sería “La ética del hacker” (tranquilos, en español y, de hecho, epilogado por un español: Manuel Castells).