Articulo de referencia

Gosling Emacs

Gosling Emacs (a menudo abreviado como "Gosmacs" o "gmacs") es una implementación de Emacs descontinuada escrita en 1981 por James Gosling en C. [ 1 ] Gosling inicialmente permi...

Gosling Emacs (a menudo abreviado como "Gosmacs" o "gmacs") es una implementación de Emacs descontinuada escrita en 1981 por James Gosling en C. [ 1 ]

Gosling inicialmente permitió que Gosling Emacs se redistribuyera sin restricciones formales, como lo exigía la "comuna Emacs" desde la década de 1970, [ 2 ] pidiendo únicamente una carta que reconociera su autoría. [ 3 ] Posteriormente, deseando seguir adelante y tras una búsqueda infructuosa de personas que lo mantuvieran bajo los mismos derechos, finalmente vendió su versión de Emacs a UniPress porque estos aceptaron venderla en condiciones razonables. La disputa entre Richard Stallman y UniPress inspiró la creación de la primera licencia formal para Emacs, que más tarde se convirtió en la GPL , ya que el Congreso había introducido los derechos de autor para el software en 1980. [ 4 ]

Características

Gosling Emacs fue especialmente notable debido al eficaz código de revisualización, [ 5 ] que utilizaba 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 del código fuente estaba encabezada por una calavera con tibias cruzadas en arte ASCII , [ 6 ] advirtiendo a cualquier posible mejorador que, incluso si creían entender cómo funcionaba el código de visualización, probablemente no lo entendían . [ 7 ]

Distribución

Dado que Gosling había permitido su redistribución sin restricciones, Richard Stallman utilizó parte del código de Gosling Emacs en la versión inicial de GNU Emacs . [ 8 ] [ 9 ] Entre otras cosas, reescribió parte del código de Gosling encabezado por el comentario de la calavera y las tibias cruzadas y lo hizo "...más corto, más rápido, más claro y más extensible". [ 7 ]

En 1983, UniPress comenzó a vender Gosling Emacs en Unix por 395 dólares y en VMS por 2500 dólares, comercializándolo como "EMACS: editor de texto multiventana (versión Gosling)". [ 10 ]

De forma controvertida, UniPress le pidió a Stallman que dejara de distribuir su versión de Emacs para Unix. [ 11 ] UniPress nunca emprendió acciones legales contra Stallman ni contra su incipiente Free Software Foundation , creyendo que «los aficionados y académicos nunca podrían producir un Emacs que pudiera competir» con su producto. Todo el código de Gosling Emacs fue eliminado de GNU Emacs en la versión 16.56 (julio de 1985), [ 12 ] con la posible excepción de algunas secciones particularmente complejas del código de visualización. Las últimas versiones de GNU Emacs (desde agosto de 2004) no incluyen la advertencia de la calavera y las tibias cruzadas.

Lenguaje de extensión

Su lenguaje de extensión, Mocklisp, tiene una sintaxis que parece similar a Lisp , pero Mocklisp no tiene listas, solo cadenas y arreglos. El intérprete de Mocklisp, creado por Gosling y un colaborador, fue reemplazado por un intérprete completo de Lisp en GNU Emacs. [ 11 ]

Referencias

  1. Stallman, Richard (28 de octubre de 2002), Mis experiencias con Lisp y el desarrollo de GNU Emacs
  2. Sam Williams (2002). "6. La comuna de Emacs" . Libre como en libertad . O'Reilly Media, Inc. ISBN 0-596-00287-4.
  3. Hansen Hsu y Marc Weber (10 de octubre de 2019). "Historia oral de James Gosling, parte 1 de 2" . YouTube . Museo de Historia de la Computación . Consultado el 5 de junio de 2023 .
  4. Sam Williams (2002). "9. La Licencia Pública General de GNU" . Libre como en libertad . O'Reilly Media, Inc. ISBN 0-596-00287-4.
  5. Gosling, James (junio de 1981), "Un algoritmo de revisualización" , ACM SIGPLAN Notices , 16 (6), Actas del Simposio ACM SIGPLAN sobre manipulación de texto: 123–129 , doi : 10.1145/872730.806463
  6. "Paquete de gestión de pantallas ultra calientes" . s.f. Consultado el 12 de febrero de 2022 .
  7. 1 2 Stallman, Richard (7 de enero de 2013), samzenpus (ed.), Richard Stallman responde a tus preguntas , Slashdot , La última pieza de código de Gosmacs que reemplacé fue el optimizador de desplazamiento de terminal serial, unas pocas páginas del código de Gosling que estaba precedido por un comentario con una calavera y tibias cruzadas, lo que significaba 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 más corto, más rápido, más claro y más extensible. Luego hice que usara los comandos de 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.
  8. Christopher Kelty; Mario Biagioli; Peter Jaszi; Martha Woodmansee (2015). Creación y destrucción de la propiedad intelectual . University of Chicago Press. ISBN 9780226172491... Stallman estaba usando código de Gosling, con el permiso que Gosling le había dado a Labalme, pero Labalme había escrito código para Gosling que este había comercializado sin decírselo a Labalme.
  9. Historia oral de James Gosling, parte 1 de 2 , 9 de octubre de 2019, archivada del original el 11 de diciembre de 2021 , consultada el 14 de octubre de 2019.
  10. "Aquí se habla Unix / y MS-DOS, ¡y también VMS!" . BYTE (anuncio). Diciembre de 1983. pág. 334 . Consultado el 8 de marzo de 2016 . 
  11. 1 2 Sam Williams (2002). "7. Una elección moral cruda" . Libre como en libertad . O'Reilly Media, Inc. ISBN 0-596-00287-4Según el desarrollador, Gosling, cuando era estudiante de doctorado en Carnegie Mellon, había asegurado a sus 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 valer los derechos de autor... Durante el proceso de ingeniería inversa del intérprete de Gosling, Stallman crearía un intérprete de Lisp completamente funcional, lo que hizo innecesario el intérprete original de Gosling.
  12. Jamie Zawinski (8 de marzo de 1999). "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/ConText-Kelty.pdf