Гослинг Emacs
Оригинальный автор(ы) | Джеймс Гослинг |
---|---|
Разработчик(и) | ЮниПресс |
Первоначальный выпуск | 1981 год |
Написано в | С |
Операционная система | Юникс , ВМС |
Тип | Текстовый редактор |
Gosling Emacs (часто сокращается до «Gosmacs» или «gmacs») — это прекращенная реализация Emacs, написанная в 1981 году Джеймсом Гослингом на C. языке [1]
Первоначально Гослинг разрешил перераспределение Gosling Emacs без каких-либо формальных ограничений, как того требовала «коммуна Emacs» с 1970-х годов. [2] только просил письмо, подтверждающее его авторство. [3] Позже, желая двигаться дальше и после безуспешных поисков людей, которые поддерживали бы его на тех же правах, он, наконец, продал свою версию Emacs компании UniPress, поскольку они согласились продавать ее на разумных условиях. Спор между Ричардом Столлманом и UniPress вдохновил на создание первой официальной лицензии для Emacs, которая позже стала GPL , поскольку Конгресс ввел авторское право на программное обеспечение в 1980 году. [4]
Функции
[ редактировать ]Gosling Emacs особенно примечателен благодаря эффективному коду повторного отображения, [5] который использовал технику динамического программирования для решения классической задачи построчной коррекции . Алгоритм был довольно сложным; этот раздел источника возглавлялся черепом со скрещенными костями в формате ASCII , [6] предупреждая всех потенциальных разработчиков, что даже если они думают, что понимают, как работает код отображения, они, вероятно, не понимают. [7]
Распределение
[ редактировать ]Поскольку Гослинг разрешил его неограниченное распространение, Ричард Столлман использовал некоторый код Гослинга Emacs в начальной версии GNU Emacs . [8] [9] Среди прочего, он переписал часть кода Гослинга, возглавляемую комментарием о черепе и скрещенных костях, и сделал его «...короче, быстрее, понятнее и расширяемее». [7]
В 1983 году UniPress начала продавать Gosling Emacs для Unix за 395 долларов и для VMS за 2500 долларов, рекламируя его как «EMACS – многооконный текстовый редактор (версия Гослинга)». [10]
Вызывает споры то, что Unipress попросила Столлмана прекратить распространение его версии Emacs для Unix. [11] UniPress никогда не подавала в суд против Столлмана или его зарождающегося Фонда свободного программного обеспечения . [ нужна ссылка ] полагая, что «любители и ученые никогда не смогут создать Emacs, который мог бы конкурировать» с их продуктом. [ нужна ссылка ] Весь код Гослинга Emacs был удален из GNU Emacs в версии 16.56 (июль 1985 г.). [12] за возможным исключением нескольких особо задействованных разделов кода дисплея. [ нужна ссылка ] В последних версиях GNU Emacs (с августа 2004 г.) предупреждение о черепе и скрещенных костях отсутствует. [ нужна ссылка ]
Язык расширения
[ редактировать ]Его язык расширения, Mocklisp, имеет синтаксис, похожий на Lisp , но в Mocklisp нет списков, есть только строки и массивы. Интерпретатор Mocklisp, созданный Гослингом и его соавтором, был заменен полноценным интерпретатором Lisp в GNU Emacs. [11]
Ссылки
[ редактировать ]- ^ Столлман, Ричард (28 октября 2002 г.), Мой опыт работы с Lisp и разработка GNU Emacs
- ^ Сэм Уильямс (2002). «6. Коммуна Emacs» . Свободен как на свободе . «О'Рейли Медиа, Инк.». ISBN 0-596-00287-4 .
- ^ Хансен Сюй и Марк Вебер (10 октября 2019 г.). «Устная история Джеймса Гослинга, часть 1 из 2» . ютуб . Музей истории компьютеров . Проверено 5 июня 2023 г.
- ^ Сэм Уильямс (2002). «9. Стандартная общественная лицензия GNU» . Свободен как на свободе . «О'Рейли Медиа, Инк.». ISBN 0-596-00287-4 .
- ^ Гослинг, Джеймс (июнь 1981 г.), «Алгоритм повторного отображения» , Уведомления ACM SIGPLAN , 16 (6), Материалы симпозиума ACM SIGPLAN по манипулированию текстом: 123–129, doi : 10.1145/872730.806463
- ^ «Пакет управления ультра-горячим экраном» . нд . Проверено 12 февраля 2022 г.
- ^ Jump up to: а б Столлман, Ричард (7 января 2013 г.), samzenpus (ред.), Ричард Столлман отвечает на ваши вопросы , Slashdot ,
Последней частью кода Gosmacs, которую я заменил, был оптимизатор прокрутки последовательного терминала, несколько страниц кода Гослинга, над которыми работал комментарий с черепом и скрещенными костями, означающий, что так сложно было понять, что это яд. Мне пришлось заменить его, но я боялся, что работа будет тяжелой. Я нашел более простой алгоритм и за несколько часов заставил его работать, создавая код, который стал короче, быстрее, понятнее и расширяемее. Затем я заставил его использовать команды терминала для вставки или удаления нескольких строк как одну операцию, что сделало обновление экрана гораздо более эффективным.
- ^ Кристофер Келти; Марио Бьяджоли; Питер Яси; Марта Вудманси (2015). Создание и уничтожение интеллектуальной собственности . Издательство Чикагского университета. ISBN 9780226172491 .
... Столлман использовал код Гослинга, основываясь на разрешении, которое Гослинг дал Лабальме, но Лабалме написал код для Гослинга, который он коммерциализировал, не сказав Лабалме.
- ^ Устная история Джеймса Гослинга, часть 1 из 2 , заархивировано из оригинала 11 декабря 2021 года , получено 14 октября 2019 года.
- ^ «Здесь говорят о Unix / и MS-DOS, и VMS тоже!» . БАЙТ (реклама). Декабрь 1983 г. с. 334 . Проверено 8 марта 2016 г.
- ^ Jump up to: а б Сэм Уильямс (2002). «7. Суровый моральный выбор» . Свободен как на свободе . «О'Рейли Медиа, Инк.». ISBN 0-596-00287-4 .
По словам разработчика, Гослинг, будучи аспирантом в Карнеги-Меллоне, заверил своих первых сотрудников, что их работы останутся доступными. Однако, когда UniPress узнала о проекте Столлмана, компания пригрозила обеспечить соблюдение авторских прав... В ходе обратного проектирования интерпретатора Гослинга Столлман создал полнофункциональный интерпретатор Лиспа, что сделало необходимость использования оригинального интерпретатора Гослинга спорной.
- ^ Джейми Завински (8 марта 1999 г.). «Хронология Emacs» .
- Кристофер Келти, «EMACS, grep и UNIX: авторство, изобретения и перевод в программном обеспечении», https://web.archive.org/web/20110728022656/http://www.burlingtontelecom.net/~ashawley/gnu/emacs /ConText-Келти.pdf