martes, 30 de octubre de 2018

Programando

En una conferencia sobre el editor de texto Emacs, su autor Richard Stallman contó una anécdota que me resulta muy ilustrativa sobre cómo se dejan intimidar sin motivo muchos usuarios de ordenadores ante ciertos términos. Algo que han sabido aprovechar las grandes corporaciones de software propietario, explotando a conveniencia esa idea algo malsana de «informática amigable», que podríamos traducir como «todo para el usuario pero sin el usuario». Cuenta Stallman, en fin, que cuando se desarrolló Emacs en el MIT comenzaron a usarlo para redactar sus documentos todos los del personal de administración del centro. Les entregaron a cada uno un librito llamado Manual de instrucciones. Un título puesto con mucha astucia, ya que evitaron escribir lo que realmente era aquel manual, un Manual de instrucciones… de programación. Porque Emacs es un editor programable y extensible. Y he aquí que todos los administrativos del MIT acabaron programando profusamente sin saber que estaban programando. E imagino que cada uno llegaría a hacer, a su manera, verdaderas virguerías, pues en el fondo estaban adaptando el software a sus necesidades

A mí me pasó algo parecido. Hace ya tiempo encontré el gusto por la programación a través de dos vías. Por un lado, cuando comencé a estudiar y usar el sistema de composición tipográfica TeX. TeX es programación pura y dura, y si quieres trabajar con TeX no te queda otra que aprender a programar en TeX, de igual forma que si quieres hablar japonés debes aprender japonés. Pero es un trabajo (evocando a JRJ) siempre gustoso, y los esfuerzos nunca se quedan sin recompensa. La otra vía llegó cuando me enamoré del editor de texto Emacs, con el que mantengo un idilio casi ininterrumpido desde el 2007, año en que empecé a usar GNU / Linux. Emacs, como dije antes, es extensible y programable ad infinitum mediante un lenguaje llamado Elisp, que es un dialecto de Lisp, probablemente de los lenguajes de programación más elegantes y divertidos que haya. Y de los más antiguos: se remonta a la década de los 50, nada menos. Gracias a eso, podemos hacer en Emacs casi lo que nos venga en gana. Y si algo en concreto nos desborda, siempre habrá en otro punto del mundo alguien que sepa más que tú y que comparta contigo y con el resto de la comunidad su código. Y es que, a estas alturas, ya soy incapaz de usar cualquier programa que no me deje editar aunque sea un mínimo archivo de configuración. Y que se quede sólo en unos cuantos botones que deba pulsar dócilmente, sin saber muy bien el por qué. Para mí eso no es informática amigable.

Un ejemplillo menor de lo dicho, sacado de mi trabajo cotidiano. En mi traducción de la Odisea, sin ir más lejos, cada canto es un árbol de un documento escrito en el Org Mode de Emacs, que contiene no sólo mi traducción propiamente dicha, sino más árboles donde incluyo comentarios y notas no exportables. ¿Cómo separo un árbol determinado del resto, y me aíslo con él para escribir o revisar su contenido? Lo cuento (por si interesase a alguien que quier enamorarse también de Emacs) en mi humilde Cuaderno de GNUtas o Noches Áticas de desvelos informáticos.