Gosling Emacs (shpesh i shkurtuar në "Gosmacs" ose "gmacs") është një zbatim i ndërprerë i Emacs i shkruar në 1981 nga James GoslingC. [1]

Gosling Emacs / Unipress Emacs

Gosling fillimisht lejoi që Gosling Emacs të rishpërndahej pa kufizime formale, siç kërkohet nga "komuna Emacs" që nga vitet 1970, [2] duke kërkuar vetëm një letër që pranonte autorësinë e tij. [3] Më vonë, duke dashur të vazhdonte dhe pas një kërkimi të dështuar për njerëz që do ta ruanin atë me të njëjtat të drejta, ai më në fund ia shiti UniPress versionin e tij të Emacs sepse ata ranë dakord ta shesin atë me kushte të arsyeshme. Mosmarrëveshja midis Richard Stallman dhe UniPress frymëzoi krijimin e licencës së parë zyrtare për Emacs, e cila më vonë u bë GPL, pasi Kongresi kishte futur të drejtën e autorit për softuerin në 1980. [4]

Veçoritë

Redakto

Gosling Emacs ishte veçanërisht i rëndësishëm për shkak të kodit efektiv të rishfaqjes, [5] i cili përdori një teknikë programimi dinamik për të zgjidhur problemin klasik të korrigjimit të vargut në varg . Algoritmi ishte mjaft i sofistikuar; ai seksion i burimit drejtohej nga një kafkë dhe kocka kryq në artin ASCII, duke paralajmëruar çdo përmirësues të mundshëm se edhe nëse ata mendonin se e kuptonin se si funksiononte kodi i ekranit, ndoshta nuk e kuptonin. [6]

Shpërndarja

Redakto

Meqenëse Gosling kishte lejuar rishpërndarjen e tij të pakufizuar, Richard Stallman përdori disa kode Gosling Emacs në versionin fillestar të GNU Emacs . [7] [8] Ndër të tjera, ai rishkruan një pjesë të kodit Gosling të kryesuar nga komenti i kafkës dhe kockave të kryqëzuara dhe e bëri atë "...më të shkurtër, më të shpejtë, më të qartë dhe më të shtrirë". [6]

Në vitin 1983 UniPress filloi të shesë Gosling Emacs në Unix për 395 dollarë dhe në VMS për 2,500 dollarë, duke e marketinguar atë si "EMACS–Editor teksti me shumë dritare (versioni Gosling)". [9]

Në mënyrë kontroverse, Unipress i kërkoi Stallman të ndalonte shpërndarjen e versionit të tij të Emacs për Unix. [10] UniPress nuk ndërmori kurrë veprime ligjore kundër Stallman ose Fondacionit të tij të sapolindur të Software-it të Lirë , </link>[ citim i nevojshëm ] duke besuar se "hobiistët dhe akademikët nuk mund të prodhonin kurrë një Emacs që mund të konkurronte" me produktin e tyre. </link>[ citim i nevojshëm ] I gjithë kodi i Gosling Emacs u hoq nga GNU Emacs me versionin 16.56 (korrik 1985), [11] me përjashtim të mundshëm të disa seksioneve veçanërisht të përfshira të kodit të ekranit. </link>[ citim i nevojshëm ] Versionet më të fundit të GNU Emacs (që nga gushti 2004) nuk paraqesin paralajmërimin "skull-and-crossbones". </link>

Gjuha e zgjerimit

Redakto

Gjuha e saj e zgjerimit, Mocklisp, ka një sintaksë që duket e ngjashme me Lisp, por Mocklisp nuk ka lista, vetëm vargje dhe vargje. Përkthyesi Mocklisp, i ndërtuar nga Gosling dhe një bashkëpunëtor, u zëvendësua nga një përkthyes i plotë Lisp në GNU Emacs. [10]

Referencat

Redakto
  1. ^ Stallman, Richard (28 tetor 2002), My Lisp Experiences and the Development of GNU Emacs {{citation}}: Mungon ose është bosh parametri |language= (Ndihmë!)Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja)
  2. ^ Sam Williams (2002). "6. The Emacs Commune". Free as in freedom. "O'Reilly Media, Inc.". ISBN 0-596-00287-4. {{cite book}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  3. ^ Hansen Hsu and Marc Weber (10 tetor 2019). "Oral History of James Gosling, part 1 of 2". youtube. Computer History Museum. Marrë më 5 qershor 2023. {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja)
  4. ^ Sam Williams (2002). "9. The GNU General Public License". Free as in freedom. "O'Reilly Media, Inc.". ISBN 0-596-00287-4. {{cite book}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  5. ^ Gosling, James (qershor 1981), "A Redisplay Algorithm", ACM SIGPLAN Notices, Proceedings of the ACM SIGPLAN Symposium on Text Manipulation, vëll. 16 no. 6, fq. 123–129, doi:10.1145/872730.806463 {{citation}}: Mungon ose është bosh parametri |language= (Ndihmë!)Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja)
  6. ^ a b Stallman, Richard (7 janar 2013), samzenpus (red.), Richard Stallman Answers Your Questions, Slashdot, The last piece of Gosmacs code that I replaced was the serial terminal scrolling optimizer, a few pages of Gosling's code which was proceeded by a comment with a skull and crossbones, meaning that it was so hard to understand that it was poison. I had to replace it, but worried that the job would be hard. I found a simpler algorithm and got it to work in a few hours, producing code that was shorter, faster, clearer, and more extensible. Then I made it use the terminal commands to insert or delete multiple lines as a single operation, which made screen updating far more efficient. {{citation}}: Mungon ose është bosh parametri |language= (Ndihmë!)Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja)
  7. ^ Christopher Kelty; Mario Biagioli; Peter Jaszi; Martha Woodmansee (2015). Making and Unmaking Intellectual Property. University of Chicago Press. ISBN 9780226172491. ...Stallman was using code from Gosling, based on permission that Gosling had given to Labalme, but Labalme had written code for Gosling that he had commercialized without telling Labalme. {{cite book}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  8. ^ Oral History of James Gosling, part 1 of 2 (në anglisht), arkivuar nga origjinali më 2021-12-11, marrë më 2019-10-14
  9. ^ "Unix Spoken Here / and MS-DOS, and VMS too!". BYTE (advertisement). dhj 1983. fq. 334. Marrë më 8 mars 2016. {{cite news}}: Mungon ose është bosh parametri |language= (Ndihmë!)Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja)
  10. ^ a b Sam Williams (2002). "7. A Stark Moral Choice". Free as in freedom. "O'Reilly Media, Inc.". ISBN 0-596-00287-4. According to the developer, Gosling, while a PhD student at Carnegie Mellon, had assured early collaborators that their work would remain accessible. When UniPress caught wind of Stallman's project, however, the company threatened to enforce the copyright...In the course of reverse-engineering Gosling's interpreter, Stallman would create a fully functional Lisp interpreter, rendering the need for Gosling's original interpreter moot. {{cite book}}: Mungon ose është bosh parametri |language= (Ndihmë!)
  11. ^ Jamie Zawinski (8 mars 1999). "Emacs timeline". {{cite web}}: Mungon ose është bosh parametri |language= (Ndihmë!)Mirëmbajtja CS1: Datë e përkthyer automatikisht (lidhja)