summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/ru/stallman-kth.html
diff options
context:
space:
mode:
Diffstat (limited to 'talermerchantdemos/blog/articles/ru/stallman-kth.html')
-rw-r--r--talermerchantdemos/blog/articles/ru/stallman-kth.html285
1 files changed, 155 insertions, 130 deletions
diff --git a/talermerchantdemos/blog/articles/ru/stallman-kth.html b/talermerchantdemos/blog/articles/ru/stallman-kth.html
index f23378f..9bd2e2b 100644
--- a/talermerchantdemos/blog/articles/ru/stallman-kth.html
+++ b/talermerchantdemos/blog/articles/ru/stallman-kth.html
@@ -1,54 +1,78 @@
<!--#set var="ENGLISH_PAGE" value="/philosophy/stallman-kth.en.html" -->
<!--#include virtual="/server/header.ru.html" -->
-<!-- Parent-Version: 1.77 -->
+<!-- Parent-Version: 1.96 -->
+<!-- This page is derived from /server/standards/boilerplate.html -->
+<!--#set var="TAGS" value="speeches" -->
+<!--#set var="DISABLE_TOP_ADDENDUM" value="yes" -->
<!-- This file is automatically generated by GNUnited Nations! -->
-<title>Лекция в Швеции - Проект GNU - Фонд свободного программного обеспечения</title>
+<title>Лекция RMS в КТИ в Швеции - Проект GNU - Фонд свободного программного
+обеспечения</title>
+<style type="text/css" media="screen"><!--
+#content span { font-style: italic; color: #505050; }
+-->
+</style>
<!--#include virtual="/philosophy/po/stallman-kth.translist" -->
<!--#include virtual="/server/banner.ru.html" -->
-<h2>Лекция RMS в КТИ (Швеция), 30 октября 1986&nbsp;года</h2>
-
-<div style="text-align: center;">
-<p><em>(Kungliga Tekniska H&ouml;gskolan (Королевский технический институт))<br />
-Стокгольм, Швеция</em></p>
-<p><em> Организована студенческим обществом<br />
-&ldquo;Datorf&ouml;reningen Stacken&rdquo;<br />
-30 октября 1986&nbsp;года</em></p>
+<!--#include virtual="/philosophy/ph-breadcrumb.ru.html" -->
+<!--GNUN: OUT-OF-DATE NOTICE-->
+<!--#include virtual="/server/top-addendum.ru.html" -->
+<div class="article reduced-width">
+<h2>Лекция RMS в КТИ (Швеция), 1986&nbsp;год</h2>
+
+<div class="infobox">
+<p>Запись выступления Ричарда Столмена в <i lang="sv" xml:lang="sv">Kungliga
+Tekniska H&ouml;gskolan</i> (Королевском техническом институте) в Стокгольме
+(Швеция), организованного студенческим общестом <i lang="sv"
+xml:lang="sv">Datorf&ouml;reningen Stacken</i> 30&nbsp; октября
+1986&nbsp;года.
+</p>
</div>
+<hr class="thin" />
-<p><strong>[Примечание. Это слегка отредактированный конспект рассказа. Как
-таковой, он содержит и ложные вступления, и обороты, которые естественны в
+<div class="introduction">
+<p><i>Примечание. Это слегка отредактированный конспект рассказа. Как таковой,
+он содержит и ложные вступления, и обороты, которые естественны в
разговорном английском, но на бумаге выглядят странно. Неясно, как выправить
их в духе литературного английского языка без &lsquo;насилия над исходной
-речью&rsquo;.]</strong></p>
-
-<p>Кажется, что есть три вещи, о которых люди хотели бы от меня услышать. С
-одной стороны, я подумал, что лучшее, о чём можно рассказать здесь клубу
-хакеров,&mdash; это на что был похож MIT (Массачусетский технический
-институт) в прежние времена. Что делало Лабораторию искусственного
-интеллекта таким особенным местом. Но мне говорят ещё, что поскольку здесь
-совсем не те люди, которые были на конференции в понедельник и во вторник,
-что я должен рассказать о том, что происходит в проекте GNU, и что мне
-следует рассказать о том, почему программы и информация не могут
+речью&rsquo;.</i></p>
+</div>
+
+<p><b>Rms</b>. Кажется, что есть три вещи, о которых люди хотели бы от меня
+услышать. С одной стороны, я подумал, что лучшее, о чём можно рассказать
+здесь клубу хакеров,&mdash; это на что был похож MIT (Массачусетский
+технический институт) в прежние времена. Что делало Лабораторию
+искусственного интеллекта таким особенным местом. Но мне говорят ещё, что
+поскольку здесь совсем не те люди, которые были на конференции в понедельник
+и во вторник, что я должен рассказать о том, что происходит в проекте GNU, и
+что мне следует рассказать о том, почему программы и информация не могут
принадлежать кому бы то ни было, это значит&nbsp;&mdash; всего три рассказа,
а поскольку два из этих предметов заняли по часу каждый, значит, мы тут
будем довольно долго. Так что у меня была мысль, что, наверно, я мог бы
разбить это на три части, и люди могли бы выйти на тех частях, которые им
неинтересны, и что тогда, когда я подойду к концу части, я могу сказать, что
это конец, и люди могут выйти, а я могу послать Яна Рюнинга привести других
-людей. (Кто-то говорит: &ldquo;Janne, han trenger ingen mike&rdquo;
-(перевод: &ldquo;Янне, ему не надо микрофона.&rdquo;)). Ян, вы готовы
-выбегать и приводить других людей? Jmr: я ищу микрофон, и что-то
-подсказывает мне, что он&nbsp;&mdash; внутри этого запертого шкафа. Rms: Ну,
-в прежние времена в Лаборатории ИИ мы взяли бы кувалду и взломали его, и
-сломанная дверца была бы уроком всякому, кто посмел бы закрыть что-нибудь, в
-чём люди нуждаются. Но я, к счастью, практиковался в болгарском пении, так
-что я могу легко обойтись без микрофона.</p>
+людей.</p>
+
+<p><span>[Кто-то говорит: &ldquo;<i lang="sv" xml:lang="sv">Janne, han trenger
+ingen mike</i>&rdquo; (перевод: &ldquo;Янне, ему не надо
+микрофона.&rdquo;).]</span></p>
+
+<p>Ян, вы готовы выбегать и приводить других людей?</p>
+
+<p><b>Jmr</b>. Я ищу микрофон, и что-то подсказывает мне, что он&nbsp;&mdash;
+внутри этого запертого шкафа.</p>
+
+<p><b>Rms</b>. Ну, в прежние времена в Лаборатории ИИ мы взяли бы кувалду и
+взломали его, и сломанная дверца была бы уроком всякому, кто посмел бы
+закрыть что-нибудь, в чём люди нуждаются. Но я, к счастью, практиковался в
+болгарском пении, так что я могу легко обойтись без микрофона.</p>
<p>А всё-таки, установить ли мне эту систему, чтобы оповещать вас о частях
-рассказа, или вы просто хотите отсидеть все три части? (Ответ: Да-а)</p>
+рассказа, или вы просто хотите отсидеть все три части? <span>[Ответ:
+Да-а]</span></p>
<p>Когда я начал программировать, это было в 1969&nbsp;году в лаборатории IBM в
Нью-Йорке. После этого я пошёл в училище с отделением информатики, наверное,
@@ -380,8 +404,9 @@ PDP-10. Сейчас я думаю, здесь [в Стокгольме] ест
всегда работали под моим именем по двое и по трое сразу, так что они начали
блокировать мою учётную запись. А к тому времени я всё равно уже в основном
работал на других машинах, так что в конце концов я прекратил включать её
-обратно. Вот в чём дело. Я не входил в систему под своим именем&hellip; [В
-этом месте RMS был прерван бурными аплодисментами]&hellip;</p>
+обратно. Вот в чём дело. Я не входил в систему под своим
+именем&hellip;<span>[В этом месте RMS был прерван бурными
+аплодисментами]</span>&hellip;</p>
<p>Но когда они впервые получили эту систему Twenex, у них было на уме
несколько изменений, которые они хотели внести. Изменений в том, как
@@ -496,8 +521,8 @@ GNU, и он сказал: &ldquo;Нет, университет, может б
вещей. Компилятор, конечно, был написан на этом языке, и у него было много
сложных особенностей для оптимизации использования всего этого. Например,
тип &ldquo;строка&rdquo; в этом языке был параметризованным; можно было
-сказать &ldquo;строка(n)&rdquo;, если тебе нужна была строка определённой
-длины; ты также мог просто сказать &ldquo;строка&rdquo;, и параметр
+сказать <code>строка(n)</code>, если тебе нужна была строка определённой
+длины; ты также мог просто сказать <code>строка</code>, и параметр
определялся из контекста. Ну вот, строки очень важны, и для многих
конструкций, пользующихся ими, необходимо быстрое исполнение, а это значит,
что у них должно быть много особенностей для обнаружения таких вещей, как:
@@ -655,8 +680,8 @@ HELP с последующей командой или даже подкоман
порядковому номеру, или можно легко сослаться на последний элемент просто
знаком доллара. А это значительно облегчает отслеживание структуры
списка. Если есть любого рода структура C, которая содержит указатель на
-другую структуру, можно просто сделать что-нибудь вроде &ldquo;PRINT
-*$.next&rdquo;, это значит: &ldquo;Взять следующее поле из последнего, что
+другую структуру, можно просто сделать что-нибудь вроде <code>PRINT
+*$.next</code>, это значит: &ldquo;Взять следующее поле из последнего, что
ты мне показал, и показать структуру, которая указывает на это&rdquo;. И
можно повторять эту команду, и каждый раз ты увидишь следующую структуру в
списке. В то время как в любом другом отладчике C, который я видел,
@@ -680,40 +705,40 @@ HELP с последующей командой или даже подкоман
программе с предыдущим значением, которое ты сохранил в переменной
отладчика. Другое, для чего их можно применять&nbsp;&mdash; это подсчёт,
потому что, кроме прочего, присваивания&nbsp;&mdash; это выражения C,
-следовательно, ты можешь сделать &ldquo;$foo+=5&rdquo; для увеличения
-величины &ldquo;$foo&rdquo; на пять, или просто сделать
-&ldquo;$foo++&rdquo;. Это можно делать даже в условной точке останова, так
+следовательно, ты можешь сделать <code>$foo+=5</code> для увеличения
+величины <code>$foo</code> на пять, или просто сделать
+<code>$foo++</code>. Это можно делать даже в условной точке останова, так
что это дешёвый способ останавливать его каждый десятый раз, когда
-проходится точка, можно сделать &ldquo;$foo--==0&rdquo;. Всем понятно?
-Уменьшить $foo, и если это&nbsp;&mdash; ноль, остановиться. И тогда ты
-устанавливаешь $foo равным числу раз, которое хочешь пропустить, и
-отпускаешь его. Ещё это можно применять для проверки элементов
+проходится точка, можно сделать <code>$foo--==0</code>. Всем понятно?
+Уменьшить foo, и если это&nbsp;&mdash; ноль, остановиться. И тогда ты
+устанавливаешь <code>$foo</code> равным числу раз, которое хочешь
+пропустить, и отпускаешь его. Ещё это можно применять для проверки элементов
массива. Предположим, у тебя есть массив указателей, тогда ты можешь
сделать:</p>
-<pre>PRINT X[$foo++]</pre>
+<pre><code>PRINT X[$foo++]</code></pre>
<p>Но сначала ты делаешь</p>
-<pre>SET $foo=0</pre>
-
-<p>Ладно, когда делаешь это [показывает на выражение PRINT], ты получаешь
-нулевой элемент X, а тогда делаешь это снова и получаешь первый элемент, и
-предположим, это указатели на структуры, тогда ты, наверное, поставишь здесь
-звёздочку [перед X в выражении PRINT], и каждый раз он выводит следующую
-структуру, на которую указывает элемент массива. И, конечно, ты можешь
-повторять эту команду, нажимая возврат каретки. Если повторять единственную
-команду недостаточно, можно создать пользовательскую команду. Можно сказать:
-&ldquo;Define Mumble&rdquo;, а потом ты даёшь несколько строк команд, а
-потом говоришь &ldquo;end&rdquo;. И уже определена команда
-&ldquo;Mumble&rdquo;, которая выполняет эти строки. И очень полезно помещать
-эти определения в командный файл. В каждом каталоге у тебя может быть
-командный файл, который будет автоматически загружаться, когда запускаешь
-отладчик, находясь в этом каталоге. Так что для каждой программы можно
-определить набор пользовательских команд для доступа к структурам данных,
-полезный для этой программы. Можно даже снабжать свои пользовательские
-команды документацией, так что они станут обрабатываться средствами справки
-точно так же, как встроенные команды.</p>
+<pre><code>SET $foo=0</code></pre>
+
+<p>Ладно, когда делаешь это [показывает на выражение <code>PRINT</code>], ты
+получаешь нулевой элемент X, а тогда делаешь это снова и получаешь первый
+элемент, и предположим, это указатели на структуры, тогда ты, наверное,
+поставишь здесь звёздочку [перед X в выражении <code>PRINT</code>], и каждый
+раз он выводит следующую структуру, на которую указывает элемент массива. И,
+конечно, ты можешь повторять эту команду, нажимая возврат каретки. Если
+повторять единственную команду недостаточно, можно создать пользовательскую
+команду. Можно сказать: <code>Define Mumble</code>, а потом ты даёшь
+несколько строк команд, а потом говоришь <code>end</code>. И уже определена
+команда <code>Mumble</code>, которая выполняет эти строки. И очень полезно
+помещать эти определения в командный файл. В каждом каталоге у тебя может
+быть командный файл, который будет автоматически загружаться, когда
+запускаешь отладчик, находясь в этом каталоге. Так что для каждой программы
+можно определить набор пользовательских команд для доступа к структурам
+данных, полезный для этой программы. Можно даже снабжать свои
+пользовательские команды документацией, так что они станут обрабатываться
+средствами справки точно так же, как встроенные команды.</p>
<p>Другая необычная особенность этого отладчика&nbsp;&mdash; способность
отбрасывать кадры из стека. Потому что я считаю, что важно не только иметь
@@ -726,12 +751,12 @@ HELP с последующей командой или даже подкоман
поток команд. В этом отладчике можно поменять поток команд очень просто,
говоря:</p>
-<pre>SET $PC=&lt;некоторое число&gt;</pre>
+<pre><code>SET $PC=&lt;некоторое число&gt;</code></pre>
<p>Так можно устанавливать счётчик команд. Можно также устанавливать указатель
стека, или можно сказать:</p>
-<pre>SET $SP+=&lt;что-нибудь&gt;,</pre>
+<pre><code>SET $SP+=&lt;что-нибудь&gt;,</code></pre>
<p>если хочешь увеличить указатель стека на определённую величину. Но вдобавок
можно велеть ему начать с определённой строки в программе, можно установить
@@ -740,8 +765,8 @@ HELP с последующей командой или даже подкоман
хотел вызывать эту функцию? Скажем, эта функция так наворочена, что на самом
деле ты хочешь вернуться из неё назад и сделать вручную то, что эта функция
должна была сделать. Для этого можно воспользоваться командой
-&ldquo;RETURN&rdquo;. Ты выбираешь кадр стека и говоришь:
-&ldquo;RETURN&rdquo;, и это приводит к тому, что этот кадр стека и всё, что
+<code>RETURN</code>. Ты выбираешь кадр стека и говоришь:
+<code>RETURN</code>, и это приводит к тому, что этот кадр стека и всё, что
он включает, отбрасывается, как если бы эта функция завершилась прямо
сейчас, и ты также можешь задать значение, которое она должна
вернуть. Выполнение не продолжается; он делает вид, что произошло
@@ -786,7 +811,7 @@ GNU, я намерен встроить в него средства для пр
алгебраической записи. Например, команду ADD можно было бы представить так:</p>
<pre>
- r[3]=r[2]+4
+ <code>r[3]=r[2]+4</code>
</pre>
<p>Это в их компиляторе представляло бы команду, которая берёт содержимое
@@ -825,20 +850,20 @@ GNU, я намерен встроить в него средства для пр
структуры для всех этих выражений. Что-то вроде этого:</p>
<pre>
- (set (reg 2)
- (+ (reg 2)
- (int 4)))
+ <code>(set (reg 2)</code>
+ <code>(+ (reg 2)</code>
+ <code>(int 4)))</code>
</pre>
<p>Это выглядит, как LISP, но семантика этого не совсем, как в LISP, потому что
каждый символ здесь распознаётся обособленно. Есть конкретный фиксированный
набор этих символов, который определён, всё, что нужно. И у каждого есть
-конкретная комбинация типов параметров, например, у &ldquo;reg&rdquo; это
-всегда целое, потому что регистры перенумерованы, а &ldquo;+&rdquo;
-принимает два подвыражения, и так далее. И у каждого из этих выражений есть
-также тип данных, который по существу говорит, фиксированная запятая или
-плавающая, и сколько байтов&nbsp;&mdash; длина. Это можно расширить, чтобы
-принимать во внимание другие аспекты, если понадобится.</p>
+конкретная комбинация типов параметров, например, у <code>reg</code> это
+всегда целое, потому что регистры перенумерованы, а <code>+</code> принимает
+два подвыражения, и так далее. И у каждого из этих выражений есть также тип
+данных, который по существу говорит, фиксированная запятая или плавающая, и
+сколько байтов&nbsp;&mdash; длина. Это можно расширить, чтобы принимать во
+внимание другие аспекты, если понадобится.</p>
<p>А автоматическое распределение регистров я делаю так, что когда я изначально
генерирую этот код и когда я делаю объединение и всё такое, для каждой
@@ -882,7 +907,7 @@ GNU, я намерен встроить в него средства для пр
смотрит на это дерево и генерирует код вроде этого [код, похожий на
LISP]. Потом несколько проходов оптимизации. Один&nbsp;&mdash; чтобы
обрабатывать вещи вроде переходов через переходы, переходы на переходы,
-переходы на .+1, всё, что может быть упрощено немедленно. Потом
+переходы на <code>.+1</code>, всё, что может быть упрощено немедленно. Потом
распознаватель общих подвыражений, потом нахождение базовых блоков и
выполнение анализа потоков данных, чтобы знать, какие величины используются
в каждой команде, и никогда&nbsp;&mdash; после неё. А также связывание
@@ -932,13 +957,13 @@ LEX. Описание машины&nbsp;&mdash; это просто програ
самом деле ему это не потребуется, так что он может освободить слишком много
всего, и стало быть не пользоваться регистрами, которыми мог бы.</p>
-<p>(Вопрос: У вас есть генератор кода для 32000?) Пока нет, но, опять-таки, вам
-нужен будет не генератор кода, а просто описание машины. Список всех
-машинных команд в этом [лиспоподобном] виде. Так что фактически кроме работы
-по воплощению идеи об ограничениях на то, какие аргументы могут быть в
-регистрах и в каких видах регистров, что было нужно для 68000 и не нужно для
-VAX, работа по переносу этого компилятора с VAX на 68000 заняла всего
-несколько дней. Так что переносить очень легко.</p>
+<p><span>[Вопрос: У вас есть генератор кода для 32000?]</span> Пока нет, но,
+опять-таки, вам нужен будет не генератор кода, а просто описание
+машины. Список всех машинных команд в этом [лиспоподобном] виде. Так что
+фактически кроме работы по воплощению идеи об ограничениях на то, какие
+аргументы могут быть в регистрах и в каких видах регистров, что было нужно
+для 68000 и не нужно для VAX, работа по переносу этого компилятора с VAX на
+68000 заняла всего несколько дней. Так что переносить очень легко.</p>
<p>В настоящее время компилятор генерирует ассемблерный код и может
генерировать отладочные данные как в формате, который понимает DBX, так и в
@@ -952,9 +977,9 @@ Unix. Вторая: мне надо сделать эти распределен
и тогда я выпущу компилятор.</p>
<p>Другая немалая часть системы, которая существует&nbsp;&mdash; это
-ядро. (Вопрос: перерыв?) А, да, по-моему, мы забыли про перерывы. Почему бы
-мне не закончить про ядро, это должно занять только около пяти минут, а
-потом мы можем сделать перерыв.</p>
+ядро. <span>[Вопрос: перерыв?]</span> А, да, по-моему, мы забыли про
+перерывы. Почему бы мне не закончить про ядро, это должно занять только
+около пяти минут, а потом мы можем сделать перерыв.</p>
<p>Ну вот, в качестве ядра я планирую взять систему под названием TRIX
(насколько я знаю, это ничего не означает), которая возникла как
@@ -985,7 +1010,7 @@ Unix. Это облегчило отладку, потому что можно
версий, восстановление удалённых файлов, сведения о том, когда и как и где
файл заархивирован на ленте, атомарное замещение файлов. Я считаю, что в
Unix хорошо, что когда файл записывается, можно уже посмотреть на то, что
-там происходит, например, можно вызвать &ldquo;tail&rdquo; и узнать, как
+там происходит, например, можно вызвать <code>tail</code> и узнать, как
далеко зашло дело, это очень славно. А если программа умирает, частично
записав файл, видно, что она сделала. Всё это хорошо, но тот частично
записанный вывод никогда не должен приниматься за полный вывод, который ты
@@ -1004,15 +1029,15 @@ Unix хорошо, что когда файл записывается, можн
просто указываешь имя файла обычным образом. Но если ты хочешь указать
точное имя, либо потому, что ты хочешь явно задать, какую версию брать, либо
потому, что ты вообще не хочешь никаких версий, ты помещаешь в конец
-точку. Так что если задаёшь имя файла &ldquo;FOO&rdquo;, это значит:
+точку. Так что если задаёшь имя файла <code>FOO</code>, это значит:
&ldquo;Искать версии, которые есть у FOO, и взять самую свежую&rdquo;. Но
-если ты говоришь &ldquo;FOO.&rdquo;, это значит: &ldquo;взять в точности имя
-FOO, и ничто другое&rdquo;. Если ты говоришь &ldquo;FOO.3.&rdquo;, это
-говорит: &ldquo;взять в точности имя FOO.3 &rdquo;, то есть, конечно, версию
-три FOO, и никакую другую. При выводе, если ты просто говоришь
-&ldquo;FOO&rdquo;, она в конце концов создаст новую версию
-&ldquo;FOO&rdquo;, но если ты говоришь &ldquo;FOO.&rdquo;, она запишет файл,
-названный в точности &ldquo;FOO&rdquo;.</p>
+если ты говоришь <code>FOO.</code>, это значит: &ldquo;взять в точности имя
+FOO, и ничто другое&rdquo;. Если ты говоришь <code>FOO.3.</code>, это
+говорит: &ldquo;взять в точности имя <code>FOO.3</code>&rdquo;, то есть,
+конечно, версию три FOO, и никакую другую. При выводе, если ты просто
+говоришь <code>FOO</code>, она в конце концов создаст новую версию FOO, но
+если ты говоришь <code>FOO.</code>, она запишет файл, названный в точности
+&ldquo;FOO&rdquo;.</p>
<p>Ну, есть кое-какие сложности, связанные с проработкой всех деталей этого и
обследованием, не кроются ли там какие-нибудь проблемы, не выйдут ли из
@@ -1033,27 +1058,27 @@ FOO, и ничто другое&rdquo;. Если ты говоришь &ldquo;FO
их версий, так что если в определённом каталоге есть, например, файлы:</p>
<pre>
- foo.1 foo.2 bar.8
+ <code>foo.1 foo.2 bar.8</code>
</pre>
-<p>Если я говорю &ldquo;*&rdquo;, это эквивалентно</p>
+<p>Если я говорю <code>*</code>, это эквивалентно</p>
<pre>
- foo bar
+ <code>foo bar</code>
</pre>
<p>потому что она берёт все имена и отбрасывает их версии, и берёт все
-различные имена. Но если я говорю: &ldquo;*.&rdquo;, тогда она берёт все
+различные имена. Но если я говорю: <code>*.</code>, тогда она берёт все
имена в точности, ставит точку после каждого, и сопоставляет с ними. Так что
это даёт мне все имена для всех индивидуальных версий, которые существуют. И
-аналогично, понятна разница между &ldquo;*.c&rdquo; и &ldquo;*.c.&rdquo;:
-это [первое] даст по существу ссылки на все файлы &ldquo;*.c&rdquo; без
-версий, в то время как это [второе] даст все версии ... ну, на самом деле не
-даст, надо сказать &ldquo;*.c.*.&rdquo;. Здесь я ещё не продумал деталей.</p>
+аналогично, понятна разница между <code>*.c</code> и <code>*.c.</code>: это
+[первое] даст по существу ссылки на все файлы <code>*.c</code> без версий, в
+то время как это [второе] даст все версии ... ну, на самом деле не даст,
+надо сказать <code>*.c.*.</code>; здесь я ещё не продумал деталей.</p>
<p>Другая вещь, которая невидима пользователю и которую определённо можно
внести без потери совместимости,&mdash; это стойкость файловой системы к
сбоям. А именно, записывая все данные на диск в нужном порядке, устроить
-так, чтобы можно было нажать &ldquo;останов&rdquo; в любое время без
+так, чтобы можно было нажать <kbd>останов</kbd> в любое время без
какого-либо нарушения файловой системы на диске. Как это делать, настолько
хорошо известно, я просто не могу представить, почему кто-то мог бы
пренебрегать этим. Другая идея&nbsp;&mdash; ещё более избыточная
@@ -1096,7 +1121,7 @@ FOO, и ничто другое&rdquo;. Если ты говоришь &ldquo;FO
действительно противоречивое. Так что не уходите пока. Если вы уйдёте
сейчас, вы пропустите самое интересное.</p>
-<p>[Тут у нас был пятнадцатиминутный перерыв.]</p>
+<p><strong>[Тут у нас был пятнадцатиминутный перерыв.]</strong></p>
<p>Меня просили объявить, как можно получить копии программ GNU. Ну, один
способ, конечно, если у вас есть знакомый приятель, у которого есть копия,
@@ -1542,12 +1567,12 @@ MIT, мы сами написали программы, и мы внесли м
меня не было времени проработать, как следует, всю ленту] </strong></p>
<dl>
-<dt><strong>В:</strong> Кто-нибудь пытался создавать вам проблемы?</dt>
+<dt><b>В:</b> Кто-нибудь пытался создавать вам проблемы?</dt>
-<dd><p><strong>О:</strong> Единственный раз, когда кто-то пытался мне создать
-проблему, это были те собственники, так называемые, самозваные собственники
-Emacs Гослинга. Кроме этого, у них нет оснований для того, чтобы делать это,
-так что они могут не так уж много. Между прочим, мне бы хотелось привлечь
+<dd><p><b>О:</b> Единственный раз, когда кто-то пытался мне создать проблему, это
+были те собственники, так называемые, самозваные собственники Emacs
+Гослинга. Кроме этого, у них нет оснований для того, чтобы делать это, так
+что они могут не так уж много. Между прочим, мне бы хотелось привлечь
внимание всех к тому, как люди применяют язык для того, чтобы попытаться
поощрять людей думать определённым образом и не думать по-другому. Многое из
современной терминологии в этой отрасли было выбрано самозваными
@@ -1579,7 +1604,7 @@ Emacs Гослинга. Кроме этого, у них нет основани
технического сдвига. Сейчас происходит обратный сдвиг. Индивидуальное
копирование информации всё улучшается и улучшается, и мы видим, что предел
прогресса техники&nbsp;&mdash; возможность копирования любого рода
-информации. [перерыв из-за переворота ленты]</p>
+информации. <span>[перерыв из-за переворота ленты]</span></p>
<p>Итак, мы снова в том же положении, как в древнем мире, где в авторских
правах не было смысла.</p>
@@ -1644,17 +1669,16 @@ Emacs Гослинга. Кроме этого, у них нет основани
действительными фактами мира, в котором мы живём.</p>
</dd>
-<dt><strong>В:</strong> Так что это сводится к владению информацией. Как вы
-думаете, есть ли примеры, когда, по вашему мнению, нет ничего дурного в том,
-чтобы владеть информацией?</dt>
+<dt><b>В:</b> Так что это сводится к владению информацией. Как вы думаете, есть
+ли примеры, когда, по вашему мнению, нет ничего дурного в том, чтобы владеть
+информацией?</dt>
-<dd><p><strong>О:</strong> Для сведений, которые не общеполезны или несут
-персональный характер, я бы сказал, что это допустимо. Другими словами, не
-сведения о том, как делать что-нибудь, а о том, что вы намереваетесь
-делать. Сведения, единственная ценность которых спекулятивна, то есть они
-могут получить от вас какие-то деньги, но не могут создать что-нибудь с их
-помощью. Есть все основания, я бы сказал, хранить эти сведения в секрете и
-под контролем.</p>
+<dd><p><b>О:</b> Для сведений, которые не общеполезны или несут персональный
+характер, я бы сказал, что это допустимо. Другими словами, не сведения о
+том, как делать что-нибудь, а о том, что вы намереваетесь делать. Сведения,
+единственная ценность которых спекулятивна, то есть они могут получить от
+вас какие-то деньги, но не могут создать что-нибудь с их помощью. Есть все
+основания, я бы сказал, хранить эти сведения в секрете и под контролем.</p>
<p>Но когда речь идёт о творческой информации, информации, от которой люди
могут получить пользу или удовольствие и которой будет пользоваться и
@@ -1662,6 +1686,7 @@ Emacs Гослинга. Кроме этого, у них нет основани
должны поощрять копирование.</p>
</dd>
</dl>
+</div>
<div class="translators-notes">
@@ -1673,7 +1698,7 @@ university compiler kit&rdquo; может означать также &ldquo;с
<!-- for id="content", starts in the include above -->
<!--#include virtual="/server/footer.ru.html" -->
-<div id="footer">
+<div id="footer" role="contentinfo">
<div class="unprintable">
<p>Пожалуйста, присылайте общие запросы фонду и GNU по адресу <a
@@ -1693,7 +1718,7 @@ href="/contact/">другие способы связаться</a> с фонд
&lt;web-translators@gnu.org&gt;</a>.</p>
- <p>For information on coordinating and submitting translations of
+ <p>For information on coordinating and contributing translations of
our web pages, see <a
href="/server/standards/README.translations.html">Translations
README</a>. -->
@@ -1723,9 +1748,8 @@ href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>.
There is more detail about copyright years in the GNU Maintainers
Information document, www.gnu.org/prep/maintain. -->
<p>
-Copyright &copy; 1987, 2009, 2010, 2020 Richard Stallman and Bjrn Remseth
-</p> <p>Copyright &copy; 2009, 2011, 2020 Free Software Foundation,
-Inc. (translation)
+Copyright &copy; 1987, 2022 Richard Stallman and Bjrn Remseth <br
+/>Copyright &copy; 2009, 2022 Free Software Foundation, Inc. (translation)
</p>
<p>
Permission is granted to make and distribute verbatim copies of this
@@ -1744,11 +1768,12 @@ appear. </p><p> (Разрешается делать и распространя
<p class="unprintable"><!-- timestamp start -->
Обновлено:
-$Date: 2020/07/01 17:03:00 $
+$Date: 2022/06/17 02:00:07 $
<!-- timestamp end -->
</p>
</div>
</div>
+<!-- for class="inner", starts in the banner include -->
</body>
</html>