www-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

www/gnu/po rms-lisp.ru.po


From: Pavel Kharitonov
Subject: www/gnu/po rms-lisp.ru.po
Date: Thu, 28 Feb 2013 05:03:01 +0000

CVSROOT:        /web/www
Module name:    www
Changes by:     Pavel Kharitonov <ineiev>       13/02/28 05:03:01

Added files:
        gnu/po         : rms-lisp.ru.po 

Log message:
        New translation.

CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/gnu/po/rms-lisp.ru.po?cvsroot=www&rev=1.1

Patches:
Index: rms-lisp.ru.po
===================================================================
RCS file: rms-lisp.ru.po
diff -N rms-lisp.ru.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ rms-lisp.ru.po      28 Feb 2013 05:03:00 -0000      1.1
@@ -0,0 +1,1204 @@
+# Russian translation of http://www.gnu.org/gnu/rms-lisp.html
+# Copyright (C) 2013 Free Software Foundation, Inc.
+# This file is distributed under the same license as the original article.
+# Ineiev <address@hidden>, 2012, 2013
+# this translation lacks appropriate review
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: rms-lisp.html\n"
+"POT-Creation-Date: 2013-02-11 02:01-0500\n"
+"PO-Revision-Date: 2013-02-26 17:34+0000\n"
+"Last-Translator: Ineiev <address@hidden>\n"
+"Language-Team: Russian <address@hidden>\n"
+"Language: ru\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 ""
+"Мой опыт работы с Лиспом и развитие GNU Emacs - 
Проект GNU - Фонд свободного "
+"программного обеспечения"
+
+#. type: Content of: <h2>
+msgid "My Lisp Experiences and the Development of GNU Emacs"
+msgstr "Мой опыт работы с Лиспом и развитие GNU 
Emacs"
+
+#. type: Content of: <blockquote><p>
+msgid ""
+"(Transcript of Richard Stallman's Speech, 28 Oct 2002, at the International "
+"Lisp Conference)."
+msgstr ""
+"(Запись речи Ричарда Столмена, 
28&nbsp;октября 2002&nbsp;года на "
+"Международной конференции по Лиспу)."
+
+#. 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 ""
+"Поскольку ни одна из моих обычных речей не 
имеет никакого отношения к Лиспу, "
+"ни одна из них не подходит для 
сегодняшнего выступления. Так что мне "
+"придется импровизировать. Поскольку в 
своей профессиональной деятельности "
+"мне доводилось выполнять довольно много 
работы, связанной с Лиспом, у меня, "
+"должно быть, есть что порассказать."
+
+#. 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 &mdash; it had something like 8k of memory "
+"&mdash; 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 ""
+"Моя первая встреча с Лиспом произошла, 
когда я прочел руководство по "
+"Лисп&nbsp;1.5 в старших классах. Именно тогда 
меня поразила идея, что может "
+"быть такой язык программирования. 
Возможность сделать что-нибудь на Лиспе "
+"впервые появилась у меня, когда я был на 
младших курсах в Гарварде и писал "
+"интерпретатор Лиспа для PDP-11. Это была 
очень маленькая машина&nbsp;&mdash; "
+"в ней было что-то вроде 8k памяти,&mdash; и мне 
удалось написать "
+"интерпретатор длиной в тысячу команд. Это 
оставляло мне немного места для "
+"данных. Это было до того, как я узнал, как 
выглядят настоящие программы, "
+"которые выполняют настоящие системные 
задачи."
+
+#. 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 "
+"&mdash; he must have really regretted that day."
+msgstr ""
+"Я начал выполнять работы над настоящей 
реализацией Лиспа с Джоном-Л Уайтом, "
+"как только я начал работать в 
Массачусетском техническом институте. 
Туда "
+"меня принял не Джон-Л, а Расселл Нофтскер, 
что было в высшей степени "
+"парадоксально, если учесть то, что 
случилось впоследствии&nbsp;&mdash; он, "
+"должно быть, сильно об этом пожалел."
+
+#. 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 ""
+"В семидесятые годы XX&nbsp;века, до того, как 
моя жизнь политизировалась в "
+"результате ужасных событий, я просто 
делал одно расширение различных "
+"программ за другим, и большинство из них 
не имело никакого отношения к "
+"Лиспу. Но попутно я писал текстовый 
редактор, 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, "
+"я убежден, что между ними была 
связь&nbsp;&mdash; возможно, неосознанная. Я "
+"думаю, что именно природа нашего образа 
жизни в Лаборатории искусственного "
+"интеллекта привела к созданию Emacs и 
сделала его таким, каким он был."
+
+#. type: Content of: <p>
+msgid ""
+"The original Emacs did not have Lisp in it. The lower level language, the "
+"non-interpreted language &mdash; 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 &lsquo;5l&rsquo;, meaning &lsquo;move five "
+"lines&rsquo;, or &lsquo;i&rsquo; 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 Лиспа не было. Языком 
низкого уровня&nbsp;&mdash; "
+"неинтерпретируемым языком&nbsp;&mdash; был 
ассемблер PDP-10. Интерпретатор, "
+"который мы писали, на самом деле писался 
не для Emacs, он писался для "
+"TECO&nbsp;<a href=\"#tf1\">[1]</a>. Это был наш текстовый 
редактор и крайне "
+"уродливый язык программирования, 
настолько уродливый, насколько это только "
+"возможно. Причина была в том, что он не был 
спроектирован как язык "
+"программирования, он был спроектирован 
как язык редактора и команд. Были "
+"такие команды, как &ldquo;5l&rdquo;, что означало 
&ldquo;передвинуться на "
+"пять строк&rdquo;, или &ldquo;i&rdquo; с последующим 
текстом и <em>ESC</em> "
+"для того, чтобы вставить этот текст. Можно 
было набрать строку, которая была "
+"последовательностью команд, это 
называлось командной строкой. Она "
+"завершалась символами <em>ESC</em> <em>ESC</em>, и 
тогда последовательность "
+"выполнялась."
+
+#. 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 &lt; &gt;. 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 ""
+"Ну, люди хотели дополнить этот язык 
средствами программирования, так что они "
+"добавили некоторые такие средства. 
Например, одной из первых была добавлена "
+"конструкция цикла, это были <em>&lt;</em> 
<em>&gt;</em>. Ими окружали "
+"команды, и это был цикл. Были другие 
непонятные команды, которыми можно было "
+"пользоваться для условного выхода из 
цикла. При создании Emacs мы&nbsp;<a "
+"href=\"#foot-1\">(1)</a> добавили возможность 
создания подпрограмм с "
+"именами. До того это было вроде Бейсика, в 
именах подпрограмм могло быть "
+"только по одной букве. Писать на этом 
большие программы было трудно, так что "
+"мы дописали программу, чтобы у них могли 
быть более длинные имена. На самом "
+"деле там были довольно замысловатые 
средства; по-моему, средство &ldquo;"
+"unwind-protect&rdquo; Лисп заимствовал из TECO."
+
+#. 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 &mdash; 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 ""
+"Мы начали закладывать довольно 
замысловатые средства, и у всех у них был "
+"уродливейший синтаксис, какой только 
можно придумать, и это работало&nbsp;"
+"&mdash; люди все равно были в состоянии 
писать на этом крупные программы. "
+"Очевидным уроком было то, что такой язык, 
как TECO, который не был "
+"спроектирован как язык 
программирования,&mdash; это был неверный 
путь. Язык, "
+"на котором вы строите свои расширения, 
должен задумываться как язык "
+"программирования не задним числом; его 
следует проектировать как язык "
+"программирования. Фактически, мы 
обнаружили, что лучшим языком "
+"программирования для этих целей был Лисп."
+
+#. 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 &mdash; "
+"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 ""
+"Это открыл Берни Гринберг&nbsp;<a 
href=\"#foot-2\">(2)</a>. Он написал "
+"версию Emacs на MacLisp в Multics, и он писал свои 
программы на MacLisp "
+"прямолинейным манером. Сам редактор был 
полностью написан на Лиспе. Emacs "
+"для Multics имел большой успех&nbsp;&mdash; 
программирование новых команд "
+"редактирования было таким удобным, что 
даже секретарши в его конторе начали "
+"учиться пользованию им. Они пользовались 
руководством, которое кто-то "
+"написал и в котором было показано, как 
дополнять Emacs, но там не "
+"говорилось, что это программирование. Так 
что секретарш, которые думали, что "
+"не могут программировать, это не 
отпугивало. Они читали руководство, "
+"обнаруживали, что могут делать что-то 
полезное, и учились программировать."
+
+#. type: Content of: <p>
+msgid ""
+"So Bernie saw that an application &mdash; a program that does something "
+"useful for you &mdash; 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 &mdash; at the stage where it's "
+"the hardest &mdash; where they don't believe they can program, until they "
+"get to the point where they are programmers."
+msgstr ""
+"Так что Берни понял, что приложение&mdash; 
программа, которая делает что-то "
+"полезное для вас&nbsp;&mdash; внутри которого 
был Лисп и которое вы можете "
+"дополнять, переписывая программы на 
Лиспе,&mdash; на самом деле очень "
+"хороший способ научиться 
программировать. Это дает людям 
возможность писать "
+"небольшие программы, которые для них 
полезны, чего в большинстве областей "
+"вы, наверное, не можете. Они могут получать 
поощрение от практической пользы "
+"для них самих на стадии, где это труднее 
всего&nbsp;&mdash; когда они не "
+"думают, что могут программировать,&mdash; 
пока они не дойдут до точки, в "
+"которой они уже стали программистами."
+
+#. 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 &mdash; it was a "
+"full-fledged Lisp system &mdash; 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 &mdash; 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 ""
+"В этот момент люди начали размышлять, как 
получить что-то вроде этого на "
+"платформе, где у них не было 
полнофункциональной реализации Лиспа. У 
MacLisp "
+"для Multics был как компилятор, так и 
интерпретатор&nbsp;&mdash; это была "
+"полностью оснащенная система Лисп&nbsp;&mdash; 
но люди хотели реализовать "
+"что-то подобное на других системах, где у 
них не было уже написанного "
+"компилятора Лиспа. Ну, если у вас нет 
компилятора Лиспа, вы не можете "
+"написать весь редактор на Лиспе&nbsp;&mdash; он 
был бы слишком медленным, "
+"особенно перерисовка, если бы пришлось 
выполнять Лисп на интерпретаторе. Так "
+"что мы разработали гибридную технику. 
Идея состояла в том, чтобы писать "
+"интерпретатор Лиспа и низкоуровневые 
части редактора вместе, так что части "
+"редактора были встроенными средствами 
Лиспа. Это были бы любые части, в "
+"оптимизации которых мы ощущали необх
одимость. Это была техника, которую мы "
+"уже сознательно практиковали в 
первоначальном Emacs, потому что были "
+"определенные весьма высокоуровневые 
функции, которые мы перереализовали на "
+"машинном языке, переделав их в примитивы 
TECO. Например, был примитив TECO "
+"для заполнения абзаца (на самом деле для 
основной работы по заполнению "
+"абзаца, потому что некоторые из наименее 
ресурсоемких частей работы "
+"выполнялись на более высоком уровне 
программой TECO). Можно было выполнять "
+"всю работу, написав программу на TECO, но она 
была слишком медленной, так "
+"что мы оптимизировали ее, перенеся часть 
ее на машинный язык. Здесь (в "
+"гибридной технике) мы воспользовались той 
же идеей: большая часть редактора "
+"будет написана на Лиспе, но определенные 
его части, которые нужно было "
+"выполнять особенно быстро, будут написаны 
на низком уровне."
+
+#. 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 "
+"&mdash; manipulating editor buffers, inserting leading text, reading and "
+"writing files, redisplaying the buffer on the screen, managing editor "
+"windows."
+msgstr ""
+"Таким образом, когда я писал свою вторую 
реализацию Emacs, я следовал такого "
+"же рода схеме. Язык низкого уровня больше 
не был машинным языком, это был "
+"Си. Си был хорошим, эффективным языком для 
переносимых программ, "
+"предназначенных для выполнения в 
операционной системе типа Unix. Там был "
+"интерпретатор Лиспа, но я реализовал 
средства для решения специальных задач "
+"редактирования прямо на Си&nbsp;&mdash; сюда вх
одили манипуляция буферами "
+"редактора, вставка текста в начало, чтение 
и запись файлов, перерисовка "
+"буфера на экране, управление окнами 
редактора."
+
+#. 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 &mdash; 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 &ldquo;you had to send back all of your "
+"improvements&rdquo; so we could all benefit. No one ever tried to enforce "
+"that, but as far as I know people did cooperate."
+msgstr ""
+"Так вот, это был не первый Emacs, написанный 
на Си и работавший в Unix. "
+"Первый был написан Джеймсом Гослингом, 
его называли GosMacs. С ним вышла "
+"странная история. Вначале он, казалось, нах
одился под влиянием той же самой "
+"атмосферы обмена и сотрудничества 
первоначального Emacs. Я сначала выпускал "
+"первоначальный Emacs для людей в 
Массачусетском техническом институте. Кое-"
+"кто захотел перенести его на Twenex&nbsp;&mdash; 
сначала редактор работал "
+"только в Несовместимой системе 
разделения времени, которой мы 
пользовались в "
+"институте. Они перенесли его на Twenex, это 
означало, что в мире было "
+"несколько сотен вычислительных систем, в 
которых его потенциально можно было "
+"применять. Мы начали распространять его 
среди них с правилом &ldquo;вы "
+"должны присылать назад все свои 
улучшения&rdquo;, чтобы мы все могли "
+"извлекать из этого пользу. Никто никогда 
не пытался следить за соблюдением "
+"этого, но насколько я знаю, люди 
действительно сотрудничали."
+
+#. 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 &mdash; 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 ""
+"И Гослинг, на первых порах, казалось, 
принимал в этом участие. Он написал "
+"руководство, в котором он называл эту 
программу Emacs в надежде, что другие "
+"члены сообщества будут улучшать ее, пока 
она не заслужит этого названия. Это "
+"был верный подход к сообществу&nbsp;&mdash; 
просить их присоединиться и "
+"улучшать программу. Но после этого его 
отношение, кажется, изменилось, и он "
+"продал программу одной компании."
+
+#. 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 &ldquo;Linux&rdquo;).  "
+"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 &lsquo;mocklisp&rsquo;, 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, которую многие ошибочно называют 
&ldquo;Linux&rdquo;). Свободного "
+"редактора Emacs, который работал бы в Unix, не 
было. Однако был у меня "
+"знакомый, который участвовал в разработке 
Emacs Гослинга. Гослинг передал "
+"ему, по электронной почте, разрешение 
распространять его собственную версию. "
+"Он предложил мне воспользоваться этой 
версией. Тогда я обнаружил, что в "
+"Emacs Гослинга не было настоящего Лиспа. В 
нем был язык программирования, "
+"известный как &ldquo;mocklisp&rdquo;, он 
синтаксически выглядит как Лисп, но "
+"в нем нет структур данных Лиспа. Так что 
программы не были данными и не "
+"хватало жизненно важных элементов Лиспа. 
Его структурами данных были строки, "
+"числа и некоторые другие 
специализированные объекты."
+
+#. 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 ""
+"Я пришел к выводу, что не могу 
воспользоваться этим, и был вынужден 
заменить "
+"это все, и первым шагом было написание 
настоящего интерпретатора Лиспа. Я "
+"постепенно перебазировал каждую часть 
редактора на настоящие структуры "
+"данных Лиспа взамен написанных по случаю 
структур данных, создав возможность "
+"вывода внутренних структур данных 
редактора и манипуляций ими в "
+"пользовательских программах на Лиспе."
+
+#. 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 &mdash; it's now possible to "
+"run Lisp code during redisplay. It's quite a convenient thing."
+msgstr ""
+"Единственным исключением была 
перерисовка. Долгое время перерисовка была 
"
+"своего рода другим миром. Редактор 
вступал в мир перерисовки, и все начинало "
+"проводиться над совершенно особыми 
структурами данных, для которых не было "
+"безопасной сборки мусора, не было 
безопасных прерываний, и в это время "
+"нельзя было выполнять никаких программ на 
Лиспе. С тех пор мы это "
+"изменили&nbsp;&mdash; сейчас можно выполнять 
программы на Лиспе во время "
+"перерисовки. Это очень удобно."
+
+#. type: Content of: <p>
+msgid ""
+"This second Emacs program was &lsquo;free software&rsquo; in the modern "
+"sense of the term &mdash; 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 &mdash; the experience I had, "
+"the life that I've lived at the <abbr>MIT</abbr> AI lab &mdash; 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 была 
&ldquo;свободной программой&rdquo; в "
+"современном смысле этого слова&nbsp;&mdash; она 
была частью открытой "
+"политической кампании за освобождение 
программ. Сущность этой кампании "
+"состояла в том, что всякий должен быть 
волен делать то, что мы в старые "
+"времена делали в Массачусетском тех
ническом институте, работая вместе над "
+"программами и работая со всеми, кто только 
желал работать с нами. Это было "
+"основой движения за свободное 
программное обеспечение&nbsp;&mdash; опыт моей "
+"жизни в Лаборатории искусственного 
интеллекта&nbsp;&mdash; работать над "
+"человеческим знанием и не стоять ни у кого 
на пути к дальнейшему применению "
+"и дальнейшему распространению 
человеческого знания."
+
+#. 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 ""
+"В это время можно было сделать компьютер, 
который стоил примерно столько же, "
+"сколько другие компьютеры, не 
предназначенные для Лиспа, но он выполнял 
бы "
+"Лисп гораздо быстрее, чем они, и при этом с 
полной проверкой типов на каждой "
+"операции. Обычные компьютеры, как правило, 
вынуждали выбирать между "
+"скоростью выполнения и хорошей проверкой 
типов. Так что, конечно, можно было "
+"получить компилятор Лиспа и быстро 
выполнять программы, но когда они "
+"пытались взять <code>car</code> от числа, это 
приводило к бессмысленным "
+"результатам и в конце концов когда-нибудь 
приводило к сбою."
+
+#. type: Content of: <p>
+msgid ""
+"The Lisp machine was able to execute instructions about as fast as those "
+"other machines, but each instruction &mdash; a car instruction would do data "
+"typechecking &mdash; 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 ""
+"Машина-Лисп была в состоянии выполнять 
команды почти так же быстро, как те "
+"другие машины, но каждая команда... команда 
<code>car</code> выполняла "
+"проверку типов&nbsp;&mdash; так что когда вы 
пытались взять <code>car</code> "
+"от числа в скомпилированной программе, 
это немедленно давало ошибку. Мы "
+"построили машину, и у нас была для нее 
операционная система Лиспа. Она почти "
+"полностью была написана на Лиспе, за 
исключением только частей, записанных в "
+"микрокоде. Возник интерес к производству 
машин, это означало, что нужно "
+"создать компанию."
+
+#. 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 &ldquo;hacker&rdquo; 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 ""
+"Было два разных представления о том, какой 
должна быть эта компания. "
+"Гринблэтт хотел создать то, что он называл 
&ldquo;хакерской&rdquo; "
+"компанией. Это означало, что это была бы 
компания под управлением хакеров и "
+"работающая благоприятным для хакеров 
образом. Другой целью была поддержка "
+"культуры Лаборатории искусственного 
интеллекта&nbsp;<a href=\"#foot-3\">(3)</"
+"a>. К сожалению, у Гринблэтта не было 
никакого делового опыта, так что "
+"другие люди из группы машины-Лиспа 
говорили, что они сомневаются в том, что "
+"он сможет это сделать. Они думали, что 
избежать внешних капиталовложений, "
+"как он планировал, не удастся."
+
+#. 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 ""
+"Так что у Гринблэтта была мысль, что он 
найдет клиента, который заплатит за "
+"комплектующие вперед. Они собрали бы 
машины и поставили их ему; извлекая "
+"таким образом доход из этих комплектующих
, они смогли бы купить "
+"комплектующие еще для нескольких машин, 
продать их, а потом купить "
+"комплектующие для большего числа машин и 
так далее. Другие люди из группы "
+"думали, что так работать не получится."
+
+#. 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, &ldquo;Let's ditch "
+"Greenblatt, forget his ideas, and we'll make another company.&rdquo; "
+"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 ""
+"Гринблэтт привлек Расселла Нофтскера, 
человека, который нанял меня, а в "
+"последствии ушел из Лаборатории 
искусственного интеллекта и создал "
+"прибыльную компанию. Считалось, что у Р
асселла есть деловая хватка. Он "
+"продемонстрировал эту деловую хватку, 
сказав людям в группе: &ldquo;Давайте "
+"бросим Гринблэтта и забудем о его идеях; а 
мы создадим другую "
+"компанию&rdquo;. Ударил в спину, совсем как 
настоящий предприниматель. Эти "
+"люди решили сформировать компанию под 
названием &ldquo;Symbolics&rdquo;, "
+"привлекать внешний капитал, не быть 
щепетильными и делать все возможное, "
+"чтобы победить."
+
+#. 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 ""
+"Но Гринблэтт не отступил. Он и немногие 
лояльные по отношению к нему люди "
+"решили все равно образовать Lisp Machines Inc. и 
работать по своему плану. И "
+"что бы вы думали? Им это удалось! У них 
появился первый клиент, и им "
+"заплатили вперед. Они собирали машины, 
продавали их и собирали еще и еще. В "
+"конце концов они встали на ноги, несмотря 
на то, что большинство людей в "
+"группе им не помогало. Компания Symbolics 
также начала успешную "
+"деятельность, так что было две 
конкурирующих компании, производящих 
машины-"
+"Лиспы. Когда в Symbolics поняли, что LMI и не 
думает вылетать в трубу, они "
+"стали искать способы разрушить ее."
+
+#. type: Content of: <p>
+msgid ""
+"Thus, the abandonment of our lab was followed by &ldquo;war&rdquo; 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 ""
+"Таким образом, за уходом из нашей 
лаборатории последовала &ldquo;"
+"война&rdquo; в нашей лаборатории. Уход 
произошел, когда компания Symbolics "
+"переманила всех хакеров, кроме меня и тех 
немногих, кто по совместительству "
+"работал в LMI. Потом они установили правило 
и исключили тех, кто по "
+"совместительству работал в институте, так 
что им пришлось уйти полностью, и "
+"я остался один. Теперь Лаборатория 
искусственного интеллекта была "
+"беспомощна. А институт заключил с этими 
двумя компаниями одно очень глупое "
+"соглашение. Это был трехсторонний 
договор, в котором обе компании "
+"лицензировали исходные тексты системы 
машины-Лиспа. Эти компании должны были "
+"предоставлять свои изменения в 
пользование института. Но в договоре не "
+"говорилось, что институт вправе размещать 
их в системах своих машин-Лиспов, "
+"которые лицензировали обе компании. Никто 
не предвидел, что группу хакеров "
+"Лаборатории искусственного интеллекта 
разгонят, но так и случилось."
+
+#. type: Content of: <p>
+msgid ""
+"So Symbolics came up with a plan <a href=\"#foot-4\">(4)</a>.  They said to "
+"the lab, &ldquo;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.&rdquo;"
+msgstr ""
+"Итак, в Symbolics созрел план&nbsp;<a 
href=\"#foot-4\">(4)</a>. Они сказали "
+"лаборатории: &ldquo;Мы продолжим 
предоставлять в ваше пользование свои "
+"изменения в системе, но вам нельзя 
размещать их в системе машины-Лиспа "
+"института. Вместо этого мы предоставим 
вам доступ к системе машины-Лиспа "
+"Symbolics, и вы сможете работать на ней, но это 
все, что вы можете делать."
+
+#. 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 ""
+"Это фактически означало, что они 
потребовали от нас встать на ту или другую "
+"сторону и пользоваться либо версией 
института, либо версией Symbolics. Что "
+"бы мы ни выбрали, это определяло бы, в 
какую систему пойдут наши "
+"усовершенствования. Если бы мы работали 
над версией Symbolics и "
+"совершенствовали ее, мы поддерживали бы 
только Symbolics. Если бы мы "
+"пользовались версией института и 
совершенствовали ее, мы предоставляли бы "
+"работу в распоряжение обеих компаний, но в 
Symbolics понимали, что с нашей "
+"стороны это было бы поддержкой 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> &mdash; 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 Inc. удержаться на 
плаву&nbsp;<a href=\"#foot-5\">(5)"
+"</a>, я начал дублировать все улучшения в 
системе машины-Лиспа, которые "
+"делали в Symbolics. Я писал эквивалентные 
улучшения сам (т.е. тексты "
+"программ были моими собственными)."
+
+#. 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 ""
+"Через некоторое время&nbsp;<a href=\"#foot-6\">(6)</a> я 
пришел к "
+"заключению, что было бы лучше всего, если 
бы я даже не заглядывал в их "
+"тексты.  Когда они делали объявление о 
выпуске предварительной версии, в "
+"котором было описание выпуска, я видел, 
какие там были функции, а потом "
+"реализовывал их. К тому времени, как они 
выпускали окончательную версию, я "
+"тоже выпускал такую версию."
+
+#. 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 ""
+"Таким образом в течение двух лет я не 
давал им покончить с LMI, и эти две "
+"компании продолжали работу. Но я не хотел 
тратить долгие годы на то, чтобы "
+"наказать кого-то, просто мешая злому делу. 
Я увидел, что они наказаны "
+"довольно основательно, потому что они 
наткнулись на конкуренцию, которая не "
+"уходила и не собиралась исчезать&nbsp;<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 ""
+"В семидесятых годах сообщество Лиспа не 
ограничивалось Лабораторией "
+"искусственного интеллекта 
Массачусетского технического института, и 
не все "
+"хакеры были в этом институте. Война, 
которую начала компания Symbolics, "
+"опустошила Массачусетский технический 
институт, но в то время происходили и "
+"другие события. Были люди, которые 
прекращали сотрудничество, и все это "
+"вместе опустошило наше сообщество, и от 
него почти ничего не осталось."
+
+#. 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 &mdash; the only way "
+"that people could work together and share was with a free operating system."
+msgstr ""
+"Когда я прекратил наказывать Symbolics, мне 
пришлось придумывать, что делать "
+"дальше. Мне нужно было сделать свободную 
операционную систему, это было "
+"ясно&nbsp;&mdash; единственным способом дать 
людям совместно работать и "
+"обмениваться была свободная операционная 
система."
+
+#. 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 &mdash; 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 ""
+"Сперва я подумывал о создании системы на 
базе Лиспа, но я осознал, что с "
+"технической точки зрения это не хорошо. 
Чтобы получить что-то подобное "
+"системе машины-Лиспа, нужен микрокод 
специального назначения. Именно это "
+"позволяло выполнять программы так же 
быстро, как другие компьютеры выполняли "
+"свои программы, и при этом еще и 
пользоваться проверкой типов. Без этого 
все "
+"свелось бы к чему-то наподобие 
компиляторов Лиспа для других машин. "
+"Программы были бы быстрее, но они были бы 
нестабильны. Так вот, это "
+"допустимо, если выполнять одну программу 
на системе с разделением "
+"времени&nbsp;&mdash; если одна программа дает 
сбой, это не катастрофа, это "
+"нечто, что ваша программа время от времени 
делает. Но это делало ее "
+"недостаточно хорошей, чтобы писать на ней 
операционную систему, так что я "
+"отказался от мысли о том, чтобы сделать 
систему наподобие машины-Лиспа."
+
+#. 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, в которой были "
+"бы реализации Лиспа, чтобы выполнять 
пользовательские программы. Ядро было "
+"бы написано не на Лиспе, но Лисп у нас был 
бы. Так что именно разработка "
+"этой операционной системы, операционной 
системы GNU, привела меня к "
+"написанию GNU Emacs. В процессе этого я 
стремился сделать абсолютно "
+"минимально возможную реализацию Лиспа. Р
азмер программ имел чрезвычайное "
+"значение."
+
+#. 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 ""
+"В то время, в&nbsp;1985&nbsp;году, были люди, у 
которых были одномегабайтные "
+"машины без виртуальной памяти. Они хотели 
быть в состоянии использовать GNU "
+"Emacs. Это значило, что мне нужно 
ограничивать программу как можно меньшим "
+"размером."
+
+#. type: Content of: <p>
+msgid ""
+"For instance, at the time the only looping construct was &lsquo;"
+"while&rsquo;, which was extremely simple. There was no way to break out of "
+"the &lsquo;while&rsquo; 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 &lsquo;caar&rsquo; and &lsquo;cadr&rsquo; "
+"and so on; &ldquo;squeeze out everything possible&rdquo; was the spirit of "
+"GNU Emacs, the spirit of Emacs Lisp, from the beginning."
+msgstr ""
+"Например, в то время единственной 
циклической конструкцией была &ldquo;"
+"while&rdquo;, которая была крайне проста. Не 
было никаких способов "
+"досрочного выхода из оператора 
&ldquo;while&rdquo;, приходилось просто "
+"пользоваться механизмом исключений или 
проверять переменную в цикле. Это "
+"показывает, как далеко я зашел в 
ограничениях на размер. У нас не было "
+"&ldquo;caar&rdquo;, &ldquo;cadr&rdquo; и так далее; 
&ldquo;выжать все "
+"возможное&rdquo;&nbsp;&mdash; таким духом был 
пропитан GNU Emacs и его Лисп "
+"с самого начала."
+
+#. type: Content of: <p>
+msgid ""
+"Obviously, machines are bigger now, and we don't do it that way any more. We "
+"put in &lsquo;caar&rsquo; and &lsquo;cadr&rsquo; 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 ""
+"Разумеется, машины сейчас больше, и мы уже 
так не делаем. Мы заложили &ldquo;"
+"caar&rdquo;, &ldquo;cadr&rdquo; и так далее, и сейчас при 
случае мы могли бы "
+"заложить другую циклическую конструкцию. 
Мы охотно расширим его в некоторых "
+"пределах, но мы не хотим расширять его до 
уровня Общего Лиспа. Я однажды "
+"реализовывал Общий Лисп на машине-Лиспе, и 
мне он не так уж понравился. Одна "
+"из вещей, которые мне ужасно не 
нравятся&nbsp;&mdash; аргументы-ключевые "
+"слова&nbsp;<a href=\"#foot-8\">(8)</a>. На мой взгляд, это 
выглядит не "
+"совсем по-лисповски; иногда я пишу так, но 
я свожу к минимуму число случаев, "
+"когда я это делаю."
+
+#. 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, связанные с Лиспом, не 
кончились. Впоследствии, "
+"примерно в&nbsp;1995&nbsp;году, мы размышляли над 
организацией проекта "
+"графической рабочей среды. Было ясно, что 
для программ среды нам нужен язык "
+"программирования, на котором была бы 
написана значительная ее часть, чтобы "
+"сделать ее легко расширяемой, как 
редактор. Встал вопрос о том, каким должен "
+"быть язык."
+
+#. 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 &ldquo;de-facto standard extension "
+"language&rdquo; of the world. And I thought, &ldquo;We've got to stop that "
+"from happening.&rdquo; 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 ""
+"В то время для этих целей усиленно 
продвигался TCL&nbsp;<a href=\"#tf2\">[2]"
+"</a>. Я был очень невысокого мнения о TCL, в 
основном потому, что это был не "
+"Лисп. Он выглядел слегка похожим на Лисп, 
но семантически он им не был, и он "
+"был не таким ясным. Потом кто-то показал 
мне объявление, в котором компания "
+"Sun пыталась нанять кого-нибудь для работы 
над TCL, чтобы сделать его &ldquo;"
+"стандартом де-факто для языка 
расширений&rdquo; во всем мире. А я подумал: "
+"&ldquo;Нам нужно предотвратить это&rdquo;. Так 
что мы начали делать Scheme "
+"стандартным языком расширений GNU. Не Общий 
Лисп, потому что он был слишком "
+"велик. Идея была в том, что у нас будет 
интерпретатор Scheme, "
+"спроектированный для компоновки в 
приложения так же, как это делали с TCL. "
+"Тогда мы стали бы рекомендовать это как 
предпочтительный пакет расширений "
+"для всех программ 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 ""
+"Есть одна интересная выгода, которую 
можно извлечь из применения такого "
+"мощного языка, как вариант Лиспа, в 
качестве первичного языка расширений. Вы "
+"можете реализовывать другие языки 
переводом их на ваш первичный язык. Если "
+"ваш первичный язык&nbsp;&mdash; TCL, вы не можете 
легко реализовать Лисп "
+"переводом его на TCL. Но если ваш первичный 
язык&nbsp;&mdash; Лисп, то "
+"нетрудно реализовывать другие языки, 
переводя их. Наша идея состояла в том, "
+"что если бы каждое расширяемое приложение 
поддерживало Scheme, то вы могли "
+"бы написать реализацию TCL, Python или Perl на 
Scheme, которая переводит эту "
+"программу на 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 "
+"&mdash; saying &ldquo;Please, application developer, put my language into "
+"your application, not his language.&rdquo; Then the users get no choices at "
+"all &mdash; 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 &lsquo;Guile&rsquo;, 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 ""
+"До тех пор, пока языки расширения слабы, 
пользователям приходится применять "
+"только тот язык, который вы им 
предоставляете. Что означает, что людям, "
+"влюбленным в какой бы то ни было данный 
язык, приходится бороться за выбор "
+"разработчиков приложений&nbsp;&mdash; говоря 
разработчику приложения: &ldquo;"
+"Заложите, пожалуйста, в свое приложение 
мой язык, а не его&rdquo;. Тогда у "
+"пользователей вообще не будет 
выбора&nbsp;&mdash; каким бы приложением они "
+"ни пользовались, оно приходит с одним 
языком, и у них нет другого выхода. Но "
+"когда у вас мощный язык, который может 
реализовывать другие языки, переводя "
+"с них, то вы предоставляете пользователю 
выбор языка, и нам больше не "
+"приходится вести войну языков. Именно это, 
как мы надеемся, сделает &ldquo;"
+"Guile&rdquo;, наш интерпретатор 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 ""
+"Я не говорил о свободном программном 
обеспечении, но позвольте мне кратко "
+"рассказать вам немного о том, что это 
означает. Выражение &ldquo;свободная "
+"программа&rdquo; подразумевает не стоимость; 
оно не означает, что вы "
+"получаете ее бесплатно. (Возможно, вы 
заплатили за копию или получили копию "
+"бесплатно.) Оно означает, что у вас как у 
пользователя есть свобода. "
+"Жизненно важно то, что вы вольны выполнять 
программу, вольны изучать, что "
+"она делает, вольны изменять ее под свои 
нужды, вольны перераспространять "
+"копии среди других и вольны публиковать 
улучшенные, расширенные версии. Вот "
+"что значит свободная программа. Если вы 
пользуетесь несвободной программой, "
+"вы утратили жизненно важную свободу, так 
что никогда этого не делайте."
+
+#. 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 заключается в том, 
чтобы облегчить людям отказ от "
+"попирающих свободу, господствующих над 
пользователем, несвободных программ "
+"предоставлением свободных программ для их
 замены. Для тех, у кого нет "
+"моральных сил для отказа от несвободных 
программ, когда это означает какое-"
+"то практическое неудобство,&mdash; для них мы 
пытаемся дать свободную "
+"альтернативу, чтобы вы могли перейти к 
свободе с меньшими усилиями и "
+"меньшими жертвами в практическом смысле. 
Чем меньше жертвы, тем лучше. Мы "
+"хотим облегчить для вас сотрудничество и 
свободную жизнь."
+
+#. 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 ""
+"Сотрудничество&nbsp;&mdash; это вопрос свободы. 
Мы привыкли думать о свободе "
+"и сотрудничестве с обществом как о 
противоположностях. Но в данном случае "
+"они на одной стороне. При свободных 
программах вы вольны и сотрудничать с "
+"другими, и помогать самим себе. При 
несвободных программах кто-то доминирует "
+"над вами и разобщает людей. Вам не 
позволяют обмениваться с ними, вы не "
+"вольны сотрудничать или помогать 
обществу, точно так же, как вы не вольны "
+"помочь самим себе. Разобщенность и 
беспомощность&nbsp;&mdash; состояние "
+"пользователей, применяющих несвободные 
программы."
+
+#. 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, &ldquo;Free "
+"Software and Free Society&rdquo;, 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&nbsp;пакетов 
(это только часть всех свободных "
+"программ, какие есть). Пожалуйста, пишите 
новые программы и передавайте нам. "
+"Мой сборник очерков, &ldquo;Свободные 
программы и свободное общество&rdquo;, "
+"находится в продаже, и его можно 
приобрести на <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 ""
+"Гай Стил составил первоначальный 
симметричный набор команд Emacs; потом мы с "
+"ним начали реализовывать Emacs (на базе TECO), 
но после одной длительной "
+"совместной сессии разработки Стил начал 
отходить, так что Emacs заканчивал "
+"я. Другие, в частности, Юджин Чиччарелли и 
Майк Мак-Магон, внесли свой вклад "
+"значительно позднее."
+
+#. 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 ""
+"Берни Гринберг утверждает, что реализация 
Emacs Дана Уайнреба для машины-"
+"Лиспа вышла раньше реализации Гринберга 
для 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 ""
+"План Гринблэтта, насколько я понимаю, 
заключался в том, чтобы нанимать людей "
+"из лаборатории по совместительству, так 
что они могли продолжать работать в "
+"Лаборатории искусственного интеллекта. 
Symbolics вместо этого нанимала их на "
+"полный рабочий день, так что они 
прекращали работать в институте."
+
+#. 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 "
+"&mdash; even though the contract did not require this.  Symbolics' plan was "
+"to rupture this cooperation unilaterally."
+msgstr ""
+"Этот план основывался на том (в той речи я 
этого не сказал явно), что в "
+"начальный период бывшие хакеры 
Лаборатории искусственного интеллекта, 
как в "
+"Symbolics, так и в LMI, продолжали вносить свои 
изменения в систему машины-"
+"Лиспа института&nbsp;&mdash; хотя по контракту 
этого не требовалось. План "
+"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 
был доступен в институте, где "
+"я был вправе его читать, и сначала именно 
так я узнавал об их изменениях."
+
+#. 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 как-то раз выразила в институте 
протест, в котором говорилось, что "
+"моя работа, помешав их плану, стоила 
компании 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 &ldquo;"
+"member&rdquo; use them."
+msgstr ""
+"Я не возражаю, если очень сложная и 
громоздкая функция принимает аргументы-"
+"кодовые слова. Беспокоит меня случай, 
когда ими пользуются такие простые "
+"функции, как &ldquo;member&rdquo;."
+
+# type: Content of: <div><div>
+#. 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=\"tf1\"><span lang=\"en\" xml:lang=\"en\">TECO, Text Editor and\n"
+"COrrector</span>&nbsp;&mdash; англ. текстовый редактор 
и корректор.</li>\n"
+"<li id=\"tf2\"><span lang=\"en\" xml:lang=\"en\">TCL, Tool\n"
+"Command Language</span>&nbsp;&mdash; англ. 
инструментальный командный \n"
+"язык.</li>\n"
+"</ol>"
+
+# type: Content of: <div><p>
+#. type: Content of: <div><p>
+msgid ""
+"Please send general FSF &amp; GNU inquiries to <a 
href=\"mailto:address@hidden";
+"\">&lt;address@hidden&gt;</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";>&lt;address@hidden"
+"org&gt;</a>."
+msgstr ""
+"Пожалуйста, присылайте общие запросы 
фонду и GNU по адресу <a href=\"mailto:";
+"address@hidden">&lt;address@hidden&gt;</a>. Есть также <a 
href=\"/contact/"
+"\">другие способы связаться</a> с фондом. 
Отчеты о неработающих ссылках и "
+"другие поправки или предложения можно 
присылать по адресу <a href=\"mailto:";
+"address@hidden">&lt;address@hidden&gt;</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";>
+#.         &lt;address@hidden&gt;</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><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=\"mailto:address@hidden";
+"\">&lt;address@hidden&gt;</a>. </p><p>Сведения по 
координации и "
+"предложениям переводов наших статей см. в 
<a href=\"/server/standards/README."
+"translations.html\">&ldquo;Руководстве по 
переводам&rdquo;</a>."
+
+# type: Content of: <div><p>
+#. type: Content of: <div><p>
+msgid "Copyright &copy; 2003, 2007, 2013 Free Software Foundation, Inc."
+msgstr "Copyright &copy; 2003, 2007, 2013 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/deed.ru\">лицензии Creative 
"
+"Commons Attribution-NoDerivs (<em>Атрибуция&nbsp;&mdash; Без 
производных "
+"произведений</em>) 3.0 США</a>."
+
+# type: Content of: <div><div>
+#. TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.
+#. type: Content of: <div><div>
+msgid "*GNUN-SLOT: TRANSLATOR'S CREDITS*"
+msgstr ""
+"<em>Внимание! В подготовке этого перевода 
участвовал только один человек. Вы "
+"можете существенно улучшить перевод, если 
проверите его и расскажете о "
+"найденных ошибках в <a 
href=\"http://savannah.gnu.org/projects/www-ru";
+"\">русской группе переводов gnu.org</a>.</em>"
+
+#.  timestamp start 
+#. type: Content of: <div><p>
+msgid "Updated:"
+msgstr "Обновлено:"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]