Gosling Emacs (a menudo abreviado como "Gosmacs" o "GMACs") es un descontinuado Emacs aplicación escrita en 1981 por James Gosling en C . [1]
Autor (es) original (es) | James Gosling |
---|---|
Desarrollador (es) | UniPress |
Versión inicial | 1981 |
Escrito en | C |
Sistema operativo | Unix , VMS |
Tipo | Editor de texto |
Gosling inicialmente permitió que Gosling Emacs fuera redistribuido sin restricciones formales, como lo requería la "comuna de Emacs" desde la década de 1970, [2] pero luego lo vendió a UniPress . Las disputas con UniPress inspiraron la creación de la primera licencia formal para Emacs, que luego se convirtió en la GPL , ya que el Congreso había introducido los derechos de autor para el software en 1980. [3]
Características
Gosling Emacs fue especialmente notable debido al efectivo código de redisplay, [4] que utilizó una técnica de programación dinámica para resolver el problema clásico de corrección de cadena a cadena . El algoritmo era bastante sofisticado; esa sección de la fuente estaba encabezada por una calavera y tibias cruzadas en el arte ASCII , [5] advirtiendo a cualquier posible mejorador que incluso si pensaban que entendían cómo funcionaba el código de visualización, probablemente no lo hicieran. [6]
Distribución
Dado que Gosling había permitido su redistribución sin restricciones, Richard Stallman usó algo de código de Gosling Emacs en la versión inicial de GNU Emacs . [7] Entre otras cosas, reescribió parte del código de Gosling encabezado por el comentario de calavera y tibias cruzadas y lo hizo "... más corto, más rápido, más claro y más flexible". [6]
En 1983, UniPress comenzó a vender Gosling Emacs en Unix por $ 395 y en VMS por $ 2,500, comercializándolo como "EMACS-editor de texto de múltiples ventanas (versión Gosling)". [8]
De manera controvertida, Unipress le pidió a Stallman que dejara de distribuir su versión de Emacs para Unix. [9] UniPress nunca tomó acción legal contra Stallman o su naciente Free Software Foundation , [ cita requerida ] creyendo que "los aficionados y académicos nunca podrían producir un Emacs que pudiera competir" con su producto. [ cita requerida ] Todo el código de Gosling Emacs fue eliminado de GNU Emacs por la versión 16.56 (julio de 1985), [10] con la posible excepción de algunas secciones particularmente involucradas del código de visualización. [ cita requerida ] Las últimas versiones de GNU Emacs (desde agosto de 2004) no incluyen la advertencia de calavera y tibias cruzadas. [ cita requerida ]
Idioma de extensión
Su lenguaje de extensión, Mocklisp, tiene una sintaxis que parece similar a Lisp , pero Mocklisp no tiene listas ni otros tipos de datos estructurados. El intérprete Mocklisp, construido por Gosling y un colaborador, inspiró al intérprete utilizado en GNU Emacs. [9]
Referencias
- ^ Stallman, Richard (28 de octubre de 2002), Mis experiencias Lisp y el desarrollo de GNU Emacs
- ^ Sam Williams. "6. La Comuna de Emacs" . Libre como en libertad . ISBN 0-596-00287-4.
- ^ Sam Williams. "9. La Licencia Pública General GNU" . Libre como en libertad . ISBN 0-596-00287-4.
- ^ Gosling, James (junio de 1981), A Redisplay Algorithm , Proceedings of the ACM SIGPLAN Symposium on Text Manipulation
- ^ http://donhopkins.com/home/archive/emacs/skull-and-crossbones.txt
- ^ a b Stallman, Richard (7 de enero de 2013), "samzenpus" (ed.), Richard Stallman responde a sus preguntas , Slashdot ,
La última pieza del código de Gosmacs que reemplacé fue el optimizador de desplazamiento de la terminal en serie, unas pocas páginas del código de Gosling que se procedió por un comentario con una calavera y tibias cruzadas, lo que significa que era tan difícil de entender que era veneno. Tuve que reemplazarlo, pero me preocupaba que el trabajo fuera difícil. Encontré un algoritmo más simple y lo hice funcionar en unas pocas horas, produciendo un código que era más corto, más rápido, más claro y más extensible. Luego hice que usara los comandos de la terminal para insertar o eliminar varias líneas como una sola operación, lo que hizo que la actualización de la pantalla fuera mucho más eficiente.
- ^ Oral History of James Gosling, parte 1 de 2 , consultado el 14 de octubre de 2019
- ^ "Unix Spoken Here / y MS-DOS, ¡y VMS también!" . BYTE (publicidad). Diciembre de 1983. p. 334 . Consultado el 8 de marzo de 2016 .
- ^ a b Sam Williams. "7. Una elección moral estricta" . Libre como en libertad . ISBN 0-596-00287-4.
Según el desarrollador, Gosling, mientras era estudiante de doctorado en Carnegie Mellon, había asegurado a los primeros colaboradores que su trabajo seguiría siendo accesible. Sin embargo, cuando UniPress se enteró del proyecto de Stallman, la compañía amenazó con hacer cumplir los derechos de autor.
- ^ "Cronología de Emacs" .
- Christopher Kelty, "EMACS, grep y UNIX: autoría, invención y traducción en software", https://web.archive.org/web/20110728022656/http://www.burlingtontelecom.net/~ashawley/gnu/emacs /ConTexto-Kelty.pdf