ゴスリングEmacs

ゴスリング Emacs / ユニプレス Emacs
原作者ジェームズ・ゴスリング
開発者ユニプレス
初回リリース1981 (1981年
書かれたC
オペレーティング·システムUnixVMS
タイプテキストエディタ

Gosling Emacs(しばしば「Gosmacs」または「gmacs」と略される)は、1981年にJames GoslingによってC言語で書かれた、現在は廃止されたEmacs実装である。[ 1 ]

ゴスリングは当初、1970年代から「Emacsコミューン」によって求められていた通り、ゴスリングEmacsを正式な制限なしに再配布することを許可し[ 2 ] 、著者であることを認める手紙のみを要求した。[ 3 ]その後、彼は前進したいと考え、同じ権利の下でそれを維持してくれる人を探したが見つからず、最終的にUniPressにEmacsを売却した。UniPressは妥当な条件で売却することに同意した。リチャード・ストールマンとUniPressの間の論争は、Emacsの最初の正式なライセンスの作成につながり、後に議会が1980年にソフトウェア著作権を導入したことを受けて、 GPLとなった。 [ 4 ]

特徴

Gosling Emacsは、効果的な再表示コード[ 5 ]によって特に注目に値しました。このコードは、古典的な文字列間の修正問題を動的計画法を用いて解決しました。このアルゴリズムは非常に洗練されており、ソースコードの該当部分はASCIIアートで描かれたドクロマークで始まり、[ 6 ]改良しようとする者に対して、たとえ表示コードの仕組みを理解していると思っていても、実際には理解していない可能性が高いことを警告していました。[ 7 ]

分布

ゴスリングは無制限の再配布を許可していたため、リチャード・ストールマンはGNU Emacsの初期バージョンでゴスリングEmacsのコードの一部を使用しました。[ 8 ] [ 9 ]とりわけ、彼はドクロマークのコメントで始まるゴスリングのコードの一部を書き直し、「…より短く、より速く、より明確に、より拡張性のあるものにしました。」[ 7 ]

1983年、UniPressはGosling EmacsをUnix版では395ドル、VMS版では2,500ドルで販売を開始し、「EMACS - マルチウィンドウ・テキストエディタ(Gosling版)」として販売した。[ 10 ]

物議を醸したが、UniPressはストールマンに対し、Unix版Emacsの配布を停止するよう要請した。[ 11 ] UniPressはストールマンや彼が設立したばかりのフリーソフトウェア財団 に対して法的措置を取らなかった。「愛好家や学者が彼らの製品に匹敵するEmacsを開発することは決してできない」と考えたからだ。Gosling Emacsのコードはすべて、バージョン16.56(1985年7月)までにGNU Emacsから削除された。[ 12 ]表示コードの一部を除いて、おそらく削除された。GNU Emacsの最新バージョン(2004年8月以降)には、ドクロマークの警告は表示されていない。

拡張言語

拡張言語であるMocklispは、 Lispに似た構文を持つように見えますが、Mocklispにはリストがなく、文字列と配列のみをサポートしています。Goslingと共同研究者によって構築されたMocklispインタプリタは、GNU Emacsで完全なLispインタプリタに置き換えられました。[ 11 ]

参考文献

  1. ^ストールマン、リチャード(2002年10月28日)、私のLisp体験とGNU Emacsの開発
  2. ^サム・ウィリアムズ (2002). 「6. Emacsコミューン」 .自由という意味の「フリー」. O'Reilly Media, Inc.. ISBN 0-596-00287-4
  3. ^ハンセン・スーとマーク・ウェーバー(2019年1010日)「ジェームズ・ゴスリングのオーラル・ヒストリー、パート1/2」。YouTube 。コンピュータ歴史博物館。 2023年6月5日閲覧
  4. ^サム・ウィリアムズ (2002). 「9. GNU 一般公衆利用許諾書」 .自由という意味で「フリー」. O'Reilly Media, Inc.. ISBN 0-596-00287-4
  5. ^ゴスリング、ジェームズ(1981年6月)、「再表示アルゴリズム」ACM SIGPLAN Notices16(6)、ACM SIGPLANテキスト操作シンポジウムの議事録:123-129doi10.1145/872730.806463
  6. ^ 「Ultra-hot screen management package」 . nd . 2022年2月12日閲覧
  7. ^ a b Stallman, Richard (2013年1月7日)、samzenpus (編)、Richard Stallman Answers Your QuestionsSlashdot私が置き換えたGosmacsコードの最後の部分は、シリアルターミナルのスクロールオプティマイザで、Goslingのコードが数ページあり、その前にドクロと骨が交差したコメントがあり、非常に理解しにくいため有害であるという意味でした。私はそれを置き換える必要がありましたが、作業が困難になるのではないかと心配していました。私はより単純なアルゴリズムを見つけ、数時間でそれを動作させ、より短く、より高速で、より明確で、より拡張性の高いコードを作成しました。次に、ターミナルコマンドを使用して複数行の挿入または削除を1回の操作で実行するようにしたところ、画面の更新がはるかに効率的になりました。
  8. ^クリストファー・ケルティ、マリオ・ビアジョーリ、ピーター・ヤジ、マーサ・ウッドマンシー (2015). 『知的財産の創造と破壊』 シカゴ大学出版局. ISBN 9780226172491...ストールマンはゴスリングがラバルメに与えた許可に基づいてゴスリングのコードを使用していたが、ラバルメ​​はゴスリングのためにコードを書き、ラバルメ​​に知らせずにそれを商用化していた。
  9. ^ジェームズ・ゴスリングの口述歴史、第1部、2019年10月9日、2021年12月11日時点のオリジナルよりアーカイブ。 2019年10月14日閲覧。
  10. ^ 「Unix Spoken Here / and MS-DOS, and VMS too!」 BYTE (広告). 1983年12月. p. 334. 2016年3月8日閲覧
  11. ^ a bサム・ウィリアムズ (2002). 「7. 厳格な道徳的選択」 .自由とは自由を意味する. O'Reilly Media, Inc.. ISBN 0-596-00287-4開発者によると、ゴスリングはカーネギーメロン大学の博士課程在学中、初期の共同研究者に対し、彼らの研究成果はアクセス可能のままであると保証していたという。しかし、UniPressがストールマンのプロジェクトの存在を知ると、同社は著作権を行使すると脅した。…ゴスリングのインタープリタをリバースエンジニアリングする過程で、ストールマンは完全に機能するLispインタープリタを作成し、ゴスリングのオリジナルのインタープリタの必要性を無意味にした。
  12. ^ Jamie Zawinski (1999年3月8日). 「Emacsタイムライン」 .