[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
www/gnu/po rms-lisp.zh-cn.po
From: |
Wensheng XIE |
Subject: |
www/gnu/po rms-lisp.zh-cn.po |
Date: |
Mon, 30 Jul 2018 03:14:51 -0400 (EDT) |
CVSROOT: /web/www
Module name: www
Changes by: Wensheng XIE <wxie> 18/07/30 03:14:51
Added files:
gnu/po : rms-lisp.zh-cn.po
Log message:
zh-cn: new translation
CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/gnu/po/rms-lisp.zh-cn.po?cvsroot=www&rev=1.1
Patches:
Index: rms-lisp.zh-cn.po
===================================================================
RCS file: rms-lisp.zh-cn.po
diff -N rms-lisp.zh-cn.po
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ rms-lisp.zh-cn.po 30 Jul 2018 07:14:51 -0000 1.1
@@ -0,0 +1,1009 @@
+# Simplified Chinese translation of http://www.gnu.org/gnu/rms-lisp.html
+# Copyright (C) 2018 Free Software Foundation, Inc.
+# This file is distributed under the same license as the original article.
+# Wensheng Xie <address@hidden>, 2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: rms-lisp.html\n"
+"POT-Creation-Date: 2014-04-04 23:59+0000\n"
+"PO-Revision-Date: 2018-07-30 15:05+0800\n"
+"Last-Translator: Wensheng Xie <address@hidden>\n"
+"Language-Team: Chinese <address@hidden>\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Content of: <title>
+msgid ""
+"My Lisp Experiences and the Development of GNU Emacs - GNU Project - Free "
+"Software Foundation"
+msgstr "æçLispç»éªåGNU Emacsçå¼å - GNUå·¥ç¨ -
èªç±è½¯ä»¶åºéä¼"
+
+#. type: Content of: <h2>
+msgid "My Lisp Experiences and the Development of GNU Emacs"
+msgstr "æçLispç»éªåGNU Emacsçå¼å"
+
+#. type: Content of: <blockquote><p>
+msgid ""
+"(Transcript of Richard Stallman's Speech, 28 Oct 2002, at the International "
+"Lisp Conference)."
+msgstr "ï¼Richard Stallmanå¨å½é
Lisp大ä¼ä¸çè°è¯è®°å½ï¼2002å¹´10æ28æ¥ï¼"
+
+#. type: Content of: <p>
+msgid ""
+"Since none of my usual speeches have anything to do with Lisp, none of them "
+"were appropriate for today. So I'm going to have to wing it. Since I've "
+"done enough things in my career connected with Lisp I should be able to say "
+"something interesting."
+msgstr ""
+"ç±äºæé常çæ¼è®²é½åLispæ å
³ï¼æä»å¤©è®²å®ä»¬ä¸åéãæ以æå°ä¸å¾ä¸å³å
´åæ¥ãæ"
+"çèä¸ç涯åäºå¤ªå¤Lispç¸å
³çå·¥ä½ï¼å
æ¤æè¿æ¯å¯ä»¥è®²ä¸äºæ趣çäºæ
çã"
+
+#. type: Content of: <p>
+msgid ""
+"My first experience with Lisp was when I read the Lisp 1.5 manual in high "
+"school. That's when I had my mind blown by the idea that there could be a "
+"computer language like that. The first time I had a chance to do anything "
+"with Lisp was when I was a freshman at Harvard and I wrote a Lisp "
+"interpreter for the <abbr title=\"Programmed Data Processor\">PDP</abbr>-11. "
+"It was a very small machine — it had something like 8k of memory "
+"— and I managed to write the interpreter in a thousand instructions. "
+"This gave me some room for a little bit of data. That was before I got to "
+"see what real software was like, that did real system jobs."
+msgstr ""
+"æææ©å
³äºLispçç»åæ¯å¨é«ä¸æ¶è¯»äºLisp 1.5çæåãå
¶ä¸çææ³è®©æèæ´å¤§å¼ï¼æ"
+"ä¹è¿æè¿æ ·ç计ç®æºè¯è¨ï¼æ第ä¸æ¬¡ææºä¼åLispç¸å
³çå·¥ä½æ¯å¨å½åä½æ°ççæ¶åï¼"
+"æ为<abbr title=\"Programmed Data
Processor\">PDP</abbr>-11å¤çå¨ç¼åäºä¸ä¸ª"
+"Lisp解éå¨ãé£æ¯ä¸ä¸ªé常å°çæºå¨—大æ¦åªæ8kçå
å—æ设æ³ç¨1000æ¡"
+"以å
çæ令ç¼åäºé£ä¸ªè§£éå¨ãè¿æ
·æè¿æä¸ç¹æ°æ®ç©ºé´ãè¿æ¯å¨æçå°çæ£åç³»ç»å·¥"
+"ä½ç软件ä¹åã"
+
+#. type: Content of: <p>
+msgid ""
+"I began doing work on a real Lisp implementation with JonL White once I "
+"started working at <abbr title=\"Massachusetts Institute of Technology"
+"\">MIT</abbr>. I got hired at the Artificial Intelligence Lab not by JonL, "
+"but by Russ Noftsker, which was most ironic considering what was to come "
+"— he must have really regretted that day."
+msgstr ""
+"å½æå¨<abbr title=\"Massachusetts Institute of
Technologyï¼éº»ççå·¥å¦é¢"
+"\">MIT</abbr>å¼å§å·¥ä½æ¶ï¼æåJonL
Whiteä¸èµ·çæ£å¼å§å®ç°Lispè¯è¨ãæä¸æ¯è¢«"
+"JonLï¼èæ¯è¢«Russ
Noftskeræå°äººå·¥æºè½å®éªå®¤çï¼è¿ä¸ç¹æ讽åºï¼æ³æ³æ¥ä¸æ¥åçç"
+"亗ä»ä¸å®ççåææé£ä¸å¤©äºã"
+
+#. type: Content of: <p>
+msgid ""
+"During the 1970s, before my life became politicized by horrible events, I "
+"was just going along making one extension after another for various "
+"programs, and most of them did not have anything to do with Lisp. But, along "
+"the way, I wrote a text editor, Emacs. The interesting idea about Emacs was "
+"that it had a programming language, and the user's editing commands would be "
+"written in that interpreted programming language, so that you could load new "
+"commands into your editor while you were editing. You could edit the "
+"programs you were using and then go on editing with them. So, we had a "
+"system that was useful for things other than programming, and yet you could "
+"program it while you were using it. I don't know if it was the first one of "
+"those, but it certainly was the first editor like that."
+msgstr ""
+"å¨1970年代ï¼æççæ´»è¿æ²¡æ被æ人çäºä»¶æ¿æ²»åä¹åï¼æåªæ¯ä¸æå°ä¸ä¸ªæ¥ä¸ä¸ªå°ä¸º"
+"åç§ç¨åºæ·»å æ©å±ï¼å
¶ä¸å¤æ°åLispæ å
³ãä¸è¿ï¼å
¶é´ï¼æåäºä¸ä¸ªææ¬ç¼è¾å¨ï¼å«"
+"EmacsãEmacsçæ趣ä¹å¤å¨äºå®æä¸ä¸ªç¼ç¨è¯è¨ï¼ç¨æ·çç¼è¾å½ä»¤å¯ä»¥ç¨è¿ä¸ªè§£éæ§è¯"
+"è¨ç¼åï¼è¿æ ·ä½ å°±å¯ä»¥å¨ç¼è¾æ¶å è½½æ°çç¼è¾å½ä»¤ãä½
å¯ä»¥ä¿®æ¹ä½ æ£å¨ç¨çç¼è¾ç¨åºå¹¶"
+"ä¸ç»§ç»ç¼è¾ãè¿æ ·ï¼æ们就æäºä¸ä¸ªé¤äºç¼ç¨è¿å¯åå
¶ä»æç¨ä¹äºçç³»ç»ï¼èä¸ä½ å¨ä½¿"
+"ç¨æ¶è¿å¯ä»¥å¯¹å®è¿è¡ç¼ç¨ãæä¸ç¥éEmacsæ¯ä¸æ¯ç¬¬ä¸ä¸ªè¿æ
ፌᴌ
·ï¼ä½æ¯ä½ä¸ºç¼è¾å¨å®"
+"ç¡®å®æ¯ç¬¬ä¸ä¸ªã"
+
+#. type: Content of: <p>
+msgid ""
+"This spirit of building up gigantic, complicated programs to use in your own "
+"editing, and then exchanging them with other people, fueled the spirit of "
+"free-wheeling cooperation that we had at the AI Lab then. The idea was that "
+"you could give a copy of any program you had to someone who wanted a copy of "
+"it. We shared programs to whomever wanted to use them, they were human "
+"knowledge. So even though there was no organized political thought relating "
+"the way we shared software to the design of Emacs, I'm convinced that there "
+"was a connection between them, an unconscious connection perhaps. I think "
+"that it's the nature of the way we lived at the AI Lab that led to Emacs and "
+"made it what it was."
+msgstr ""
+"è¿ç§æé åºå¤§ãå¤æçç¨åºä½ä¸ºèªå·±çç¼è¾å¨ï¼ç¶åååå
¶ä»äººäº¤æ¢çç²¾ç¥æ£æ¯æ们å½"
+"æ¶å¨äººå·¥æºè½å®éªå®¤æ¥æçã驱å¨èªç±åä½ç²¾ç¥çå¨åãå®çææ³å°±æ¯ä½
å¯ä»¥æä½ æ¥æ"
+"çç¨åºçæ·è´ååç»æ³è¦ç人ãæ们åä»»ä½æ³è¦ç人å享ï¼å®ä»¬æ¯äººç±»çç¥è¯ãæ以尽"
+"管æ们å享软件çæ¹å¼å设计Emacsä¹é´å¹¶ä¸åå¨æç»ç»çæ¿æ²»å
³èï¼æä»ç¶ç¡®ä¿¡å®ä»¬æ"
+"èç³»ï¼ä¹è®¸æ¯ä¸èªè§çèç³»ãæ认为æ£æ¯æ们å¨äººå·¥æºè½å®éªå®¤çæ´»æ¹å¼çå±æ§å¯¼è´äº"
+"Emacsçè¯ç并使ä¹åå±ã"
+
+#. type: Content of: <p>
+msgid ""
+"The original Emacs did not have Lisp in it. The lower level language, the "
+"non-interpreted language — was <abbr>PDP</abbr>-10 Assembler. The "
+"interpreter we wrote in that actually wasn't written for Emacs, it was "
+"written for <acronym title=\"Text Editor and COrrector\">TECO</acronym>. It "
+"was our text editor, and was an extremely ugly programming language, as ugly "
+"as could possibly be. The reason was that it wasn't designed to be a "
+"programming language, it was designed to be an editor and command language. "
+"There were commands like ‘5l’, meaning ‘move five "
+"lines’, or ‘i’ and then a string and then an ESC to insert "
+"that string. You would type a string that was a series of commands, which "
+"was called a command string. You would end it with ESC ESC, and it would get "
+"executed."
+msgstr ""
+"æåçEmacsä¸å¸¦Lispãå
¶åºå±è¯è¨ãä¸ä¸ªé解éæ§è¯è¨—æ¯<abbr>PDP</abbr>-10"
+"æ±ç¼è¯è¨ãæ们ç¼åç解éå¨å®é
ä¸ä¸æ¯ä¸ºEmacsåçï¼å®æ¯ä¸º<acronym title=\"Text "
+"Editor and
COrrector\">TECO</acronym>ç¼åçãTECOæ¯æ们çææ¬ç¼è¾å¨ï¼ä¹æ¯ä¸ä¸ª"
+"æå
¶ä¸éçç¼ç¨è¯è¨ï¼è½æå¤ä¸éå°±æå¤ä¸éãå
¶åå
æ¯å®æ¬æ¥å°±ä¸æ¯ä½ä¸ºç¼ç¨è¯è¨è®¾"
+"计çï¼å®æ¯ä½ä¸ºç¼è¾å¨åå½ä»¤è¯è¨è®¾è®¡çãæ¯å¦ï¼å½ä»¤‘5l’ææ毑"
+"移å¨5è¡’ï¼æè
稑i’å ä¸ä¸ä¸ªå符串ï¼åå
ä¸ESCæé®æ¥æå
¥è¯¥å"
+"符串ãä½ å¯ä»¥è¾å
¥ä»£è¡¨ä¸ç³»åå½ä»¤çå符串ï¼è¿å«å½ä»¤å符串ãä½ å¯ä»¥ç¨ESC
ESCåç»"
+"å°¾ï¼è¿æ ·è¯¥ä¸²å½ä»¤å°±æ§è¡äºã"
+
+#. type: Content of: <p>
+msgid ""
+"Well, people wanted to extend this language with programming facilities, so "
+"they added some. For instance, one of the first was a looping construct, "
+"which was < >. You would put those around things and it would loop. "
+"There were other cryptic commands that could be used to conditionally exit "
+"the loop. To make Emacs, we <a href=\"#foot-1\">(1)</a> added facilities to "
+"have subroutines with names. Before that, it was sort of like Basic, and the "
+"subroutines could only have single letters as their names. That was hard to "
+"program big programs with, so we added code so they could have longer names. "
+"Actually, there were some rather sophisticated facilities; I think that Lisp "
+"got its unwind-protect facility from <acronym>TECO</acronym>."
+msgstr ""
+"ä¸è¿ï¼äººä»¬æ³è¦æ©å±è¯¥è¯è¨ä½¿ä¹å¸¦ä¸ç¼ç¨è½åï¼æ以人们就添å
äºä¸äºåè½ãä¾å¦ï¼æ"
+"æ©æ·»å çå°±æ循ç¯ç»æï¼å°±æ¯< >ãä½
æä¸è¥¿æ¾å¨è¿ä¸¤ä¸ªç¬¦å·ä¹é´ï¼å®ä»¬å°±å¾ªç¯"
+"äºãè¿æä¸äºæ¦æ¶©çå½ä»¤ç¨æ¥å®ä¹éåºå¾ªç¯çæ¡ä»¶ã为äºæé
Emacsï¼æ们<a href="
+"\"#foot-1\">(1)</a>æ·»å
äºå¯ä»¥å建带å称åå½æ°çåè½ãå¨æ¤ä¹åï¼æç¹åBasicè¯"
+"è¨ï¼åå½æ°åªè½æä¸ä¸ªåæ¯çå称ãè¿å¯¹ç¼å大åç¨åºæ¥è¯´æç¹é¾ï¼æ以æ们就添å
äº"
+"é¿æ件ååè½ãå®é
ä¸ï¼è¿æä¸äºç¸å½å¤æçåè½ï¼æ认为Lispçunwind-protectåè½"
+"å°±æ¥èª<acronym>TECO</acronym>ã"
+
+#. type: Content of: <p>
+msgid ""
+"We started putting in rather sophisticated facilities, all with the ugliest "
+"syntax you could ever think of, and it worked — people were able to "
+"write large programs in it anyway. The obvious lesson was that a language "
+"like <acronym>TECO</acronym>, which wasn't designed to be a programming "
+"language, was the wrong way to go. The language that you build your "
+"extensions on shouldn't be thought of as a programming language in "
+"afterthought; it should be designed as a programming language. In fact, we "
+"discovered that the best programming language for that purpose was Lisp."
+msgstr ""
+"æ们å¼å§æ·»å
ä¸äºç¸å½å¤æçåè½ï¼é½æ¯ç¨æ们æç¥çé£ä¸ªæä¸éçè¯æ³å®æçï¼èå®"
+"æ¯å¯è¡ç—人们ç»ç©¶è½å¤ä½¿ç¨å®æ¥å®æ大åç¨åºãè¿éï¼ææ¾çæè®å°±æ¯ä½¿ç¨è¯¸å¦"
+"<acronym>TECO</acronym>è¿æ
·ä¸æ¯ä¸ºç¼ç¨è®¾è®¡çè¯è¨æ¯ä¸ä¸ªé误ãæ建æ©å±çè¯è¨ä¸è½"
+"æ¯äºååæ³çç¼ç¨è¯è¨ï¼å®åºè¯¥æç
§ç¼ç¨è¯è¨æ¥è®¾è®¡ãäºå®ä¸ï¼æ们åç°Lispæ¯åè¿ä»¶"
+"äºçæä½³è¯è¨ã"
+
+#. type: Content of: <p>
+msgid ""
+"It was Bernie Greenberg, who discovered that it was <a href=\"#foot-2\">(2)</"
+"a>. He wrote a version of Emacs in Multics MacLisp, and he wrote his "
+"commands in MacLisp in a straightforward fashion. The editor itself was "
+"written entirely in Lisp. Multics Emacs proved to be a great success — "
+"programming new editing commands was so convenient that even the secretaries "
+"in his office started learning how to use it. They used a manual someone had "
+"written which showed how to extend Emacs, but didn't say it was a "
+"programming. So the secretaries, who believed they couldn't do programming, "
+"weren't scared off. They read the manual, discovered they could do useful "
+"things and they learned to program."
+msgstr ""
+"Bernie Greenbergæ¯æ¤äºçåç°è
<a
href=\"#foot-2\">(2)</a>ãä»ç¨Multics "
+"MacLispåäºä¸ä¸ªEmacsï¼èä¸ä»ä½¿ç¨MacLispç¼åå½ä»¤çæ¹å¼ç´æªäºå½ãè¿ä¸ªç¼è¾å¨æ¬èº«"
+"å®å
¨æ¯ç¨Lispç¼åçãMultics
Emacsæ¯ä¸ä¸ªå·¨å¤§çæå—ç¼åæ°çç¼è¾å½ä»¤æ¯å¦"
+"æ¤çæ¹ä¾¿ï¼ä»¥è³äºä»åå
¬å®¤éçç§ä¹¦ä»¬é½å¼å§å¦ä¹
æä¹ç¨äºãä»ä»¬ä½¿ç¨çæ¯ä¸ä¸ªä»ç»å¦"
+"ä½æ©å±Emacsçæåï¼æåé没说è¿å°±æ¯ç¼ç¨ãå
æ¤ï¼ç§ä¹¦ä»¬å¹¶ä¸è®¤ä¸ºä»ä»¬å¨ç¼ç¨ï¼ä¹å°±"
+"没被åè·ãä»ä»¬é
读æåï¼åç°èªå·±ä¹å¯ä»¥åä¸å°æç¨çäºï¼ä»ä»¬å¦ä¼äºç¼ç¨ã"
+
+#. type: Content of: <p>
+msgid ""
+"So Bernie saw that an application — a program that does something "
+"useful for you — which has Lisp inside it and which you could extend "
+"by rewriting the Lisp programs, is actually a very good way for people to "
+"learn programming. It gives them a chance to write small programs that are "
+"useful for them, which in most arenas you can't possibly do. They can get "
+"encouragement for their own practical use — at the stage where it's "
+"the hardest — where they don't believe they can program, until they "
+"get to the point where they are programmers."
+msgstr ""
+"è¿æ ·ï¼Bernieçå°ä¸ä¸ªåºç¨ç¨åº—为ä½
å®æä»»å¡çç¨åº—å¦æå
ç½®äºLispï¼"
+"并ä¸äººä»¬å¯ä»¥ç¼åLispç¨åºæ¥æ©å±è¯¥åºç¨ç¨åºï¼é£ä¹å®å®é
ä¸å°±æ¯äººä»¬å¦ä¹ ç¼ç¨çä¸ä¸ª"
+"好æ¹æ³ãè¿ç»äºäººä»¬ç¼åå®ç¨å°ç¨åºçæºä¼ï¼èè¿å¨å¤æ°å
¶ä»åºåæ¯ä¸å¯è½çã人们被"
+"èªå·±çå®ç¨ç¨åºé¼å±ç—å°±å¨æå°é¾çé¶æ®µ—å°±å¨ä»ä»¬ä¸ç¸ä¿¡èªå·±å¯ä»¥ç¼ç¨"
+"çæ¶åï¼ç´å°ä»ä»¬æåæ为ç¨åºåã"
+
+#. type: Content of: <p>
+msgid ""
+"At that point, people began to wonder how they could get something like this "
+"on a platform where they didn't have full service Lisp implementation. "
+"Multics MacLisp had a compiler as well as an interpreter — it was a "
+"full-fledged Lisp system — but people wanted to implement something "
+"like that on other systems where they had not already written a Lisp "
+"compiler. Well, if you didn't have the Lisp compiler you couldn't write the "
+"whole editor in Lisp — it would be too slow, especially redisplay, if "
+"it had to run interpreted Lisp. So we developed a hybrid technique. The "
+"idea was to write a Lisp interpreter and the lower level parts of the editor "
+"together, so that parts of the editor were built-in Lisp facilities. Those "
+"would be whatever parts we felt we had to optimize. This was a technique "
+"that we had already consciously practiced in the original Emacs, because "
+"there were certain fairly high level features which we re-implemented in "
+"machine language, making them into <acronym>TECO</acronym> primitives. For "
+"instance, there was a <acronym>TECO</acronym> primitive to fill a paragraph "
+"(actually, to do most of the work of filling a paragraph, because some of "
+"the less time-consuming parts of the job would be done at the higher level "
+"by a <acronym>TECO</acronym> program). You could do the whole job by writing "
+"a <acronym>TECO</acronym> program, but that was too slow, so we optimized it "
+"by putting part of it in machine language. We used the same idea here (in "
+"the hybrid technique), that most of the editor would be written in Lisp, but "
+"certain parts of it that had to run particularly fast would be written at a "
+"lower level."
+msgstr ""
+"æ¤æ¶ï¼äººä»¬å¼å§æèä»ä»¬è¦ææ ·å¨ä¸ä¸ªå¹¶æ²¡æå
¨é¨Lispæ¯æçå¹³å°ä¸åå°è¿ä¸åã"
+"Multics
MacLispæ¢æç¼è¯å¨ï¼ä¹æ解é娗å®æ¯ä¸ä¸ªå®æ´çLisp系绗ä½æ¯"
+"人们æ³è¦çæ¯å¨å
¶ä»æ²¡æLispç¼è¯å¨çç³»ç»ä¸å®ç°ç±»ä¼¼çä¸è¥¿ãä¸è¿ï¼å¦æä½
没æLisp"
+"ç¼è¯å¨ï¼ä½ æ
æ³ç¨Lispç¼åæ´ä¸ªç¼è¾å¨—å¦æåªè½è¿è¡è§£éå¨çè¯ï¼å®å¤ªæ
¢äºï¼å°¤"
+"å
¶æ¯æ¾ç¤ºå·æ°ãå æ¤æ们å¼åäºä¸é¡¹æ··åææ¯ãå
¶ææ³æ¯åä¸ä¸ªLisp解éå¨åç¼è¾å¨ç"
+"åºå±é¨åï¼æä»ä»¬ç»åå¨ä¸èµ·ï¼è¿æ ·ç¼è¾å¨å°±å
ç½®äºLispåè½ãè¿äºå°±æ¯æ们éè¦ä¼å"
+"çé¨åãè¿é¡¹ææ¯æ¯æ们已ç»å¨åå§çEmacsä¸ææè¯å°å®è·µäºçææ¯ï¼å
为æ们ç¨æºå¨"
+"è¯è¨éæ°ç¼åäºæäºç¸å½ä¸å±çåè½ï¼å¹¶ä¸æå®ä»¬ä½ä¸º<acronym>TECO</acronym>çåºæ¬"
+"å½ä»¤ãæ¯å¦ï¼<acronym>TECO</acronym>æä¸ä¸ªå¡«å
段è½çåºæ¬å½ä»¤ï¼å®é
ä¸ï¼æ¯å®æå¡«"
+"å
段è½ç大å¤æ°å·¥ä½ï¼å 为å
¶ä¸ä¸äºä¸èæ¶çå·¥ä½å¯ä»¥å¨ä¸å±ç±ä¸ä¸ª<acronym>TECO</"
+"acronym>ç¨åºæ¥å®æï¼ãä½
å¯ä»¥ç¼åä¸ä¸ª<acronym>TECO</acronym>ç¨åºæ¥å®ææ´ä¸ªä»»"
+"å¡ï¼ä½æ¯å®å¤ªæ
¢äºï¼æ以æ们对å
¶é¨å使ç¨äºæºå¨è¯è¨ååºä¼åãå¨æ¤ï¼ææ··åæ"
+"æ¯ï¼ï¼ç¼è¾å¨çç»å¤§é¨åæ¯ç¨Lispç¼åçï¼ä½æ¯é£äºéè¦é常快éè¿è¡çé¨åæ¯ç¨åºå±"
+"è¯è¨åçã"
+
+#. type: Content of: <p>
+msgid ""
+"Therefore, when I wrote my second implementation of Emacs, I followed the "
+"same kind of design. The low level language was not machine language "
+"anymore, it was C. C was a good, efficient language for portable programs to "
+"run in a Unix-like operating system. There was a Lisp interpreter, but I "
+"implemented facilities for special purpose editing jobs directly in C "
+"— manipulating editor buffers, inserting leading text, reading and "
+"writing files, redisplaying the buffer on the screen, managing editor "
+"windows."
+msgstr ""
+"å æ¤ï¼å½æç¼å第äºçEmacsæ¶ï¼æéç¨äºåæ
·ç设计ãåºå±çè¯è¨ä¸åæ¯æºå¨è¯è¨ï¼è"
+"æ¯Cãå°±ç¼åè¿è¡å¨ç±»Unixç³»ç»ä¸çå¯ç§»æ¤ç¨åºæ¥è¯´ï¼Cæ¯ä¸ä¸ªä¼ç§çãé«æçè¯è¨ãè½"
+"ç¶æä¸ä¸ªLisp解éå¨ï¼ä½æ¯æç´æ¥ç¨Cå®ç°äºä¸äºç¹å®çç¼è¾å轗管çç¼è¾å¨ç"
+"ç¼åãæå
¥èµ·å§ææ¬ã读åæ件ãå·æ°å±å¹æ¾ç¤ºä»¥å管çç¼è¾çªå£ã"
+
+#. type: Content of: <p>
+msgid ""
+"Now, this was not the first Emacs that was written in C and ran on Unix. The "
+"first was written by James Gosling, and was referred to as GosMacs. A "
+"strange thing happened with him. In the beginning, he seemed to be "
+"influenced by the same spirit of sharing and cooperation of the original "
+"Emacs. I first released the original Emacs to people at <abbr>MIT</abbr>. "
+"Someone wanted to port it to run on Twenex — it originally only ran on "
+"the Incompatible Timesharing System we used at <abbr>MIT</abbr>. They ported "
+"it to Twenex, which meant that there were a few hundred installations around "
+"the world that could potentially use it. We started distributing it to them, "
+"with the rule that “you had to send back all of your "
+"improvements” so we could all benefit. No one ever tried to enforce "
+"that, but as far as I know people did cooperate."
+msgstr ""
+"å½æ¶ï¼å®ä¸åæ¯ç¬¬ä¸ä¸ªç¨Cç¼å并è¿è¡å¨Unixä¸çEmacsäºã第ä¸ä¸ªæ¯ç±James
Goslingå®"
+"æçï¼å°±æ¯GosMacsãä»æäºå¥æªãä¸å¼å§ï¼ä»çæ¥è¿æ¯åå°äºåå§Emacsçåä½åå享"
+"ç²¾ç¥çå½±åãæé¦å
å¨<abbr>MIT</abbr>å人们åå¸äºEmacsãæ人æ³è¦æå®ç§»æ¤å°"
+"Twenex系绗å®æååªè¿è¡å¨æ们å¨<abbr>MIT</abbr>使ç¨çä¸å
¼å®¹åæ¶ç³»ç»ä¸ã"
+"人们æå®ç§»æ¤å°äºTwenexä¸ï¼è¿æå³çä¸çä¸å¯è½ææ°ç¾ä¸ªè®¾å¤å¯ä»¥å®è£
该Emacsãæ们"
+"å¼å§åå¸è¯¥çæ¬ï¼åè¡éµå¾ªçæ¯“ä½ å¿
é¡»ååææçæ¹è¿”è¿æ ·å¤§å®¶é½å"
+"çã没æ人ä¼å»æ强è°è¿ä¸ªè§åï¼ä½æ¯å°±ææç¥äººä»¬é½æ¯åä½çã"
+
+#. type: Content of: <p>
+msgid ""
+"Gosling did, at first, seem to participate in this spirit. He wrote in a "
+"manual that he called the program Emacs hoping that others in the community "
+"would improve it until it was worthy of that name. That's the right approach "
+"to take towards a community — to ask them to join in and make the "
+"program better. But after that he seemed to change the spirit, and sold it "
+"to a company."
+msgstr ""
+"Goslingä¸å¼å§ï¼çç¡®çèµ·æ¥æ¯ä»¥è¿æ
·çç²¾ç¥åä¸çãä»å¨ä¸ä¸ªä½¿ç¨æåé称æ¤ç¨åºä¸º"
+"Emacsï¼å¸æ社åºè½å¤æ¹åä¹ï¼ä½¿ä¹é
å¾ä¸è¿ä¸ªååãè¿æ¯åä¸ç¤¾åºçæ£ç¡®æ¹å¼—"
+"请大家åä¸å¹¶ä½¿ç¨åºæ´å¥½ãä½æ¯å¨æ¤ä¹åï¼ä»ä¼¼ä¹æ¹åäºæ度ï¼å¹¶æç¨åºåç»äºä¸ä¸ªå
¬"
+"å¸ã"
+
+#. type: Content of: <p>
+msgid ""
+"At that time I was working on the GNU system (a free software Unix-like "
+"operating system that many people erroneously call “Linux”). "
+"There was no free software Emacs editor that ran on Unix. I did, however, "
+"have a friend who had participated in developing Gosling's Emacs. Gosling "
+"had given him, by email, permission to distribute his own version. He "
+"proposed to me that I use that version. Then I discovered that Gosling's "
+"Emacs did not have a real Lisp. It had a programming language that was known "
+"as ‘mocklisp’, which looks syntactically like Lisp, but didn't "
+"have the data structures of Lisp. So programs were not data, and vital "
+"elements of Lisp were missing. Its data structures were strings, numbers "
+"and a few other specialized things."
+msgstr ""
+"é£æ¶ï¼ææ£å¨ä¸ºGNUç³»ç»èå¿ç¢ï¼ä¸ä¸ªç±»ä¼¼Unixçèªç±è½¯ä»¶æä½ç³»ç»ï¼è®¸å¤äººé误å°ç§°ä¹"
+"为“Linux”ï¼ãé£æ¶å¹¶æ²¡æè·å¨Unixä¸çèªç±è½¯ä»¶ççEmacsç¼è¾å¨ãä¸"
+"è¿ï¼ææä¸ä¸ªåä¸äºGoslingçEmacså¼åçæåãGoslingéè¿é®ä»¶ç»äºä»åå¸èªå·±çæ¬"
+"ç许å¯ãä»å»ºè®®æ使ç¨ä»ççæ¬ãç¶åï¼æåç°GoslingçEmacs带çä¸æ¯ççLispãå®"
+"带çç¼ç¨è¯è¨æ¯‘mocklisp’ï¼å
¶è¯æ³çèµ·æ¥åæ¯Lispï¼ä½æ¯æ²¡æLispçæ°"
+"æ®ç»æãæ以å
¶ç¨åºä¸æ¯æ°æ®ï¼èä¸ä¹ç¼ºå¤±Lispçéè¦å
ç´
ãå
¶æ°æ®ç»ææ¯å符串ãæ°"
+"ååå
¶ä»ä¸äºä¸é¨ç»æã"
+
+#. type: Content of: <p>
+msgid ""
+"I concluded I couldn't use it and had to replace it all, the first step of "
+"which was to write an actual Lisp interpreter. I gradually adapted every "
+"part of the editor based on real Lisp data structures, rather than ad hoc "
+"data structures, making the data structures of the internals of the editor "
+"exposable and manipulable by the user's Lisp programs."
+msgstr ""
+"æå¾åºæä¸è½ä½¿ç¨è¯¥ç¨åºå¹¶ä¸è¦å®å
¨æ¿æ¢è¯¥ç¨åºçç»è®ºï¼ç¬¬ä¸æ¥å°±æ¯ç¼åä¸ä¸ªçæ£ç"
+"Lisp解éå¨ãæéæ¥ç¨çæ£çLispæ°æ®ç»ææ¿æ¢äºè¯¥ç¼è¾å¨çæ¯ä¸ªé¨åï¼èä¸æ¯ä½¿ç¨å
¶"
+"ä¸é¨çæ°æ®ç»æï¼å¹¶ä½¿ç¼è¾å¨çå
é¨æ°æ®ç»æ对ç¨æ·çLispç¨åºå¼æ¾ï¼ä½¿ç¨æ·ç¨åºè½å¤"
+"å¤çç¼è¾å¨å
é¨æ°æ®ã"
+
+#. type: Content of: <p>
+msgid ""
+"The one exception was redisplay. For a long time, redisplay was sort of an "
+"alternate world. The editor would enter the world of redisplay and things "
+"would go on with very special data structures that were not safe for garbage "
+"collection, not safe for interruption, and you couldn't run any Lisp "
+"programs during that. We've changed that since — it's now possible to "
+"run Lisp code during redisplay. It's quite a convenient thing."
+msgstr ""
+"æ¾ç¤ºå·æ°æ¯ä¸ªä¾å¤ãå¾é¿æ¶é´ä»¥æ¥ï¼æ¾ç¤ºå·æ°åæ¯ä¸ä¸ªå¦ç±»ä¸çãç¼è¾å¨ä¸æ¦è¿å
¥æ¾ç¤º"
+"å·æ°çä¸çï¼äºæ
å°±åæ对åå¾æ°æ®æ¶éä¸å®å
¨çé常ç¹æ®çæ°æ®ç»æï¼å®ä»¬å¯¹ä¸æå¤"
+"çä¹ä¸å®å
¨ï¼èä¸ä½ å¨æ¤è¿ç¨ä¸æ
æ³è¿è¡ä»»ä½Lispç¨åºãæ们已ç»ä¿®æ¹äºè¿é¨å—"
+"ç°å¨ä½ å¨æ¾ç¤ºå·æ°æ¶ä¹å¯ä»¥è¿è¡Lisp代ç
ãè¿æ¯ä¸ä»¶å¾ä¾¿å©çäºã"
+
+#. type: Content of: <p>
+msgid ""
+"This second Emacs program was ‘free software’ in the modern "
+"sense of the term — it was part of an explicit political campaign to "
+"make software free. The essence of this campaign was that everybody should "
+"be free to do the things we did in the old days at <abbr>MIT</abbr>, working "
+"together on software and working with whomever wanted to work with us. That "
+"is the basis for the free software movement — the experience I had, "
+"the life that I've lived at the <abbr>MIT</abbr> AI lab — to be "
+"working on human knowledge, and not be standing in the way of anybody's "
+"further using and further disseminating human knowledge."
+msgstr ""
+"è¿ä¸ªç¬¬äºççEmacs毑èªç±è½¯ä»¶’以该è¯æ±çå½ä»æä¹æ¥è¯´—å®æ¯å"
+"äºè½¯ä»¶èªç±çæ¿æ²»è¿å¨çä¸é¨åã该è¿å¨çç²¾é«å°±æ¯æ¯ä¸ªäººé½åºè¯¥æèªç±åæ们å¨"
+"<abbr>MIT</abbr>çé£æ®µå²æåçäºï¼ä¸èµ·å¼å软件ï¼åªè¦æ¿æå°±å¯ä»¥ä¸èµ·å·¥ä½ãè¿å°±"
+"æ¯èªç±è½¯ä»¶çåºç¡—ä¹æ¯æçç»åï¼æ¯æå¨<abbr>MIT</abbr>人工æºè½å®éªå®¤çç"
+"æ´»—为人类çç¥è¯èå·¥ä½ï¼èä¸æ¯é»ç¢å
¶ä»äººä½¿ç¨åä¼
æ人类çç¥è¯ã"
+
+#. type: Content of: <p>
+msgid ""
+"At the time, you could make a computer that was about the same price range "
+"as other computers that weren't meant for Lisp, except that it would run "
+"Lisp much faster than they would, and with full type checking in every "
+"operation as well. Ordinary computers typically forced you to choose between "
+"execution speed and good typechecking. So yes, you could have a Lisp "
+"compiler and run your programs fast, but when they tried to take <tt>car</"
+"tt> of a number, it got nonsensical results and eventually crashed at some "
+"point."
+msgstr ""
+"é£æ¶ï¼ä½ å¯ä»¥ç¨åé éLispä¸ç¨æºå·®ä¸å¤çä»·é±é
ä¸å°çµèï¼å®è¿è¡Lispçé度è¦å¿«å¾"
+"å¤ï¼èä¸å¯¹æ¯ä¸ªæ令é½åç±»åæ£æ¥ãæ®éçµèä¸è¬æ¯è®©ä½
å¨è¿è¡é度åç±»åæ£æ¥ä¹é´é"
+"ä¸ä¸ªãæ以ï¼æ¯çï¼ä½ å¯è½ä½¿ç¨Lispç¼è¯å¨è®©ä½
çç¨åºè¿è¡å¾å¿«ï¼ä½æ¯å¦æä½ å¯¹æ°åå"
+"<tt>car</tt><sup><a href=\"#TransNote1\">1</a></sup>æ¶ï¼ç»ææ¯æ
æçï¼æç»å¯¼"
+"è´ç¨åºå´©æºã"
+
+#. type: Content of: <p>
+msgid ""
+"The Lisp machine was able to execute instructions about as fast as those "
+"other machines, but each instruction — a car instruction would do data "
+"typechecking — so when you tried to get the car of a number in a "
+"compiled program, it would give you an immediate error. We built the machine "
+"and had a Lisp operating system for it. It was written almost entirely in "
+"Lisp, the only exceptions being parts written in the microcode. People "
+"became interested in manufacturing them, which meant they should start a "
+"company."
+msgstr ""
+"该Lispçµèè¿è¡æ令çé度å ä¹åå
¶ä»çµèä¸æ
·å¿«ï¼ä½æ¯å®å¯¹æ¯ä¸ªæ令—caræ令"
+"é½ä¼åæ°æ®ç±»åæ£æ¥—æ以å½ä½
å¨ç¼è¯è¿çç¨åºéè¯å¾ç¨caræ令å¤çæ°åæ¶ï¼ç³»"
+"ç»ä¼ç«å³æ¥éãæ们å¶é
äºè¿ç§çµè并ä¸æä¸ä¸ªä¸é¨çLispæä½ç³»ç»ã该系ç»å ä¹å®å
¨"
+"æ¯ç¨Lispç¼åçï¼åªæä¸é¨åæ¯ç¨microcodeç¼åçã人们对大è§æ¨¡é
è¿ç§æºå¨å¾æå
´"
+"趣ï¼è¿æå³çä»ä»¬åºè¯¥å¼ä¸ªå
¬å¸ã"
+
+#. type: Content of: <p>
+msgid ""
+"There were two different ideas about what this company should be like. "
+"Greenblatt wanted to start what he called a “hacker” company. "
+"This meant it would be a company run by hackers and would operate in a way "
+"conducive to hackers. Another goal was to maintain the AI Lab culture <a "
+"href=\"#foot-3\">(3)</a>. Unfortunately, Greenblatt didn't have any "
+"business experience, so other people in the Lisp machine group said they "
+"doubted whether he could succeed. They thought that his plan to avoid "
+"outside investment wouldn't work."
+msgstr ""
+"对å¼ä»ä¹æ ·çå
¬å¸ï¼å¤§å®¶æ两ç§ä¸åçæ³æ³ãGreenblattæ³å¼ä¸ä¸ªä»ç§°ä¹ä¸º“é»å®¢"
+"”çå
¬å¸ãè¿æå³ç该å
¬å¸ä¼ç±é»å®¢è¿ä½å¹¶ä¸ä»¥æå©äºé»å®¢çæ¹å¼è¿ä½ãå¦ä¸ä¸ªç®"
+"çæ¯è¦ä¿æ人工æºè½å®éªå®¤çæå<a
href=\"#foot-3\">(3)</a>ãä¸å¹¸çæ¯ï¼"
+"Greenblatt没æä»»ä½åä¸ç»éªï¼æ以Lispçµèå¢éçå
¶ä»äººå¯¹Greenblattä¼ä¸ä¼æå表"
+"示æçãä»ä»¬è®¤ä¸ºä»æç»å¤é¨èµéçåæ³è¡ä¸éã"
+
+#. type: Content of: <p>
+msgid ""
+"Why did he want to avoid outside investment? Because when a company has "
+"outside investors, they take control and they don't let you have any "
+"scruples. And eventually, if you have any scruples, they also replace you as "
+"the manager."
+msgstr ""
+"ä»ä¸ºä»ä¹è¦é¿å
å¤é¨æèµå¢ï¼å 为å¦æä¸ä¸ªå
¬å¸å¼å
¥äºå¤é¨æèµè
ï¼ä»ä»¬å°±ä¼ææ§å
¬å¸"
+"并ä¸ä¸ä¼è®©ä½ æä»»ä½éå¾·ä¸çç¹è±«ãæç»ï¼å¦æä½
ç¨æç¹è±«ï¼ä»ä»¬ä¹ä¼è¸¢å¼ä½ ã"
+
+#. type: Content of: <p>
+msgid ""
+"So Greenblatt had the idea that he would find a customer who would pay in "
+"advance to buy the parts. They would build machines and deliver them; with "
+"profits from those parts, they would then be able to buy parts for a few "
+"more machines, sell those and then buy parts for a larger number of "
+"machines, and so on. The other people in the group thought that this "
+"couldn't possibly work."
+msgstr ""
+"æ以ï¼Greenblatt认为ä»å¯ä»¥æ¾å°é¢å
ä»æ¬¾ç客æ·ãä»ä»¬åé
çµèåéç»è¯¥å®¢æ·ï¼æäº"
+"è¿äºå©æ¶¦ä¹åï¼ä»ä»¬å°±å¯ä»¥åé
æ´å¤ççµèï¼ç¶ååéå®ï¼ç¶ååé æ´å¤ççµèï¼å¦æ¤"
+"è¿è¡ä¸å»ãç»å
çå
¶ä»äººè§å¾è¿æ ·ä¸è¡ã"
+
+#. type: Content of: <p>
+msgid ""
+"Greenblatt then recruited Russell Noftsker, the man who had hired me, who "
+"had subsequently left the AI Lab and created a successful company. Russell "
+"was believed to have an aptitude for business. He demonstrated this aptitude "
+"for business by saying to the other people in the group, “Let's ditch "
+"Greenblatt, forget his ideas, and we'll make another company.” "
+"Stabbing in the back, clearly a real businessman. Those people decided they "
+"would form a company called Symbolics. They would get outside investment, "
+"not have scruples, and do everything possible to win."
+msgstr ""
+"ç¶åï¼Greenblattå°±éä½£äºRussell
Noftskerï¼å°±æ¯ææè¿æ¥ç人ï¼ä»åæ¥ç¦»å¼äºäººå·¥"
+"æºè½å®éªå®¤å¹¶å¼åäºä¸ä¸ªæåçå
¬å¸ãRussell被认为å¾æåä¸å¤´èãä»åç»å
çå
¶ä»äºº"
+"å±ç¤ºäºä»çåä¸ææºï¼ä»è¯´ï¼“æ们æå¼Greenblattï¼ä¸è¦ç®¡ä»çæ³æ³ï¼æ们å»å¼"
+"å¦ä¸é´å
¬å¸ã”èåæ
ååï¼ææ¾æ¯çæ£ççæ人ãè¿äºäººå³å®å¼ä¸ä¸ªå«"
+"Symbolicsçå
¬å¸ãä»ä»¬å¸çº³å¤é¨æèµãä¸ä¼æä»»ä½è¯å¿ä¸å®ãç«å°½æè½è·åæåã"
+
+#. type: Content of: <p>
+msgid ""
+"But Greenblatt didn't give up. He and the few people loyal to him decided to "
+"start Lisp Machines Inc. anyway and go ahead with their plans. And what do "
+"you know, they succeeded! They got the first customer and were paid in "
+"advance. They built machines and sold them, and built more machines and more "
+"machines. They actually succeeded even though they didn't have the help of "
+"most of the people in the group. Symbolics also got off to a successful "
+"start, so you had two competing Lisp machine companies. When Symbolics saw "
+"that LMI was not going to fall flat on its face, they started looking for "
+"ways to destroy it."
+msgstr ""
+"ä½æ¯Greenblatt并没ææ¾å¼ãä»åå°æ°å¿
è¯äºä»ç人è¿æ¯å³å®å¼åäºLisp Machineså
¬"
+"å¸ï¼å¹¶æèªå·±ç计ååè¿ãä½
çæä¹çï¼ä»ä»¬æåäºï¼ä»ä»¬æ¾å°äºä¸ä¸ªé¢å
ä»æ¬¾ç客"
+"æ·ãä»ä»¬å¶é äºçµè并åäºåºå»ï¼å¹¶å¶é
äºè¶æ¥è¶å¤ççµèã尽管没æç»å
å¤æ°äººçæ¯"
+"æï¼ä»ä»¬å®é
ä¸è¿æ¯æåäºãSymbolicsä¹æåå°å¯å¨äºï¼æ以ä½
æ两家äºç¸ç«äºçLisp"
+"çµèå
¬å¸ãå½Symbolicsçå°LMIä¸æ¯èµ°å失败æ¶ï¼ä»ä»¬å¼å§å¯»æºæç
´åã"
+
+#. type: Content of: <p>
+msgid ""
+"Thus, the abandonment of our lab was followed by “war” in our "
+"lab. The abandonment happened when Symbolics hired away all the hackers, "
+"except me and the few who worked at LMI part-time. Then they invoked a rule "
+"and eliminated people who worked part-time for <abbr>MIT</abbr>, so they had "
+"to leave entirely, which left only me. The AI lab was now helpless. And "
+"<abbr>MIT</abbr> had made a very foolish arrangement with these two "
+"companies. It was a three-way contract where both companies licensed the "
+"use of Lisp machine system sources. These companies were required to let "
+"<abbr>MIT</abbr> use their changes. But it didn't say in the contract that "
+"<abbr>MIT</abbr> was entitled to put them into the <abbr>MIT</abbr> Lisp "
+"machine systems that both companies had licensed. Nobody had envisioned that "
+"the AI lab's hacker group would be wiped out, but it was."
+msgstr ""
+"å
æ¤ï¼å®éªå®¤ç被离å¼æ¥çæ¯å®éªå®¤ç“æ五ã离å¼æ¯å
为Symbolicsæèµ°"
+"äºå®éªå®¤çææé»å®¢ï¼åªå©ä¸æåå 个å¨LMIå
¼èç人ãç¶åï¼ä»ä»¬åæ´å¼æ¡ä¾æå¨"
+"<abbr>MIT</abbr>å
¼èç人赶走ï¼å æ¤ä»ä»¬å
¨é½èµ°äºï¼åªå©ä¸æã人工æºè½å®éªå®¤ç°å¨"
+"没ä»ä¹å¸æäºãèä¸<abbr>MIT</abbr>对è¿ä¸¤ä¸ªå
¬å¸åäºé常æè
¢çå®æãè¿æ¯ä¸ä¸ªä¸"
+"æ¹ååï¼å
¶ä¸ä¸¤å®¶å
¬å¸é½è¢«ææ使ç¨Lispçµèç³»ç»çæºä»£ç
ãè¿ä¸¤å®¶å
¬å¸é½éè¦è®©"
+"<abbr>MIT</abbr>使ç¨ä»ä»¬çæ´æ¹ãä½æ¯åå没æ说<abbr>MIT</abbr>ææå°è¿äºä»£ç
"
+"æ¾å
¥ç±ä¸¤å®¶å
¬å¸ææç<abbr>MIT</abbr>Lispçµèç³»ç»ã没æ人é¢è§å°å®éªå®¤çé»å®¢å°"
+"ç»ä¼è¢«å½»åºæ¯çï¼ä½æ¯å®å°±æ¯è¢«æ¯çäºã"
+
+#. type: Content of: <p>
+msgid ""
+"So Symbolics came up with a plan <a href=\"#foot-4\">(4)</a>. They said to "
+"the lab, “We will continue making our changes to the system available "
+"for you to use, but you can't put it into the <abbr>MIT</abbr> Lisp machine "
+"system. Instead, we'll give you access to Symbolics' Lisp machine system, "
+"and you can run it, but that's all you can do.”"
+msgstr ""
+"äºæ¯ï¼Symbolicså¯å¨äºä¸ä¸ªè®¡å<a
href=\"#foot-4\">(4)</a>ãä»ä»¬å¯¹å®éªå®¤è¯´ï¼"
+"“æ们ä¼æç»è®©ä½ 们使ç¨æ们çç³»ç»æ¹è¿ï¼ä½æ¯ä½
们ä¸è½æè¿äºæ¹è¿è£
å°"
+"<abbr>MIT</abbr>çLispçµèç³»ç»ä¸ãä¸è¿ï¼æ们ä¼è®©ä½
们使ç¨SymbolicsçLispçµèç³»"
+"ç»ï¼ä½ 们å¯ä»¥å¨è¿äºç³»ç»ä¸è¿è¡æ¹è¿çï¼ä½æ¯ä»
æ¤èå·²ã”"
+
+#. type: Content of: <p>
+msgid ""
+"This, in effect, meant that they demanded that we had to choose a side, and "
+"use either the <abbr>MIT</abbr> version of the system or the Symbolics "
+"version. Whichever choice we made determined which system our improvements "
+"went to. If we worked on and improved the Symbolics version, we would be "
+"supporting Symbolics alone. If we used and improved the <abbr>MIT</abbr> "
+"version of the system, we would be doing work available to both companies, "
+"but Symbolics saw that we would be supporting LMI because we would be "
+"helping them continue to exist. So we were not allowed to be neutral anymore."
+msgstr ""
+"è¿å®é
ä¸æ¯è¦æ±æ们åªè½éæ©ä¸è¾¹ï¼è¦ä¹ä½¿ç¨<abbr>MIT</abbr>çç³»ç»çæ¬ï¼è¦ä¹ä½¿ç¨"
+"Symbolicsççæ¬ãæ们éæ©åªä¸è¾¹ï¼å°±å³å®äºæ们çç³»ç»æ¹è¿ä¼è¿å
¥å°åªä¸è¾¹ãå¦ææ"
+"们为æ¹è¿Symbolicsççæ¬èå·¥ä½ï¼æ们就åªæ¯å¨å¸®å©Symbolicsãå¦ææ们使ç¨åæ¹è¿"
+"<abbr>MIT</abbr>çç³»ç»çæ¬ï¼ä¸¤ä¸ªå
¬å¸é½è½å¤å¾å°æ们çå·¥ä½ï¼ä½æ¯Symbolics认为è¿"
+"æ¯å¨æ¯æLMIï¼å 为è¿ä¼å¸®å©LMIçåä¸å»ãå æ¤ï¼æ们ä¸è¢«å
许åä¿æä¸ç«ã"
+
+#. type: Content of: <p>
+msgid ""
+"Up until that point, I hadn't taken the side of either company, although it "
+"made me miserable to see what had happened to our community and the "
+"software. But now, Symbolics had forced the issue. So, in an effort to "
+"help keep Lisp Machines Inc. going <a href=\"#foot-5\">(5)</a> — I "
+"began duplicating all of the improvements Symbolics had made to the Lisp "
+"machine system. I wrote the equivalent improvements again myself (i.e., the "
+"code was my own)."
+msgstr ""
+"ç´å°æ¤æ¶ï¼æé½æ²¡æç«å¨å
¶ä¸ä»»ä½ä¸ä¸ªå
¬å¸çä¸è¾¹ï¼è½ç¶æçå°ç¤¾åºå软件åççä¸å"
+"æå°é常é¾åãä½æ¯ç°å¨ï¼Symbolics强迫æååºéæ©ãæ以ï¼ä¸ºäºä½¿Lisp
Machineså
¬"
+"å¸è½å¤ç»§ç»<a
href=\"#foot-5\">(5)</a>—æå¼å§å¤å¶Symbolics对Lispçµèç³»ç»"
+"æä½çå
¨é¨æ¹è¿ãææè¿äºæ¹è¿ç¨èªå·±çæ³æ³åæ
·å®ç°åºæ¥ï¼å°±æ¯è¯´ï¼ä»£ç æ¯æèªå·±å"
+"çï¼ã"
+
+#. type: Content of: <p>
+msgid ""
+"After a while <a href=\"#foot-6\">(6)</a>, I came to the conclusion that it "
+"would be best if I didn't even look at their code. When they made a beta "
+"announcement that gave the release notes, I would see what the features were "
+"and then implement them. By the time they had a real release, I did too."
+msgstr ""
+"è¿äºä¸éµï¼<a
href=\"#foot-6\">(6)</a>ï¼æå¾åºç»è®ºï¼ä¸çä»ä»¬ç代ç
å¯è½æ´å¥½ãå½"
+"ä»ä»¬å®£å¸betaçæ¶ï¼éè¿çåå¸å£°æï¼æç¥éäºæä»ä¹åè½ï¼ç¶åèªå·±å®ç°å®ä»¬ãå½ä»"
+"们åè¡æ£å¼çæ¶ï¼æä¹å®ç°äºè¿äºåè½ã"
+
+#. type: Content of: <p>
+msgid ""
+"In this way, for two years, I prevented them from wiping out Lisp Machines "
+"Incorporated, and the two companies went on. But, I didn't want to spend "
+"years and years punishing someone, just thwarting an evil deed. I figured "
+"they had been punished pretty thoroughly because they were stuck with "
+"competition that was not leaving or going to disappear <a href="
+"\"#foot-7\">(7)</a>. Meanwhile, it was time to start building a new "
+"community to replace the one that their actions and others had wiped out."
+msgstr ""
+"å¦æ¤è¿æ ·ï¼æ两年çæ¶é´ï¼æé»æ¢ä»ä»¬æLisp Machineså
¬å¸æ¶çï¼è¿ä¸¤ä¸ªå
¬å¸åæ¶å"
+"å¨ãä½æ¯ï¼æä¸æ³è¿æ ·å¹´å¤ä¸å¹´å°æ©ç½ä¸ä¸ªäººï¼ä»
ä»
åªæ¯é»æ ä¸æ¡©ç½ªæ¶ãæè§å¾ä»ä»¬å·²"
+"ç»åå°äºå½»åºçæ©ç½ï¼å 为ä»ä»¬é·å
¥äºæ
æ³æè±çç«äºæ¼©æ¶¡ä¹ä¸<a href="
+"\"#foot-7\">(7)</a>ãä¸æ¤åæ¶ï¼æ¯æ¶ååå¼å§å建ä¸ä¸ªæ°ç社åºæ¥ä»£æ¿é£ä¸ªè¢«ä»ä»¬ä»¥"
+"åå
¶ä»äººæ¯çç社åºäºã"
+
+#. type: Content of: <p>
+msgid ""
+"The Lisp community in the 70s was not limited to the <abbr>MIT</abbr> AI "
+"Lab, and the hackers were not all at <abbr>MIT</abbr>. The war that "
+"Symbolics started was what wiped out <abbr>MIT</abbr>, but there were other "
+"events going on then. There were people giving up on cooperation, and "
+"together this wiped out the community and there wasn't much left."
+msgstr ""
+"70年代çLisp社åºä¸éäº<abbr>MIT</abbr>人工æºè½å®éªå®¤ï¼å¹¶ä¸æ¯ææçé»å®¢é½å¨"
+"<abbr>MIT</abbr>ãSymbolicsåèµ·çæäºæ¯çäº<abbr>MIT</abbr>社åºï¼ä½æ¯åæ¶è¿æ"
+"å
¶ä»äºä»¶å¨è¿è¡ãæ人æ¾å¼äºåä½ï¼è¿äºä¹æ¯çç社åºï¼ç¤¾åºæå©å¯¥å¯¥äºã"
+
+#. type: Content of: <p>
+msgid ""
+"Once I stopped punishing Symbolics, I had to figure out what to do next. I "
+"had to make a free operating system, that was clear — the only way "
+"that people could work together and share was with a free operating system."
+msgstr ""
+"ä¸æ¦æä¸åæ©ç½Symbolicsï¼æå°±ä¸å¾ä¸èèä¸ä¸æ¥åä»ä¹ãæå¿
é¡»åä¸ä¸ªèªç±çæä½ç³»"
+"ç»ï¼è¿å¾æ澗人们è½å¤ä¸èµ·å·¥ä½åå享çæ¹æ³å°±æ¯æä¸ä¸ªèªç±çæä½ç³»ç»ã"
+
+#. type: Content of: <p>
+msgid ""
+"At first, I thought of making a Lisp-based system, but I realized that "
+"wouldn't be a good idea technically. To have something like the Lisp machine "
+"system, you needed special purpose microcode. That's what made it possible "
+"to run programs as fast as other computers would run their programs and "
+"still get the benefit of typechecking. Without that, you would be reduced to "
+"something like the Lisp compilers for other machines. The programs would be "
+"faster, but unstable. Now that's okay if you're running one program on a "
+"timesharing system — if one program crashes, that's not a disaster, "
+"that's something your program occasionally does. But that didn't make it "
+"good for writing the operating system in, so I rejected the idea of making a "
+"system like the Lisp machine."
+msgstr ""
+"ä¸å¼å§ï¼ææ³è¦åä¸ä¸ªåºäºLispçç³»ç»ï¼ä½æ¯æ认è¯å°é£å¨ææ¯ä¸å¹¶ä¸ä¸ä¸ªå¥½ä¸»æãè¦"
+"ååLispçµèé£æ ·çç³»ç»ï¼ä½ éè¦ä¸ç¨ç微代ç ãè¿ç§å¾®ä»£ç
ä½¿ä½ è½å¤åå
¶ä»çµèä¸æ ·"
+"å¿«éå°æ§è¡ç¨åºï¼åæ¶è¿è½è·çäºç±»åæ£æ¥ã没æ微代ç
ï¼ä½ å°±åªç¸å½äºå
¶ä»æºå¨ä¸ç"
+"Lispç¼è¯å¨ãç¨åºå¯ä»¥æ´å¿«ï¼ä½æ¯å¹¶ä¸å®å
¨ãå¦æä½
å¨ä¸ä¸ªåæ¶ç³»ç»ä¸è¿è¡ä¸ä¸ªè¿æ ·ç"
+"ç¨åºè¿åå—ä¸ä¸ªç¨åºå´©æºå¹¶ä¸æ¯ç¾é¾ï¼ç¨æ·ç¨åºæ¶ä¸æ¶å°é½å¯è½ä¼å´©æºãä½æ¯è¿"
+"æ
·ç¼åæä½ç³»ç»å°±ä¸è¡ï¼æ以ææå¼äºå类似Lispçµèç³»ç»çæ³æ³ã"
+
+#. type: Content of: <p>
+msgid ""
+"I decided instead to make a Unix-like operating system that would have Lisp "
+"implementations to run as user programs. The kernel wouldn't be written in "
+"Lisp, but we'd have Lisp. So the development of that operating system, the "
+"GNU operating system, is what led me to write the GNU Emacs. In doing this, "
+"I aimed to make the absolute minimal possible Lisp implementation. The size "
+"of the programs was a tremendous concern."
+msgstr ""
+"æå³å®åä¸ä¸ªç±»ä¼¼Unixçæä½ç³»ç»ï¼å¯è½ä¼å¸¦ä¸ä¸ªè½å¤è¿è¡ç¨æ·ç¨åºçLispç¯å¢ãå
æ ¸"
+"ä¸å¿
æ¯ç¨Lispç¼åçï¼ä½æ¯æ们åºå½æLispãæ以æ£æ¯è¿ä¸ªæä½ç³»ç»ãGNUæä½ç³»ç»çå¼"
+"åæå¼æç¼åäºGNU
Emacsãå¨ç¼åçè¿ç¨ä¸ï¼æçç®çæ¯åä¸ä¸ªå°½å¯è½æå°çLispç³»"
+"ç»ã该ç¨åºç大å°æ¯é常éè¦çèéã"
+
+#. type: Content of: <p>
+msgid ""
+"There were people in those days, in 1985, who had one-megabyte machines "
+"without virtual memory. They wanted to be able to use GNU Emacs. This meant "
+"I had to keep the program as small as possible."
+msgstr ""
+"å¨1985å¹´ï¼æäºäººçµèçå
åæ¯ä¸å¸¦èæå
åç1å
åèãä»ä»¬ä¹æ³è¦è¿è¡GNU Emacsã"
+"è¿æå³çæå¿
须使该ç¨åºå°½å¯è½å°å°ã"
+
+#. type: Content of: <p>
+msgid ""
+"For instance, at the time the only looping construct was ‘"
+"while’, which was extremely simple. There was no way to break out of "
+"the ‘while’ statement, you just had to do a catch and a throw, "
+"or test a variable that ran the loop. That shows how far I was pushing to "
+"keep things small. We didn't have ‘caar’ and ‘cadr’ "
+"and so on; “squeeze out everything possible” was the spirit of "
+"GNU Emacs, the spirit of Emacs Lisp, from the beginning."
+msgstr ""
+"举个ä¾åï¼å½æ¶ç循ç¯ç»æåªæ‘while’ï¼å®ç®åå°æè´ãä½
æ æ³ç´æ¥è·³åº"
+"‘while’循ç¯ï¼ä½
åªè½è¿è¡ä¸æ¬¡å¼å¸¸æè·ï¼catchï¼åä¸æ¬¡å¼å¸¸æåº"
+"ï¼throwï¼ï¼æè
å¤ææ§å¶å¾ªç¯çåéãè¿ä¸ªä¾å说ææ为äºä½¿ç¨åºåå°ï¼ååºäºä»ä¹æ
·"
+"çåªåãæ们ä¹æ²¡æ‘caar’å‘cadr’ççæ令3尽å¯"
+"è½åå°ä¸å¿
è¦çä¸è¥¿”æ¯GNU Emacsçç²¾é«ï¼æ¯Emacs
Lispçç²¾é«ï¼ä»ä¸å¼å§å°±æ¯"
+"è¿æ ·ã"
+
+#. type: Content of: <p>
+msgid ""
+"Obviously, machines are bigger now, and we don't do it that way any more. We "
+"put in ‘caar’ and ‘cadr’ and so on, and we might put "
+"in another looping construct one of these days. We're willing to extend it "
+"some now, but we don't want to extend it to the level of common Lisp. I "
+"implemented Common Lisp once on the Lisp machine, and I'm not all that happy "
+"with it. One thing I don't like terribly much is keyword arguments <a href="
+"\"#foot-8\">(8)</a>. They don't seem quite Lispy to me; I'll do it "
+"sometimes but I minimize the times when I do that."
+msgstr ""
+"å½ç¶ï¼ç°å¨ççµè大äºï¼æ们ä¹ä¸å追æ±é£æ
·çæè´ãæ们å å
¥äº‘caar’"
+"å‘cadr’çæ令ï¼èä¸æ们æè¿ä¹ä¼æ·»å
å¦å¤ç循ç¯ç»æãç°å¨æ们æ¿æ"
+"æ©å±å®ï¼ä½æ¯æ们ä¸æ³æå®æ©å±æcommon Lispé£æ
·ãææ¾å¨Lispçµèä¸å®ç°è¿Common "
+"Lispï¼æ对ä¹å¹¶ä¸æ¯åå满æãå
¶ä¸æé常ä¸å欢çå°±æ¯å
³é®ååæ°<a href="
+"\"#foot-8\">(8)</a>ãå¨æçæ¥ï¼å®ä»¬ä¸ç®Lispyï¼è½ç¶æææ¶ä¹ç¨å
³é®åï¼ä½æ¯ææ"
+"æç¨ç次æ°æ§å¶å°æå°ã"
+
+#. type: Content of: <p>
+msgid ""
+"That was not the end of the GNU projects involved with Lisp. Later on around "
+"1995, we were looking into starting a graphical desktop project. It was "
+"clear that for the programs on the desktop, we wanted a programming language "
+"to write a lot of it in to make it easily extensible, like the editor. The "
+"question was what it should be."
+msgstr ""
+"è¿å¹¶ä¸æ¯GNUå·¥ç¨æ¶åLispçç»æãåæ¥å¨1995å¹´å·¦å³ï¼æ们计åå¯å¨ä¸ä¸ªå¾å½¢åæ¡é¢é¡¹"
+"ç®ãæ们å¾æ¸
æ¥è¯¥æ¡é¢ç¨åºç主è¦ç¼ç¨è¯è¨åºè¯¥è½å¤ä¾¿å©å°æ©å±è¯¥æ¡é¢ç¨åºï¼å°±åæ们"
+"çç¼è¾å¨ä¸æ ·ãé®é¢å¨äºè¿åºè¯¥æ¯ä¸ä¸ªä»ä¹è¯è¨ã"
+
+#. type: Content of: <p>
+msgid ""
+"At the time, <acronym title=\"Tool Command Language\">TCL</acronym> was "
+"being pushed heavily for this purpose. I had a very low opinion of "
+"<acronym>TCL</acronym>, basically because it wasn't Lisp. It looks a tiny "
+"bit like Lisp, but semantically it isn't, and it's not as clean. Then "
+"someone showed me an ad where Sun was trying to hire somebody to work on "
+"<acronym>TCL</acronym> to make it the “de-facto standard extension "
+"language” of the world. And I thought, “We've got to stop that "
+"from happening.” So we started to make Scheme the standard "
+"extensibility language for GNU. Not Common Lisp, because it was too large. "
+"The idea was that we would have a Scheme interpreter designed to be linked "
+"into applications in the same way <acronym>TCL</acronym> was linked into "
+"applications. We would then recommend that as the preferred extensibility "
+"package for all GNU programs."
+msgstr ""
+"æ¤æ¶ï¼<acronym title=\"Tool Command
Language\">TCL</acronym>ä½ä¸ºåéè¯è¨çå¼"
+"声å¾é«ãæé常çä¸ä¸<acronym>TCL</acronym>ï¼åºæ¬ä¸å
为å®ä¸æ¯Lispè¯è¨ãå®ç¨ç¨"
+"æç¹åLispï¼ä½æ¯å
¶è¯ä¹ä¸ä¸æ¯ï¼èä¸ä¹ä¸ç®æ´ãç¶åï¼æ人ç»æçäºä¸ä¸ªå¹¿åï¼å
¶ä¸"
+"说Sunå
¬å¸æ£è¯å¾é人æ<acronym>TCL</acronym>åæå
¨ä¸ç“æ©å±è¯è¨çå®è´¨æ "
+"å”ãæå¨æ³ï¼“æ们å¿
é¡»é»æ¢è¿ä»¶äº”ï¼æ以æ们å¼å§è®©Schemeæ为"
+"GNUçæ åæ©å±è¯è¨ãä¸æ¯Common Lispï¼å 为å®å¤ªåºå¤§äºãå
¶ææ³æ¯ï¼æ们æScheme解"
+"éå¨è¿æ¥å°åºç¨ç¨åºä¸ï¼å°±å<acronym>TCL</acronym>é£æ
·ãç¶åï¼æ们就å¯ä»¥å»ºè®®è¿"
+"æ¯ææGNUç¨åºé¦éçæ©å±å
ã"
+
+#. type: Content of: <p>
+msgid ""
+"There's an interesting benefit you can get from using such a powerful "
+"language as a version of Lisp as your primary extensibility language. You "
+"can implement other languages by translating them into your primary "
+"language. If your primary language is <acronym>TCL</acronym>, you can't very "
+"easily implement Lisp by translating it into <acronym>TCL</acronym>. But if "
+"your primary language is Lisp, it's not that hard to implement other things "
+"by translating them. Our idea was that if each extensible application "
+"supported Scheme, you could write an implementation of <acronym>TCL</"
+"acronym> or Python or Perl in Scheme that translates that program into "
+"Scheme. Then you could load that into any application and customize it in "
+"your favorite language and it would work with other customizations as well."
+msgstr ""
+"使ç¨è¿ä¸ªå¼ºå¤§çLispåæ¯è¯è¨ä½ä¸ºåºæ¬æ©å±è¯è¨ä¼ç»ä½
带æ¥ä¸ä¸ªæ趣ç好å¤ãä½ å°è½å¤"
+"æå
¶ä»è¯è¨ç¿»è¯æåºæ¬æ©å±è¯è¨æ¥å®ç°å
¶ä»è¯è¨ãå¦æä½
çåºæ¬è¯è¨æ¯<acronym>TCL</"
+"acronym>ï¼é£ä¹ä½
å°±ä¸è½å¤è½»æå°ç¨ç¿»è¯æ<acronym>TCL</acronym>æ¥å®ç°Lispãä½æ¯"
+"å¦æä½
çåºæ¬è¯è¨æ¯Lispï¼é£ä¹ç¿»è¯å°±ä¸æ¯é¾äºãæ们çæ³æ³æ¯ï¼å¦ææ¯ä¸ªæ©å±åºç¨é½"
+"æ¯æSchemeï¼é£ä¹ä½
å¯ä»¥ç¨Schemeå®ç°<acronym>TCL</acronym>æPythonæPerlï¼ç¨æ¥"
+"æåºç¨ç¿»è¯æSchemeãä¹åï¼ä½ å°±å¯ä»¥æå®å
è½½å°æ¯ä¸ªåºç¨ï¼ç¶åå°±å¯ä»¥ç¨èªå·±æåç±"
+"çè¯è¨æ¥å®å¶åºç¨äºï¼å
¶ä»å®å¶ä¹ç±»ä¼¼ã"
+
+#. type: Content of: <p>
+msgid ""
+"As long as the extensibility languages are weak, the users have to use only "
+"the language you provided them. Which means that people who love any given "
+"language have to compete for the choice of the developers of applications "
+"— saying “Please, application developer, put my language into "
+"your application, not his language.” Then the users get no choices at "
+"all — whichever application they're using comes with one language and "
+"they're stuck with [that language]. But when you have a powerful language "
+"that can implement others by translating into it, then you give the user a "
+"choice of language and we don't have to have a language war anymore. That's "
+"what we're hoping ‘Guile’, our scheme interpreter, will do. We "
+"had a person working last summer finishing up a translator from Python to "
+"Scheme. I don't know if it's entirely finished yet, but for anyone "
+"interested in this project, please get in touch. So that's the plan we have "
+"for the future."
+msgstr ""
+"å¦ææ©å±è¯è¨å¾å¼±ï¼ç¨æ·å°±ä¸å¾ä¸ä½¿ç¨ä½
æä¾çå¯ä¸è¯è¨ãè¿å°±æå³çï¼å欢ç¹å®è¯è¨"
+"ç人们å°ä¸å¾ä¸åå¼åè
éæ©çè¯è¨ç«äº—ä»ä»¬ä¼è¯´“åºç¨å¼åè
ï¼è¯·ææ"
+"çè¯è¨æ·»å å°ä½ çåºç¨ä¸ï¼èä¸æ¯æ·»å å«äººçã”è¿æ
·ï¼ç¨æ·å°±æ ¹æ¬æ²¡æéæ©çä½"
+"å°—ä»ä»¬åªè½æ¥ååºç¨å¸¦æ¥çè¯è¨ï¼å¹¶åå¶äº[该è¯è¨]ãä½æ¯å¦æä½
æä¸ä¸ªå¼ºå¤§ç"
+"è¯è¨ï¼å®è½å¤å®ç°å
¶ä»è¯è¨ï¼é£ä¹ä½
å°±ç»äºç¨æ·èªç±éæ©è¯è¨çæå©ï¼æ们就ä¸åæè¯"
+"è¨éæ©çæäºäºãè¿æ£æ¯æ们æå¸æç‘Guile’ï¼æ们çscheme解éå¨ï¼è½"
+"å¤åå°è¿ä¸åãå»å¹´å¤å¤©ï¼æ们æ人å®æäºä»Pythonå°Schemeçç¿»è¯å¨ãæä¸å¤ªç¡®å®è¿"
+"个æ¯å¦å·²ç»å
¨é¨å®æï¼ä¸è¿å¦ææ人对è¿ä¸ªé¡¹ç®æå
´è¶£ï¼è¯·èç³»æ们ãè¿å°±æ¯æ们æªæ¥"
+"ç计åã"
+
+#. type: Content of: <p>
+msgid ""
+"I haven't been speaking about free software, but let me briefly tell you a "
+"little bit about what that means. Free software does not refer to price; it "
+"doesn't mean that you get it for free. (You may have paid for a copy, or "
+"gotten a copy gratis.) It means that you have freedom as a user. The crucial "
+"thing is that you are free to run the program, free to study what it does, "
+"free to change it to suit your needs, free to redistribute the copies of "
+"others and free to publish improved, extended versions. This is what free "
+"software means. If you are using a non-free program, you have lost crucial "
+"freedom, so don't ever do that."
+msgstr ""
+"æä¸ç´æ²¡ææèªç±è½¯ä»¶ï¼ä¸è¿ç°å¨è®©æç®å说ä¸ä¸å®çæä¹ãèªç±è½¯ä»¶æçä¸æ¯ä»·æ
¼ï¼"
+"å®çææä¸æ¯ä½ å¯ä»¥å
è´¹å¾å°ç软件ãï¼å®å¯ä»¥æ¯ä½
ä»è´¹å¾å°ç软件ï¼ä¹å¯ä»¥æ¯ä½ å
è´¹"
+"è·å¾çæ·è´ãï¼å®çæææ¯ä½ä¸ºç¨æ·ï¼ä½ æä¸äºèªç±ãå
¶ä¸çå
³é®æ¯ä½ æèªç±è¿è¡è¯¥è½¯"
+"件ãä½ æèªç±ç 究å
¶æä½æ为ãä½ æèªç±æç
§èªå·±çéæ±ä¿®æ¹è¯¥è½¯ä»¶ãä½ æèªç±åå
¶ä»"
+"人åå¸è¯¥è½¯ä»¶ä»¥ååå¸ä¿®æ¹åç软件ãè¿å°±æ¯èªç±è½¯ä»¶çå®ä¹ãå¦æä½
使ç¨çæ¯éèªç±"
+"软件ï¼ä½ 就失å»äºè¿äºå
³é®çèªç±ï¼æ以请ä¸è¦ä½¿ç¨éèªç±è½¯ä»¶ã"
+
+#. type: Content of: <p>
+msgid ""
+"The purpose of the GNU project is to make it easier for people to reject "
+"freedom-trampling, user-dominating, non-free software by providing free "
+"software to replace it. For those who don't have the moral courage to reject "
+"the non-free software, when that means some practical inconvenience, what we "
+"try to do is give a free alternative so that you can move to freedom with "
+"less of a mess and less of a sacrifice in practical terms. The less "
+"sacrifice the better. We want to make it easier for you to live in freedom, "
+"to cooperate."
+msgstr ""
+"GNUå·¥ç¨çç®çå°±æ¯æä¾ä»£æ¿éèªç±è½¯ä»¶çèªç±è½¯ä»¶ï¼è®©äººä»¬è½å¤æ´å®¹æå°æç»éèªç±è½¯"
+"件对èªç±ç侵害ã对ç¨æ·çæ§å¶ã对é£äºç¼ºå°éå¾·åæ°æ¥æç»éèªç±è½¯ä»¶ç人æ¥è¯´ï¼å¦"
+"æä½
éè¦çæ¯å®ç¨æ§ï¼é£ä¹æ们å°å°½åæä¾ä¸ä¸ªèªç±çæ¿ä»£ä½¿ä½
è½å¤å¨è¾å°æ··ä¹±ãè¾å°"
+"çºç²å®ç¨æ§çæ
åµä¸ï¼è½¬ç§»å°èªç±è½¯ä»¶ãä½
失å»çå®ç¨æ§å½ç¶æ¯è¶å°è¶å¥½ãæ们å¸æä½ "
+"è½å¤æ´å®¹æå°è·å¾èªç±ã并ä¸è½å¤åä½äºå©ã"
+
+#. type: Content of: <p>
+msgid ""
+"This is a matter of the freedom to cooperate. We're used to thinking of "
+"freedom and cooperation with society as if they are opposites. But here "
+"they're on the same side. With free software you are free to cooperate with "
+"other people as well as free to help yourself. With non-free software, "
+"somebody is dominating you and keeping people divided. You're not allowed to "
+"share with them, you're not free to cooperate or help society, anymore than "
+"you're free to help yourself. Divided and helpless is the state of users "
+"using non-free software."
+msgstr ""
+"åä½äºå©å
³ä¹èªç±ã人们ä¹
æ¯äºè®¤ä¸ºèªç±å社ä¼åä½æ¯å¯¹ç«çãä½æ¯ï¼æ¤æ¶æ们å¨åä¸"
+"æ¡æå£å
ã使ç¨èªç±è½¯ä»¶ï¼ä½ å°±æèªç±åå
¶ä»äººåä½ï¼å¹¶ä¸ä¹æèªç±å¸®å©ä½ èªå·±ã使ç¨"
+"éèªç±è½¯ä»¶ï¼ä½ 就被æ§å¶ï¼äººä»¬è¢«ååãä½ æ æåå
¶ä»äººå享ï¼ä½ 没æèªç±å»åä½äºå©"
+"æ帮å©ç¤¾ä¼ï¼æ£å¦ä½ 没æèªç±æ¥å¸®å©ä½
èªå·±ã使ç¨éèªç±è½¯ä»¶çç¨æ·å°±æ¯è¿æ ·å¤ç«åæ "
+"å©ã"
+
+#. type: Content of: <p>
+msgid ""
+"We've produced a tremendous range of free software. We've done what people "
+"said we could never do; we have two operating systems of free software. We "
+"have many applications and we obviously have a lot farther to go. So we need "
+"your help. I would like to ask you to volunteer for the GNU project; help us "
+"develop free software for more jobs. Take a look at <a href=\"/help/"
+"\">http://www.gnu.org/help</a> to find suggestions for how to help. If you "
+"want to order things, there's a link to that from the home page. If you want "
+"to read about philosophical issues, look in /philosophy. If you're looking "
+"for free software to use, look in /directory, which lists about 1900 "
+"packages now (which is a fraction of all the free software out there). "
+"Please write more and contribute to us. My book of essays, “Free "
+"Software and Free Society”, is on sale and can be purchased at <a href="
+"\"http://www.gnu.org/\">www.gnu.org</a>. Happy hacking!"
+msgstr ""
+"æ们已ç»å¼åäºèå´åºå¤§çèªç±è½¯ä»¶ãæ们å®æäºäººä»¬æ¾ç»è¯´æ°¸è¿å®ä¸æçäºï¼æ们æ"
+"两个èªç±è½¯ä»¶æä½ç³»ç»ãæ们æå¾å¤åºç¨ï¼ä½æ们æ¾ç¶è¿ææ´å¤çè¦åãæ以ï¼æ们é"
+"è¦ä½ 们ç帮å©ãæ请æ±ä½ 们æ为GNUå·¥ç¨çå¿æ¿è
ï¼å¸®å©æ们å¼åè½æ§è¡æ´å¤ä»»å¡çèªç±"
+"软件ã请åç<a
href=\"/help/\">http://www.gnu.org/help</a>æ¥äºè§£æä¹å¸®å©æ"
+"们ãå¦æä½
æ³è®¢è´ä¸äºä¸è¥¿ï¼æ们ç主页ä¸æä¸ä¸ªé¾æ¥ãå¦æä½
æ³äºè§£æ们çå²å¦ï¼è¯·"
+"é
读/philosophyãå¦æä½
å¨æ¾å¯ç¨çèªç±è½¯ä»¶ï¼è¯·å°/directoryï¼ç°å¨å¤§çº¦æ1900个软"
+"件å
ï¼è¿åªæ¯ææèªç±è½¯ä»¶çä¸é¨åï¼ã请ç¼åæ´å¤çèªç±è½¯ä»¶å¹¶è´¡ç®ç»æ们ãæçæ"
+"é3èªç±è½¯ä»¶åèªç±ç¤¾ä¼”ï¼æ£å¨åå®ï¼ä½
å¯ä»¥å¨<a href=\"http://www."
+"gnu.org/\">www.gnu.org</a>è´ä¹°ãç¥ä½ 们å¼åæå¿«ï¼"
+
+#. type: Content of: <ol><li>
+msgid ""
+"Guy Steele designed the original symmetrical Emacs command set; then he and "
+"I began implementing Emacs (on top of TECO), but after one long joint "
+"development session, Steele began drifting away, so I finished Emacs. "
+"Others particularly including Eugene C. Cicciarelli and Mike McMahon "
+"contributed substantially later on."
+msgstr ""
+"Guy Steele设计äºEmacsæåç对称å½ä»¤éåï¼ç¶åæ们å¼å§æé
Emacsï¼å¨TECOçåºç¡"
+"ä¸ï¼ï¼ä½æ¯å¨ä¸æ®µé¿æçèåå¼åä¹åï¼Steeleæ¸æ¸ç¦»å¼äºï¼æ以æç¬èªå®æäºEmacsã"
+"å
¶ä»äººï¼ç¹å«æ¯Eugene C. CicciarelliåMike
McMahonåæ¥ä¹ååºäºæ¾èçè´¡ç®ã"
+
+#. type: Content of: <ol><li>
+msgid ""
+"Bernie Greenberg says that Dan Weinreb's implementation of Emacs for the "
+"Lisp Machine came before Greenberg's implementation for Multics. I "
+"apologize for the mistake."
+msgstr ""
+"Bernie Greenberg说Dan
Weinrebå¨Lispçµèä¸çEmacsè¦æ©äºGreenbergå¨Multicsçç"
+"æ¬ãæå¨æ¤å¯¹æçé误éæã"
+
+#. type: Content of: <ol><li>
+msgid ""
+"Greenblatt's plan, as I understood it, was to hire lab people part time, so "
+"that they could continue working at the AI Lab. Symbolics hired them full "
+"time instead, so they stopped working at MIT."
+msgstr ""
+"Greenblattç计åï¼å°±æçç解ï¼æ¯è¯·å®éªå®¤ç人åå
¼èï¼è¿æ
·ä»ä»¬è¿è½å¤ç»§ç»å¨äººå·¥"
+"æºè½å®éªå®¤çæ¬èå·¥ä½ãSymbolicséåçæ¯å
¨èéä½£ï¼æ以å®éªå®¤ç人åå°±ä¸è½å¨MIT"
+"å·¥ä½äºã"
+
+#. type: Content of: <ol><li>
+msgid ""
+"The background of this plan, which I did not state explicitly in the talk, "
+"is that during an initial period the ex-AI-Lab hackers, whether at Symbolics "
+"or LMI, continued contributing their changes to the MIT Lisp Machine system "
+"— even though the contract did not require this. Symbolics' plan was "
+"to rupture this cooperation unilaterally."
+msgstr ""
+"该计åçèæ¯ï¼æå¨æ¼è®²é没ææ说ï¼æ¯å¨å¼å§é¶æ®µï¼äººå·¥æºè½å®éªå®¤çé»å®¢ä»¬ï¼ä¸ç®¡"
+"æ¯å¨Symbolicsï¼è¿æ¯å¨LMIï¼é½ç»§ç»æä»ä»¬çæ¹è¿è´¡ç®ç»MITçLispçµè系绗尽"
+"管åå并没æè¦æ±è¿æ
·åãSymbolicsç计åå´æ¯åæ¹é¢å²è£åä½ã"
+
+#. type: Content of: <ol><li>
+msgid ""
+"It was not that I cared particularly about the fate of LMI, but rather I did "
+"not want to let Symbolics gain through its aggression against the AI Lab."
+msgstr ""
+"è¿å¹¶ä¸æ¯è¯´æç¹å«å
³æ³¨LMIçå½è¿ï¼æåªæ¯ä¸æ³è®©Symbolicséè¿æ»å»äººå·¥æºè½å®éªå®¤è·"
+"çã"
+
+#. type: Content of: <ol><li>
+msgid ""
+"This statement has been misconstrued as saying that I never, ever looked at "
+"Symbolics' code. Actually it says I did look, at first. The Symbolics "
+"source code was available at MIT, where I was entitled to read it, and at "
+"first that's how I found out about their changes."
+msgstr ""
+"è¿ä¸ªé述常被æ²è§£ä¸ºæä»æ¥æ²¡æçè¿Symbolicsç代ç ãå®é
ä¸ï¼å®è¯´çæ¯æä¸å¼å§çäº"
+"Symbolicsç代ç ãè¿äºä»£ç
å°±å¨MITï¼æææççï¼èä¸æåæå°±æ¯è¿æ ·äºè§£å°ä»ä»¬å"
+"äºæ¹å¨ã"
+
+#. type: Content of: <ol><li><p>
+msgid ""
+"But that meant I had to make a special effort to solve each problem "
+"differently, in order to avoid copying Symbolics code. After a while, I "
+"concluded it was better not to even look. That way I could write code in "
+"whatever way was best, without concern for what might be in Symbolics' code."
+msgstr ""
+"ä¸è¿ï¼è¿æå³çæä¸å¾ä¸è±åæ°æ¾å°å
¶ä»ç解å³æ¹æ³ï¼è¿æ
·æè½é¿å
å¤å¶Symbolicsç代"
+"ç ãä¸æ®µæ¶é´ä¹åï¼æè§å¾ä¸çè¿äºä»£ç æ´å¥½ãè¿æ
·çè¯ï¼æå°±å¯ä»¥ææ好çæ¹æ³æ¥å®"
+"ç°ä»£ç ï¼èä¸ç¨èèæ¯å¦ç¨äºSymbolicsç代ç ã"
+
+#. type: Content of: <ol><li>
+msgid ""
+"Symbolics at one point protested to MIT that my work, by thwarting their "
+"plan, had cost Symbolics a million dollars."
+msgstr ""
+"Symbolicsæ¾ç»åMITæè®®ï¼æçå·¥ä½é»æ
äºä»ä»¬ç计åè使Symbolicsæ失ä¸ç¾ä¸ç¾å
ã"
+
+#. type: Content of: <ol><li>
+msgid ""
+"I don't mind if a very complex and heavyweight function takes keyword "
+"arguments. What bothers me is making simple basic functions such as “"
+"member” use them."
+msgstr ""
+"æ并ä¸ä»æé常å¤æåéé级çå½æ°ä½¿ç¨å
³é®ååæ°ãæ讨åçæ¯è¿è¯¸å¦“"
+"member”è¿æ ·çç®åå½æ°ä¹è¦ä½¿ç¨å
³é®ååæ°ã"
+
+#. TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.
+#. type: Content of: <div>
+msgid "*GNUN-SLOT: TRANSLATOR'S NOTES*"
+msgstr ""
+"<h3>è¯æ³¨</h3>\n"
+"<ol>\n"
+"<li id=\"TransNote1\">carï¼æ¯Lispè¯è¨çä¸ä¸ªåºæ¬æ令ã</li>\n"
+"</ol>"
+
+#. type: Content of: <div><div><p>
+msgid ""
+"Please send general FSF & GNU inquiries to <a
href=\"mailto:address@hidden"
+"\"><address@hidden></a>. There are also <a href=\"/contact/\">other
ways "
+"to contact</a> the FSF. Broken links and other corrections or suggestions "
+"can be sent to <a href=\"mailto:address@hidden"><address@hidden"
+"org></a>."
+msgstr ""
+"请å°æå
³èªç±è½¯ä»¶åºéä¼ï¼FSFï¼&GNUçä¸è¬æ§é®é¢åéå°<a
href=\"mailto:"
+"address@hidden"><address@hidden></a>ãä¹å¯ä»¥éè¿<a
href=\"/contact/\">å
¶ä»è"
+"ç³»æ¹æ³</a>èç³»èªç±è½¯ä»¶åºéä¼(FSF)ã请å°æ æé¾æ¥ï¼å
¶ä»é误æ建议åéç»<a href="
+"\"mailto:address@hidden"><address@hidden></a>ã"
+
+#
+#
+#
+#. TRANSLATORS: Ignore the original text in this paragraph,
+#. replace it with the translation of these two:
+#. We work hard and do our best to provide accurate, good quality
+#. translations. However, we are not exempt from imperfection.
+#. Please send your comments and general suggestions in this regard
+#. to <a href="mailto:address@hidden">
+#. <address@hidden></a>.</p>
+#. <p>For information on coordinating and submitting translations of
+#. our web pages, see <a
+#. href="/server/standards/README.translations.html">Translations
+#. README</a>.
+#. type: Content of: <div><div><p>
+msgid ""
+"Please see the <a href=\"/server/standards/README.translations.html"
+"\">Translations README</a> for information on coordinating and submitting "
+"translations of this article."
+msgstr ""
+"è¥æ¨æ³ç¿»è¯æ¬æï¼è¯·åç<a
href=\"/server/standards/README.translations.html\">"
+"ç¿»è¯é¡»ç¥</a>ã"
+
+#. type: Content of: <div><p>
+msgid "Copyright © 2003, 2007, 2013, 2014 Free Software Foundation, Inc."
+msgstr "Copyright © 2003, 2007, 2013, 2014 Free Software Foundation, Inc."
+
+#. type: Content of: <div><p>
+msgid ""
+"This page is licensed under a <a rel=\"license\" href=\"http://"
+"creativecommons.org/licenses/by-nd/3.0/us/\">Creative Commons Attribution-"
+"NoDerivs 3.0 United States License</a>."
+msgstr ""
+"æ¬é¡µé¢ä½¿ç¨<a rel=\"license\"
href=\"http://creativecommons.org/licenses/by-"
+"nd/3.0/us/\">Creative Commons Attribution-NoDerivs 3.0 United States "
+"License</a>ææã"
+
+#. TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.
+#. type: Content of: <div><div>
+msgid "*GNUN-SLOT: TRANSLATOR'S CREDITS*"
+msgstr ""
+"<b>å®¡æ ¡</b>ï¼<a href=\"mailto:address@hidden"><Hagb
ï¼éä¿ä½ï¼></"
+"a>ï¼2018ã<br></br>\n"
+"<b>ç¿»è¯å¢é</b>ï¼<a rel=\"team\"
href=\"https://savannah.gnu.org/projects/"
+"www-zh-cn/\"><CTT></a>ï¼2018ã"
+
+#. timestamp start
+#. type: Content of: <div><p>
+msgid "Updated:"
+msgstr "æåæ´æ°ï¼"
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- www/gnu/po rms-lisp.zh-cn.po,
Wensheng XIE <=