고슬링 에맥스

Gosling Emacs
고슬링 Emacs / 유니프레스 Emacs
원저작자제임스 고슬링
개발자유니프레스
초기 릴리즈1981년; 41년 전 (재설정)
기입처C
운영 체제Unix, VMS
유형텍스트 편집기

Gosling Emacs(종종 Gosmacs 또는 gmacs로 줄임말)는 1981년에 [1]C에 있는 James Gosling에 의해 작성된 단종 Emacs 구현입니다.

고슬링은 1970년대부터 "[2]Emacs Community"가 요구한 대로 공식적인 제한 없이 Gosling Emacs를 재배포하는 것을 처음에는 허용했지만 나중에 UniPress에 매각했다.UniPress와의 분쟁은 의회가 [3]1980년에 소프트웨어에 대한 저작권을 도입함에 따라 나중에 GPL이 된 Emacs의 첫 번째 정식 라이선스를 만드는 데 영감을 주었습니다.

특징들

Gosling Emacs는 특히 효과적인 리디플레이 [4]코드 때문에 주목할 만했습니다.이는 기존의 문자열 대 문자열 수정 문제를 해결하기 위해 동적 프로그래밍 기술을 사용했습니다.이 알고리즘은 매우 정교했습니다.소스의 그 부분은 ASCII [5]아트에서의 해골 앤 크로스본에 의해 주도되고 있었습니다.향상자가 되려는 사람은 디스플레이 코드가 어떻게 동작하는지를 이해한다고 생각하더라도 아마 [6]이해하지 못할 것이라고 경고했습니다.

분배

Gosling이 무제한 재배포를 허용했기 때문에 Richard Stallman은 GNU Emacs의 [7][8]초기 버전에서 Gosling Emacs 코드를 사용했습니다.무엇보다도 그는 해골과 크로스본의 코멘트를 중심으로 한 고슬링 코드의 일부를 고쳐 쓰고... 더 짧고, 빠르고, 선명하고, 유연하게 만들었다."[6]

1983년 UniPress는 Unix에서 Gosling Emacs를 $395, VMS에서 $2,500에 판매하기 시작했고, "EMACS-멀티윈도 텍스트 에디터(Gosling 버전)"[9]로 마케팅하기 시작했다.

논쟁적으로 Unipress는 Stallman에게 자신의 버전의 [10]Unix용 Emacs 배포를 중지하도록 요청했습니다.UniPress는 Stallman이나 그의 신생 Free Software [citation needed]Foundation에 대해 [citation needed]"취미주의자나 학자들이 그들의 제품과 경쟁할 수 있는 Emacs를 결코 생산할 수 없다"고 믿으며 법적 조치를 취하지 않았습니다.Gosling Emacs 코드는 모두 버전 16.56(1985년 [11]7월)에 의해 GNU Emacs에서 삭제되었습니다.단, 디스플레이 [citation needed]코드의 일부 섹션은 제외됩니다.최신 버전의 GNU Emacs(2004년 8월 이후)에는 skull-and-crossbone 경고가 [citation needed]없습니다.

확장 언어

확장 언어인 Mocklisp에는 Lisp와 유사한 구문이 있지만 Mocklisp에는 목록이나 다른 구조화된 데이터 유형이 없습니다.Gosling과 공동작업자가 만든 Mocklisp 인터프리터는 GNU [10]Emacs에서 완전한 Lisp 인터프리터로 대체되었습니다.

레퍼런스

  1. ^ Stallman, Richard (28 October 2002), My Lisp Experiences and the Development of GNU Emacs
  2. ^ Sam Williams (2002). "6. The Emacs Commune". Free as in freedom. ISBN 0-596-00287-4.
  3. ^ Sam Williams (2002). "9. The GNU General Public License". Free as in freedom. ISBN 0-596-00287-4.
  4. ^ Gosling, James (June 1981), "A Redisplay Algorithm", ACM SIGPLAN Notices, Proceedings of the ACM SIGPLAN Symposium on Text Manipulation, 16 (6): 123–129, doi:10.1145/872730.806463
  5. ^ "Ultra-hot screen management package". n.d. Retrieved 12 February 2022.
  6. ^ a b Stallman, Richard (7 January 2013), samzenpus (ed.), 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.
  7. ^ Christopher Kelty; Mario Biagioli; Peter Jaszi; Martha Woodmansee (2015). Making and Unmaking Intellectual Property. 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.
  8. ^ Oral History of James Gosling, part 1 of 2, archived from the original on 11 December 2021, retrieved 14 October 2019
  9. ^ "Unix Spoken Here / and MS-DOS, and VMS too!". BYTE (advertisement). December 1983. p. 334. Retrieved 8 March 2016.
  10. ^ a b Sam Williams (2002). "7. A Stark Moral Choice". Free as in freedom. 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.
  11. ^ Jamie Zawinski (8 March 1999). "Emacs timeline".