Из Википедии, свободной энциклопедии
  (Перенаправлено с Mocklisp )
Перейти к навигации Перейти к поиску

Gosling Emacs (часто сокращается до «Gosmacs» или «GMACS») является прекращено Emacs реализация написана в 1981 году Джеймсом Гослинг в C . [1]

Изначально Gosling разрешил распространение Gosling Emacs без формальных ограничений, как того требовала «коммуна Emacs» с 1970-х годов [2], но позже продал его UniPress . Споры с UniPress вдохновили на создание первой формальной лицензии для Emacs, которая позже стала GPL , поскольку Конгресс ввел авторское право на программное обеспечение в 1980 году [3].

Особенности [ править ]

Gosling Emacs был особенно примечателен из-за эффективного кода повторного отображения [4], который использовал метод динамического программирования для решения классической проблемы исправления строки в строку . Алгоритм был довольно сложным; что часть источника возглавил черепом и перекрещенными костями в ASCII искусства , [5] предупреждение от любых потенциальных улучшитель , что даже если они думали , что они поняли , как код отображения работал, они , вероятно , не делали. [6]

Распространение [ править ]

Поскольку Gosling разрешил неограниченное распространение, Ричард Столмен использовал некоторый код Gosling Emacs в начальной версии GNU Emacs . [7] Среди прочего, он переписал часть кода Гослинга, озаглавленную комментарием в виде черепа и скрещенных костей, и сделал его «... короче, быстрее, яснее и гибче». [6]

В 1983 году UniPress начала продавать Gosling Emacs на Unix за 395 долларов и на VMS за 2500 долларов, продавая его как «многооконный текстовый редактор EMACS (версия Gosling)». [8]

Несомненно, Unipress попросил Столлмана прекратить распространение его версии Emacs для Unix. [9] UNIPRESS никогда не принимал судебный иск против Столлмана или его зарождающейся Фондом свободного программного обеспечения , [ править ] Верующие «аквариумисты и ученые никогда не могли производить Emacs , которые могли бы конкурировать» с их продуктом. [ необходима цитата ] Весь код Gosling Emacs был удален из GNU Emacs версией 16.56 (июль 1985 г.), [10], за возможным исключением нескольких особенно задействованных секций кода отображения. [ необходима цитата ]Последние версии GNU Emacs (с августа 2004 г.) не содержат предупреждения о черепе и скрещенных костях. [ необходима цитата ]

Язык расширения [ править ]

Его язык расширения, Mocklisp, имеет синтаксис, похожий на Lisp , но Mocklisp не имеет списков или каких-либо других структурированных типов данных. Интерпретатор Mocklisp, созданный Гослингом и его соавтором, вдохновил интерпретатор, используемый в GNU Emacs. [9]

Ссылки [ править ]

  1. Столмен, Ричард (28 октября 2002 г.), Мои впечатления от Lisp и разработка GNU Emacs
  2. ^ Сэм Уильямс. «6. Коммуна Emacs» . Свободен как на свободе . ISBN 0-596-00287-4.
  3. ^ Сэм Уильямс. «9. Стандартная общественная лицензия GNU» . Свободен как на свободе . ISBN 0-596-00287-4.
  4. ^ Гослинг, Джеймс (июнь 1981 г.), Алгоритм повторного отображения , Труды симпозиума ACM SIGPLAN по обработке текста
  5. ^ http://donhopkins.com/home/archive/emacs/skull-and-crossbones.txt
  6. ^ a b Столмен, Ричард (7 января 2013 г.), «samzenpus» (ред.), Ричард Столлман отвечает на ваши вопросы , Slashdot , Последней частью кода Gosmacs, который я заменил, был оптимизатор прокрутки последовательного терминала, несколько страниц кода Гослинга после чего последовал комментарий с изображением черепа и скрещенных костей, что означало, что было так трудно понять, что это был яд. Пришлось заменить его, но боялся, что работа будет тяжелой. Я нашел более простой алгоритм и заставил его работать через несколько часов, создав код, который был короче, быстрее, яснее и расширяемее. Затем я заставил его использовать команды терминала для вставки или удаления нескольких строк за одну операцию, что сделало обновление экрана намного более эффективным.
  7. Устная история Джеймса Гослинга, часть 1 из 2 , получено 14 октября 2019 г.
  8. ^ "Unix Spoken Here / и MS-DOS, и VMS тоже!" . БАЙТ (реклама). Декабрь 1983 г. с. 334 . Проверено 8 марта +2016 .
  9. ^ а б Сэм Уильямс. «7. Абсолютный моральный выбор» . Свободен как на свободе . ISBN 0-596-00287-4. По словам разработчика, Гослинг, будучи аспирантом в Карнеги-Меллон, заверил своих первых сотрудников, что их работа останется доступной. Однако, когда UniPress узнал о проекте Столлмана, компания пригрозила защитить авторские права.
  10. ^ "Временная шкала Emacs" .
  • Кристофер Келти, «EMACS, grep и UNIX: авторство, изобретение и перевод в программном обеспечении», https://web.archive.org/web/20110728022656/http://www.burlingtontelecom.net/~ashawley/gnu/emacs /ConText-Kelty.pdf