# Russian translation of http://www.gnu.org/gnu/rms-lisp.html
# Copyright (C) 2012 Free Software Foundation, Inc.
# This file is distributed under the same license as the original article.
# Ineiev <ineiev@gnu.org>, 2012
# this translation lacks appropriate review
#
msgid ""
msgstr ""
"Project-Id-Version: rms-lisp.html\n"
"POT-Creation-Date: 2012-10-13 04:25-0300\n"
"PO-Revision-Date: 2012-10-30 17:34+0000\n"
"Last-Translator: Ineiev <ineiev@gnu.org>\n"
"Language-Team: Russian <www-ru-list@gnu.org>\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 (FSF)"
msgstr ""
"Мой опыт работы с Лисп и разработки GNU Emacs "
"- Проект GNU - Фонд свободного программного обеспечения"

#. type: Content of: <h2>
msgid "My Lisp Experiences and the Development of GNU Emacs"
msgstr "Мой опыт работы с Лисп и разработки GNU Emacs"

#. type: Content of: <h3>
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 не было Лиспа. Языком низкого уровня, "
"неинтерпретируемым языком был ассемблер PDP-10. Интерпретатор, который мы "
"написали, на самом деле не был написан для Emacs, он был написан для "
"<abbr>TECO</abbr>&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 созрел план <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 anymore. 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. 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; "
"аргументы-ключевые слова. На мой взгляд, это выглядит не совсем по-лисповски; "
"иногда я пишу так, но я свожу к минимуму число случаев, когда я делаю это."

#. 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 ""
"В то время для этих целей усиленно продвигался "
"<abbr>TCL</abbr>&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; подразумевает не стоимость; оно не означает, что вы "
"получаете ее бесплатно. (Возможно, вы заплатили за копию или получили копию "
"бесплатно.) Оно означает, что у вас как у пользователя есть свобода. Жизненно "
"важно то, что вы вольны выполнять программу, вольны изучать, что она делает, "
"вольны изменять ее под свои нужды, вольны перераспространять копии среди "
"других и вольны публиковать улучшенные, расширенные версии. Вот что означает "
"выражение &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."
msgstr ""
"Из этого утверждения был неверно сделан вывод, что я никогда-никогда не "
"заглядывал в программы Symbolics. В действительности здесь говорится, что я "
"делал это."

#. type: Content of: <ol><li><p>
msgid ""
"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.  But that meant "
"I had to make extra 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 was in Symbolics' code."
msgstr ""
"Исходный текст Symbolics был доступен в институте, где я имел право его "
"читать, и сначала именно так я узнавал об их изменениях. Но это значило, что "
"я был вынужден делать дополнительные усилия, чтобы решать каждую задачу "
"по-другому, чтобы избежать копирования программ 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: <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 FSF &amp; GNU inquiries to <a href=\"mailto:gnu@gnu.org\">&lt;"
"gnu@gnu.org&gt;</a>.  There are also <a href=\"/contact/\">other ways to "
"contact</a> the FSF."
msgstr ""
"Пожалуйста, присылайте запросы фонду и GNU по адресу <a href=\"mailto:"
"gnu@gnu.org\">&lt;gnu@gnu.org&gt;</a>. Есть также <a href=\"/contact/"
"\">другие способы связаться</a> с фондом."

# type: Content of: <div><p>
#. type: Content of: <div><p>
msgid ""
"Please send broken links and other corrections or suggestions to <a href="
"\"mailto:webmasters@gnu.org\">&lt;webmasters@gnu.org&gt;</a>."
msgstr ""
"Пожалуйста, присылайте отчеты о неработающих ссылках и другие поправки или "
"предложения по адресу <a href=\"mailto:webmasters@gnu.org\">&lt;"
"webmasters@gnu.org&gt;</a>."

# type: Content of: <div><p>
#. 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:web-translators@gnu.org"
"\">&lt;web-translators@gnu.org&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 Free Software Foundation, Inc."
msgstr "Copyright &copy; 2003, 2007, 2012 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>"

# type: Content of: <div><p>
#.  timestamp start 
#. type: Content of: <div><p>
msgid "Updated:"
msgstr "Обновлено:"
