Gosling Emacs - Gosling Emacs
Pierwotny autor (autorzy) | James Gosling |
---|---|
Deweloper(zy) | UniPress |
Pierwsze wydanie | 1981 |
Napisane w | C |
System operacyjny | Unix , VMS |
Rodzaj | Edytor tekstu |
Gosling Emacs (często skracany do „Gosmacs” lub „gmacs”) to przerwana implementacja Emacsa napisana w 1981 roku przez Jamesa Goslinga w C .
Gosling początkowo zezwolił na redystrybucję Goslinga Emacsa bez żadnych formalnych ograniczeń, czego wymagała „ komuna Emacs” od lat 70., ale później sprzedał go firmie UniPress . Spory z UniPress zainspirowały stworzenie pierwszej formalnej licencji dla Emacsa, która później stała się GPL , ponieważ Kongres wprowadził prawa autorskie do oprogramowania w 1980 roku.
Cechy
Gosling Emacs był szczególnie godny uwagi ze względu na efektywny kod ponownego wyświetlania, który wykorzystywał technikę programowania dynamicznego do rozwiązania klasycznego problemu korekcji ciąg-do-ciągu . Algorytm był dość wyrafinowany; ta sekcja źródła była na czele z czaszką i piszczelami w grafice ASCII , ostrzegając każdego niedoszłego ulepszacza, że nawet jeśli sądzili, że rozumieją, jak działa kod wyświetlania, prawdopodobnie nie rozumieją.
Dystrybucja
Ponieważ Gosling zezwolił na nieograniczoną redystrybucję, Richard Stallman użył kodu Gosling Emacs w początkowej wersji GNU Emacs . Między innymi przepisał część kodu Goslinga z komentarzem o czaszce i piszczelach i uczynił go „… krótszym, szybszym, jaśniejszym i bardziej elastycznym”.
W 1983 roku UniPress zaczął sprzedawać Gosling Emacs na Uniksa za 395 USD, a na VMS za 2500 USD, reklamując go jako „EMACS – wielookienkowy edytor tekstu (wersja Gosling)”.
Kontrowersyjnie Unipress poprosił Stallmana o zaprzestanie dystrybucji jego wersji Emacsa dla Uniksa. UniPress nigdy nie podjął kroków prawnych przeciwko Stallmanowi ani jego rodzącej się Fundacji Wolnego Oprogramowania , wierząc, że „hobbyści i naukowcy nigdy nie wyprodukują Emacsa, który mógłby konkurować” z ich produktem. Cały kod Gosling Emacs został usunięty z GNU Emacs do wersji 16.56 (lipiec 1985), z możliwym wyjątkiem kilku szczególnie zaangażowanych sekcji kodu wyświetlania. Najnowsze wersje GNU Emacsa (od sierpnia 2004) nie zawierają ostrzeżenia o czaszce i piszczeli.
Język rozszerzenia
Jego język rozszerzeń, Mocklisp, ma składnię podobną do Lisp , ale Mocklisp nie ma list ani żadnych innych ustrukturyzowanych typów danych. Interpreter Mocklisp, zbudowany przez Goslinga i współpracownika, został zastąpiony pełnym interpreterem Lispu w GNU Emacs.
Bibliografia
- Christopher Kelty, „EMACS, grep i UNIX: autorstwo, wynalazek i tłumaczenie w oprogramowaniu”, https://web.archive.org/web/20110728022656/http://www.burlingtontelecom.net/~ashawley/gnu/emacs /ConText-Kelty.pdf