Emacs es mucho más que un simple editor de texto, combina las poderosas funcionalidades de edición con las de un interprete de comandos Shell. A lo largo del tiempo, ha evolucionado para convertirse en una plataforma para desarrollar software, navegar por la web, enviar correos electrónicos, y mucho más. Este artículo recorrerá la historia de Emacs, y cómo ha cambiado con el tiempo, mientras sigue siendo una de las herramientas más apreciadas por los programadores en todo el mundo.
La génesis de Emacs
Inicialmente, Emacs fue una serie de macros de edición «Editor MACroS» creadas por Richard Stallman en la década de 1970 mientras trabajaba en el MIT. Estas macros fueron creadas para el editor de texto TECO (Text Editor and COrrector), un constructor de líneas que era muy popular en aquel momento. Las macros Emacs mejoraron enormemente las funcionalidades de edición de TECO, añadiendo la posibilidad de moverse por el texto, eliminar palabras o líneas completas y realizar búsquedas.
Con el tiempo, estas macros se fueron convirtiendo en una especie de lenguaje de programación. Emacs se convirtió en un sistema que permitía a los usuarios ampliarlo y personalizarlo a su gusto. Así se creó el concepto de un editor de texto programable, una idea que ha perdurado hasta el día de hoy.
Emacs y Lisp
A principios de la década de 1980, Stallman empezó a trabajar en una nueva versión de Emacs, que apodó GNU Emacs. Esta versión fue escrita desde cero en C y Emacs Lisp, un dialecto del lenguaje de programación Lisp creado específicamente para Emacs. Emacs Lisp permitía a los usuarios y desarrolladores ampliar y personalizar Emacs de manera mucho más potente y flexible que antes.
El uso de Lisp también permitió la incorporación de funcionalidades más sofisticadas, como la posibilidad de crear y editar programas en diversos lenguajes de programación. Además, Emacs comenzó a incluir funcionalidades para leer correos electrónicos, navegar por la web y leer noticias en grupos de noticias Usenet, lo que lo convertía en mucho más que un simple editor de texto.
Emacs y la creación de GNU
El desarrollo de GNU Emacs fue un proyecto clave en la formación de la Free Software Foundation (FSF) y el movimiento del software libre. Stallman creó la FSF en 1985 con el objetivo de promover la libertad de los usuarios de computadoras, y el proyecto GNU Emacs fue una de sus primeras iniciativas principales.
GNU Emacs fue el primer programa del sistema operativo GNU, y su éxito ayudó a convencer a muchos de que un sistema operativo completamente libre era una posibilidad realista. Además, Stallman utilizó GNU Emacs para mostrar cómo el software libre podía tener la misma calidad, o incluso superior, que el software comercial.
El desarrollo de versiones y forks de Emacs
A lo largo de los años, ha habido varias ramificaciones y versiones de Emacs. Una de las ramas más notables es XEmacs, inicialmente llamada Lucid Emacs. Fue creada en 1991 por un grupo de desarrolladores de la empresa Lucid Inc., quienes querían hacer mejoras específicas en Emacs para su propio uso.
Desafortunadamente, la coexistencia de Emacs y XEmacs llevó a una gran fragmentación de la comunidad de usuarios y desarrolladores de Emacs. Afortunadamente, en los últimos años, la distancia entre Emacs y XEmacs se ha reducido significativamente y muchas de las características únicas de XEmacs han sido incorporadas en Emacs.
Emacs hoy en día
Hoy en día Emacs sigue siendo un editor de texto esencial para muchos desarrolladores. Aunque potencialmente se vea como una herramienta obsoleta en comparación con los modernos entornos de desarrollo integrados (IDE), Emacs sigue siendo relevante por su flexibilidad y capacidad de personalización.
Aunque su curva de aprendizaje es más empinada que la de otros editores de texto más modernos, los usuarios experimentados lo aman por la libertad que ofrece. Con un amplio rango de paquetes e integraciones disponibles, es posible configurar Emacs para que funcione exactamente como lo desees, lo que es algo que no todos los IDEs modernos pueden ofrecer.
En definitiva, la historia de Emacs es el reflejo de la evolución del desarrollo de software. Desde sus humildes comienzos como una serie de macros de edición hasta su posición actual como una herramienta potente y flexible, Emacs ha demostrado su capacidad para adaptarse y evolucionar con el tiempo. A cinco décadas de su creación, Emacs sigue siendo relevante, testimonio de su diseño atemporal y su capacidad para adaptarse a los cambiantes desarrollos tecnológicos.