Emacs


Logo de Emacs

Emacs es un editor de texto con una gran cantidad de funciones, muy popular entre programadores y usuarios técnicos. GNU Emacs es parte del proyecto GNU y la versión más popular de Emacs con una gran actividad en su desarrollo. El manual de GNU Emacs lo describe como "un editor extensible, personalizable, auto-documentado y de tiempo real."

El EMACS original significa, Editor MACroS para el TECO. Fue escrito en 1975 por Richard Stallman junto con Guy Steele. Fue inspirado por las ideas de TECMAC y TMACS, un par de editores TECO-macro escritos por Guy Steele, Dave Moon, Richard Greenblatt, Charles Frankston, y otros. Se han lanzado muchas versiones de EMACS hasta el momento, pero actualmente hay dos que son usadas comúnmente: GNU Emacs, iniciado por Richard Stallman en 1984, y XEmacs, una fork de GNU Emacs, que fue iniciado en 1991. Ambos usan una extensión de lenguaje muy poderosa, Emacs Lisp, que permite manejar tareas distintas, desde escribir y compilar programas hasta navegar en Internet. GNU Emacs es mantenido por el Proyecto GNU Emacs, el cual cuenta entre sus miembros a Richard Stallman.1​

Algunas personas hacen distinción entre la palabra en mayúsculas "Emacs", usada para referirse a versiones derivadas del programa creado por Richard Stallman (particularmente GNU Emacs y XEmacs), y la palabra en minúsculas "emacs", que es usada para referirse al gran número de implementaciones de Emacs. La palabra "emacs" es pluralizada frecuentemente en inglés como emacsen por analogía con "oxen". Por ejemplo, el paquete compatible de Emacs para Debian se llama emacsen-common. El único plural proporcionado por el Collins English Dictionary es emacsen.3​

En la cultura de Unix, Emacs es uno de los dos principales contendientes en las tradicionales guerras de editores, el otro es vi.
Historia

Emacs en modo texto, ejecutado en la línea de comandos sin modo gráfico.
Emacs nació en los laboratorios del MIT durante los años 70. Antes de su introducción, el editor de textos predeterminado en el Sistema Incompatible de Tiempo Compartido (ITS), el sistema operativo en los laboratorios de Inteligencia Artificial PDP-6 y PDP-10, era un editor de líneas conocido como TECO. A diferencia de los editores de texto modernos, en TECO la introducción de texto, la edición y la vista del mismo se hacía de manera separada, como Vi lo haría luego. Los caracteres tecleados no aparecían dentro del documento, había que introducir una serie de instrucciones, en el lenguaje de TECO, indicándole que debía colocar los caracteres requeridos. El texto no se mostraba en la pantalla. Este comportamiento es similar al del programa ed, que todavía se utiliza hoy en día.

Richard Stallman visitó el Laboratorio de Inteligencia Artificial de Stanford en 1972 o 1974 y conoció al editor de textos "E". Escrito por Fred Wright, el editor, tenía un comportamiento intuitivo WYSIWYG (lo que ves es lo que obtienes) como es común en los editores de textos modernos. Impresionado por esta característica, Stallman volvió al MIT donde Carl Mikkelsen, uno de los hackers en el Laboratorio de Inteligencia Artificial, había agregado un modo de edición-muestreo llamado "Control-R" a TECO, que le permitía a la pantalla mostrar lo que el usuario ingresaba desde el teclado. Stallman reimplementó este modo para que corriera eficientemente. Agregó una característica al modo edición-muestreo de TECO, para que el usuario pueda redefinir cualquier atajo de teclado para ejecutar un programa TECO.

Otra característica de E, que no tenía TECO, era corregir el acceso aleatorio. Desde la implementación, el TECO original fue un editor secuencial, diseñado para editar cinta de papel perforada en el PDP-1. La edición típica podía ser llevada a cabo en una página a la vez, en el orden que las páginas aparecen en el archivo.

La nueva versión de TECO fue popular en el Laboratorio de IA, y pronto acumuló una colección de macros, cuyos nombres terminaban en "MAC" o "MACS". Dos años después, Guy Steele unificó una diversidad de macros de teclado en uno solo.

Después de una noche de hacking conjunto por Steele y Stallman, éste acabó la implementación, que incluía utilidades para extender y documentar el nuevo conjunto de macros. El sistema resultante fue llamado EMACS, es decir, "Editing MACroS". Una versión alternativa sostiene que EMACS quería decir "E con MACroS", refiriéndose a la falta de capacidades de macros en E. Según Stallman, él tomó el nombre Emacs "porque <E> no estaba en uso como abreviatura en el ITS en aquel momento". Se ha comentado también que "Emack & Bolio's" era el nombre de una heladería popular en Boston, a poca distancia del MIT. Un programa de formateo de texto usado en ITS fue llamado más tarde BOLIO por Dave Moon, que frecuentaba la heladería. No obstante, a Stallman no le gustaba ese helado, y ni siquiera lo conocía cuando eligió el nombre "Emacs"; esta ignorancia es la base de un Hacker koan, Emacs and Bolio).

Comentarios