Gosling Emacs - Gosling Emacs

Gosling Emacs / Unipress Emacs
Původní autořiJames Gosling
VývojářiUniPress[nutná disambiguation ]
První vydání1981; Před 39 lety (1981)
NapsánoC
Operační systémUnix, VMS
TypTextový editor

Gosling Emacs (často zkráceno na „Gosmacs“ nebo „gmacs“) je ukončeno Emacs implementace, kterou v roce 1981 napsal James Gosling v C.[1]

Gosling zpočátku umožňoval redistribuci Gosling Emacsu bez formálních omezení, jak to vyžaduje „komuna Emacs“ od 70. let,[2] ale později to prodal UniPress. Spory s UniPress inspirovaly vytvoření první formální licence pro Emacs, která později se stal GPL jak měl Kongres zavedena autorská práva k softwaru v roce 1980.[3]

Funkce

Gosling Emacs byl obzvláště pozoruhodný kvůli efektivnímu redisplay kódu,[4] který používal a dynamické programování technika řešení klasické problém s opravou řetězce na řetězec. Algoritmus byl docela propracovaný; tato část zdroje byla vedena a lebka a zkřížené hnáty v ASCII umění,[5] varoval před případným zlepšovatelem, že i když si mysleli, že rozumějí fungování zobrazovacího kódu, pravděpodobně ne.[6]

Rozdělení

Jelikož Gosling povolil jeho neomezené přerozdělení, Richard Stallman použil nějaký kód Gosling Emacs v původní verzi GNU Emacs.[7] Mimo jiné přepsal část kódu Goslinga v čele s komentářem lebky a zkřížené hnáty a učinil jej „... kratší, rychlejší, jasnější a pružnější“.[6]

V roce 1983 začal UniPress dále prodávat Gosling Emacs Unix za 395 $ a dále VMS za 2 500 $, marketing jako „EMACS – textový editor pro více oken (verze Gosling)“.[8]

Kontroverzně Unipress požádal Stallmana, aby přestal distribuovat jeho verzi Emacsu pro Unix.[9]UniPress nikdy nepodnikl právní kroky proti Stallmanovi nebo jeho rodícímu se Free Software Foundation,[Citace je zapotřebí ] věřit, že „fandové a akademici nikdy nemohou vyrobit Emacs, který by mohl konkurovat“ jejich produktu.[Citace je zapotřebí ] Veškerý kód Gosling Emacs byl odstraněn z GNU Emacs verzí 16.56 (červenec 1985),[10] s možnou výjimkou několika zvláště zapojených částí kódu displeje.[Citace je zapotřebí ] Nejnovější verze GNU Emacs (od srpna 2004) neobsahují varování lebky a zkřížené hnáty.[Citace je zapotřebí ]

Jazyk rozšíření

Jeho rozšiřující jazyk Mocklisp má podobnou syntaxi jako Lisp, ale Mocklisp nemá seznamy ani žádné jiné strukturované datové typy. Tlumočník Mocklisp, postavený Goslingem a spolupracovníkem, inspiroval tlumočníka používaného v GNU Emacs.[9]

Reference

  1. ^ Stallman, Richard (28. října 2002), Moje zkušenosti s Lispem a vývoj GNU Emacs
  2. ^ Sam Williams. "6. Emacsova komuna". Zdarma jako na svobodě. ISBN  0-596-00287-4.
  3. ^ Sam Williams. "9. Obecná veřejná licence GNU". Zdarma jako na svobodě. ISBN  0-596-00287-4.
  4. ^ Gosling, James (červen 1981), Algoritmus opětovného zobrazení, Proceedings of the ACM SIGPLAN Symposium on Text Manipulation
  5. ^ http://donhopkins.com/home/archive/emacs/skull-and-crossbones.txt
  6. ^ A b Stallman, Richard (7. ledna 2013), „samzenpus“ (vyd.), Richard Stallman odpovídá na vaše dotazy, Slashdot, Poslední část kódu Gosmacs, kterou jsem nahradil, byl optimalizátor posouvání sériového terminálu, několik stránek Goslingova kódu, ke kterému došlo komentářem s lebkou a zkříženými hnáty, což znamená, že bylo tak těžké pochopit, že to byl jed. Musel jsem to vyměnit, ale obával jsem se, že práce bude těžká. Našel jsem jednodušší algoritmus a za pár hodin jsem jej spustil a vytvořil kód, který byl kratší, rychlejší, jasnější a rozšiřitelnější. Pak jsem to udělal pomocí příkazů terminálu k vložení nebo odstranění více řádků jako jednu operaci, což zefektivnilo aktualizaci obrazovky.
  7. ^ Oral History of James Gosling, část 1 ze 2, vyvoláno 14. října 2019
  8. ^ „Unix zde hovoří / a MS-DOS a také VMS!“. BYTE (reklama). Prosince 1983. str. 334. Citováno 8. března 2016.
  9. ^ A b Sam Williams. "7. Ostrá morální volba". Zdarma jako na svobodě. ISBN  0-596-00287-4. Podle vývojáře Gosling, zatímco doktorand v Carnegie Mellon, ujistil časné spolupracovníky, že jejich práce zůstane přístupná. Když UniPress zachytil vítr Stallmanova projektu, společnost hrozila vymáháním autorských práv.
  10. ^ "Časová osa Emacs".