La programación como un Arte (Parte I)
La programación de computadores como un arte
Por Donald Knuth
CACM, Diciembre de 1974
Cuando Communications of the ACM comenzó su publicación en 1959, los miembros del Comité Editorial de la ACM hicieron la siguiente observación al describir el propósito de las publicaciones periódicas de la ACM:
“Si la programación de computadores será una importante parte de la investigación y desarrollo de los computadores, se debe efectuar una transición de la programación de un arte a una ciencia disciplinada”.
Esta meta ha sido un tema recurrente durante los años siguientes; por ejemplo, leemos en 1970 sobre “los primeros pasos en la transformación del arte de la programación en una ciencia”. Mientras tanto hemos realmente tenido éxito en hacer de nuestra disciplina una ciencia, y de una forma muy simple: simplemente al decidir llamarla “ciencia de la computación.”
Implicita en estas observaciones está la noción de que es algo no deseable sobre un área de la actividad humana que esta sea clasificada como un “arte”; tiene que ser una Ciencia antes de que tenga una estatura real. Por otro lado, yo he estado trabajando por más de 12 años en una serie de libros llamados “El Arte de Programar Computadores”. La gente frecuentemente me pregunta por qué elegí tal título; y de hecho algunas personas aparentemente no creen que yo lo haya hecho, dado que he visto al menos una referencia bibliográfica a los libros como “El Acto de Programar Computadores.”
En esta charla trataré de explicar porque pienso que “Arte” es la palabra apropiada. Discutiré que significa que algo sea un arte, en contraste con ser una ciencia; trataré de examinar si las artes son cosas buenas o cosas mala; y trataré de mostrarles que un punto de vista propio del asunto nos ayudará a mejorar la calidad de lo que ahora estamos haciendo.
Una de las primeras veces que fuí interrogado sobre el título de mis libros fue en 1966, durante la previa al encuentro anual de la ACM en el Sur de California. Esto fue antes de que ninguno de los libros fuera publicado, y recuerdo haber estado comiendo con un amigo en el hotel de convenciones. El sabía cuan pretencioso era yo, ya en ese tiempo, así que me preguntó si iba a llamar a mis libros “Una Introducción a Don Knuth.” Le repliqué que, al contrario, estaba nombrando a los libros como a él. Su nombre: Art Evans. (El Arte de la Programación de Computadores, en persona.)
De esta historia concluimos que la palabra “arte” tiene más de un significado. De hecho, una de las cosas más agradables de la palabra es que es usada en muchos sentidos diferentes, cada uno de los cuales es bastante apropiado en conexión con la programación de computadoras. Mientras preparaba esta charla, fui a la biblioteca para buscar lo que la gente ha escrito sobre la palabra “arte” a lo largo de los años; y después de gastar varios días fascinantes entre los libros, llegué a la conclusión de que “arte” debe ser una de las palabras más interesantes de la lengua inglesa.
El Arte de los Antiguos
Si vamos a las raices latinas, encontramos ars, artis que significan “habilidad”. Quizás es significativo que la palabra griega correspondiente era τεχνη, la raíz de “tecnología” y “técnica”.
En nuestros días cuando alguien habla de “arte” probablemente piense primero en las “finas artes” tales como la pintura y la escultura, pero antes del siglo veinte la palabra era usada generalmente en un sentido bastante diferente. Incluso este viejo significado de “arte” aún sobrevive en muchos modismos, especialmente cuando se contrastas arte con ciencia, y quisiera tomarme los próximos minutos para hablar de arte en su sentido clásico.
En los tiempos mediaveles, las primeras univers
idades fueron establecidas para enseñar las, así llamadas, “siete artes liberales” a saber, gramática, retórica, lógica, aritmética, geometría, música y astronomía. Noten que esto es bastante diferente de los currículos de los colegios de artes liberales, y que al menos tres de las siete artes liberales son componentes importantes de la ciencia de la computación. En aquel tiempo, un “arte” denotaba a algo ideado por el intelecto humano, en oposición a las actividades derivadas de la naturaleza o el instinto; las artes “liberales” eran liberadas o libres, en contraste a las artes manuales tales como arrar. Durante la edad media la palabra “arte” por si misma usualmente significaba lógica, la que usualmente denotaba el estudio de los silogismos.
(Continúa en la parte II)