[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
www/gnu po/rms-lisp.translist rms-lisp.ru.html ...
From: |
GNUN |
Subject: |
www/gnu po/rms-lisp.translist rms-lisp.ru.html ... |
Date: |
Thu, 28 Feb 2013 05:29:37 +0000 |
CVSROOT: /web/www
Module name: www
Changes by: GNUN <gnun> 13/02/28 05:29:37
Modified files:
gnu/po : rms-lisp.translist
Added files:
gnu : rms-lisp.ru.html
gnu/po : rms-lisp.ru-en.html
Log message:
Automatic update by GNUnited Nations.
CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/gnu/rms-lisp.ru.html?cvsroot=www&rev=1.1
http://web.cvs.savannah.gnu.org/viewcvs/www/gnu/po/rms-lisp.translist?cvsroot=www&r1=1.5&r2=1.6
http://web.cvs.savannah.gnu.org/viewcvs/www/gnu/po/rms-lisp.ru-en.html?cvsroot=www&rev=1.1
Patches:
Index: po/rms-lisp.translist
===================================================================
RCS file: /web/www/www/gnu/po/rms-lisp.translist,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- po/rms-lisp.translist 11 Mar 2012 11:49:36 -0000 1.5
+++ po/rms-lisp.translist 28 Feb 2013 05:29:37 -0000 1.6
@@ -8,6 +8,8 @@
<li><a href="/gnu/rms-lisp.es.html">español</a> [es]</li>
<!-- French -->
<li><a href="/gnu/rms-lisp.fr.html">français</a> [fr]</li>
+<!-- Russian -->
+<li><a href="/gnu/rms-lisp.ru.html">ÑÑÑÑкий</a> [ru]</li>
<!-- Albanian -->
<li><a href="/gnu/rms-lisp.sq.html">Shqip</a> [sq]</li>
</ul>
Index: rms-lisp.ru.html
===================================================================
RCS file: rms-lisp.ru.html
diff -N rms-lisp.ru.html
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ rms-lisp.ru.html 28 Feb 2013 05:29:35 -0000 1.1
@@ -0,0 +1,615 @@
+
+
+<!--#include virtual="/server/header.ru.html" -->
+<!-- Parent-Version: 1.72 -->
+
+<!-- This file is automatically generated by GNUnited Nations! -->
+ <!--#set var="ENGLISH_PAGE" value="/gnu/rms-lisp.en.html" -->
+
+<title>Ðой опÑÑ ÑабоÑÑ Ñ ÐиÑпом и ÑазвиÑие GNU
Emacs - ÐÑÐ¾ÐµÐºÑ GNU - Фонд Ñвободного
+пÑогÑаммного обеÑпеÑениÑ</title>
+
+<!--#include virtual="/server/banner.ru.html" -->
+<!--#include virtual="/gnu/po/rms-lisp.translist" -->
+<h2>Ðой опÑÑ ÑабоÑÑ Ñ ÐиÑпом и ÑазвиÑие GNU
Emacs</h2>
+
+<blockquote><p>(ÐапиÑÑ ÑеÑи РиÑаÑда СÑолмена,
28 окÑÑбÑÑ 2002 года на
+ÐеждÑнаÑодной конÑеÑенÑии по
ÐиÑпÑ).</p></blockquote>
+
+<p>ÐоÑколÑÐºÑ Ð½Ð¸ одна из моиÑ
обÑÑнÑÑ
ÑеÑей
не Ð¸Ð¼ÐµÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¾Ð³Ð¾ оÑноÑÐµÐ½Ð¸Ñ Ðº ÐиÑпÑ,
+ни одна из ниÑ
не подÑ
Ð¾Ð´Ð¸Ñ Ð´Ð»Ñ
ÑегоднÑÑнего вÑÑÑÑплениÑ. Так ÑÑо мне
+пÑидеÑÑÑ Ð¸Ð¼Ð¿ÑовизиÑоваÑÑ. ÐоÑколÑÐºÑ Ð²
Ñвоей пÑоÑеÑÑионалÑной деÑÑелÑноÑÑи
+мне доводилоÑÑ Ð²ÑполнÑÑÑ Ð´Ð¾Ð²Ð¾Ð»Ñно много
ÑабоÑÑ, ÑвÑзанной Ñ ÐиÑпом, Ñ Ð¼ÐµÐ½Ñ,
+должно бÑÑÑ, еÑÑÑ ÑÑо поÑаÑÑказаÑÑ.</p>
+
+<p>ÐÐ¾Ñ Ð¿ÐµÑÐ²Ð°Ñ Ð²ÑÑÑеÑа Ñ ÐиÑпом пÑоизоÑла,
когда Ñ Ð¿ÑоÑел ÑÑководÑÑво по
+ÐиÑп 1.5 в ÑÑаÑÑиÑ
клаÑÑаÑ
. Ðменно Ñогда
Ð¼ÐµÐ½Ñ Ð¿Ð¾Ñазила идеÑ, ÑÑо можеÑ
+бÑÑÑ Ñакой ÑзÑк пÑогÑаммиÑованиÑ.
ÐозможноÑÑÑ ÑделаÑÑ ÑÑо-нибÑÐ´Ñ Ð½Ð° ÐиÑпе
+впеÑвÑе поÑвилаÑÑ Ñ Ð¼ÐµÐ½Ñ, когда Ñ Ð±Ñл на
младÑиÑ
кÑÑÑаÑ
в ÐаÑваÑде и пиÑал
+инÑеÑпÑеÑаÑÐ¾Ñ ÐиÑпа Ð´Ð»Ñ PDP-11. ÐÑо бÑла
оÑÐµÐ½Ñ Ð¼Ð°Ð»ÐµÐ½ÑÐºÐ°Ñ Ð¼Ð°Ñина —
+в ней бÑло ÑÑо-Ñо вÑоде 8k памÑÑи,— и мне
ÑдалоÑÑ Ð½Ð°Ð¿Ð¸ÑаÑÑ
+инÑеÑпÑеÑаÑÐ¾Ñ Ð´Ð»Ð¸Ð½Ð¾Ð¹ в ÑÑÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´. ÐÑо
оÑÑавлÑло мне немного меÑÑа длÑ
+даннÑÑ
. ÐÑо бÑло до Ñого, как Ñ Ñзнал, как
вÑглÑдÑÑ Ð½Ð°ÑÑоÑÑие пÑогÑаммÑ,
+коÑоÑÑе вÑполнÑÑÑ Ð½Ð°ÑÑоÑÑие ÑиÑÑемнÑе
задаÑи.</p>
+
+<p>Я наÑал вÑполнÑÑÑ ÑабоÑÑ Ð½Ð°Ð´ наÑÑоÑÑей
ÑеализаÑией ÐиÑпа Ñ Ðжоном-РУайÑом,
+как ÑолÑко Ñ Ð½Ð°Ñал ÑабоÑаÑÑ Ð²
ÐаÑÑаÑÑÑеÑÑком ÑеÑ
ниÑеÑком инÑÑиÑÑÑе. ТÑда
+Ð¼ÐµÐ½Ñ Ð¿ÑинÑл не Ðжон-Ð, а РаÑÑелл ÐоÑÑÑкеÑ,
ÑÑо бÑло в вÑÑÑей ÑÑепени
+паÑадокÑалÑно, еÑли ÑÑеÑÑÑ Ñо, ÑÑо
ÑлÑÑилоÑÑ Ð²Ð¿Ð¾ÑледÑÑвии — он,
+должно бÑÑÑ, ÑилÑно об ÑÑом пожалел.</p>
+
+<p>Ð ÑемидеÑÑÑÑе Ð³Ð¾Ð´Ñ XX века, до Ñого, как
Ð¼Ð¾Ñ Ð¶Ð¸Ð·Ð½Ñ Ð¿Ð¾Ð»Ð¸ÑизиÑовалаÑÑ Ð²
+ÑезÑлÑÑаÑе ÑжаÑнÑÑ
ÑобÑÑий, Ñ Ð¿ÑоÑÑо делал
одно ÑаÑÑиÑение ÑазлиÑнÑÑ
+пÑогÑамм за дÑÑгим, и болÑÑинÑÑво из ниÑ
не
имело никакого оÑноÑÐµÐ½Ð¸Ñ Ðº
+ÐиÑпÑ. Ðо попÑÑно Ñ Ð¿Ð¸Ñал ÑекÑÑовÑй
ÑедакÑоÑ, Emacs. ÐнÑеÑеÑÐ½Ð°Ñ Ð¼ÑÑлÑ,
+Ð·Ð°Ð»Ð¾Ð¶ÐµÐ½Ð½Ð°Ñ Ð² Emacs, ÑоÑÑоÑла в Ñом, ÑÑо в нем
бÑл ÑзÑк пÑогÑаммиÑованиÑ, и
+полÑзоваÑелÑÑкие ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ÑедакÑиÑованиÑ
пиÑалиÑÑ Ð½Ð° ÑÑом инÑеÑпÑеÑиÑÑемом
+ÑзÑке пÑогÑаммиÑованиÑ, Ñак ÑÑо во вÑемÑ
ÑедакÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð² ÑедакÑÐ¾Ñ Ð¼Ð¾Ð¶Ð½Ð¾
+бÑло загÑÑжаÑÑ Ð½Ð¾Ð²Ñе командÑ. Ðожно бÑло
подÑедакÑиÑоваÑÑ Ð¿ÑогÑаммÑ,
+коÑоÑÑми полÑзÑеÑÑÑÑ, а поÑом пÑодолжаÑÑ
ÑедакÑиÑоваÑÑ Ð¸Ð¼Ð¸. ÐÑак, Ñ Ð½Ð°Ñ Ð±Ñла
+ÑиÑÑема, Ð¿Ð¾Ð»ÐµÐ·Ð½Ð°Ñ Ð½Ðµ Ð´Ð»Ñ Ð¿ÑогÑаммиÑованиÑ,
и вÑе-Ñаки во вÑÐµÐ¼Ñ Ð¿Ð¾Ð»ÑзованиÑ
+ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло пÑогÑаммиÑоваÑÑ. Я не знаÑ,
бÑла ли ÑÑо пеÑÐ²Ð°Ñ ÑÐ°ÐºÐ°Ñ ÑиÑÑема,
+но ÑÑо опÑеделенно бÑл пеÑвÑй Ñакой
ÑедакÑоÑ.</p>
+
+<p>ÐÑа аÑмоÑÑеÑа поÑÑÑÐ¾ÐµÐ½Ð¸Ñ Ð³Ð¸Ð³Ð°Ð½ÑÑкиÑ
,
ÑложнÑÑ
пÑогÑамм Ð´Ð»Ñ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² Ñвоем
+ÑобÑÑвенном ÑедакÑиÑовании, а заÑем
обмена ими Ñ Ð´ÑÑгими лÑдÑми, пиÑала дÑÑ
+неÑÑеÑненного ÑоÑÑÑдниÑеÑÑва, коÑоÑÑй
ÑаÑил Ñогда в ÐабоÑаÑоÑии
+иÑкÑÑÑÑвенного инÑеллекÑа. ÐÐ´ÐµÑ Ð±Ñла в
Ñом, ÑÑо можно пеÑедаÑÑ ÐºÐ¾Ð¿Ð¸Ñ
+пÑогÑаммÑ, коÑоÑÐ°Ñ Ñ ÑÐµÐ±Ñ ÐµÑÑÑ, ÑомÑ, комÑ
она нÑжна. ÐÑ Ð¾Ð±Ð¼ÐµÐ½Ð¸Ð²Ð°Ð»Ð¸ÑÑ
+пÑогÑаммами Ñо вÑеми, кÑо ÑолÑко Ñ
оÑел ими
полÑзоваÑÑÑÑ, пÑогÑÐ°Ð¼Ð¼Ñ Ð±Ñли
+ÑеловеÑеÑким знанием. Так ÑÑо, Ñ
оÑÑ Ð¸ не
бÑло оÑганизованной полиÑиÑеÑкой
+мÑÑли, ÑвÑзÑваÑÑей Ñо, как Ð¼Ñ Ð¾Ð±Ð¼ÐµÐ½Ð¸Ð²Ð°Ð»Ð¸ÑÑ
пÑогÑаммами, Ñ ÑÑÑÑойÑÑвом Emacs,
+Ñ Ñбежден, ÑÑо Ð¼ÐµÐ¶Ð´Ñ Ð½Ð¸Ð¼Ð¸ бÑла ÑвÑÐ·Ñ —
возможно, неоÑознаннаÑ. Я
+дÑмаÑ, ÑÑо именно пÑиÑода наÑего обÑаза
жизни в ÐабоÑаÑоÑии иÑкÑÑÑÑвенного
+инÑеллекÑа пÑивела к ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Emacs и
Ñделала его Ñаким, каким он бÑл.</p>
+
+<p>РпеÑвонаÑалÑном Emacs ÐиÑпа не бÑло.
ЯзÑком низкого ÑÑÐ¾Ð²Ð½Ñ —
+неинÑеÑпÑеÑиÑÑемÑм ÑзÑком — бÑл
аÑÑÐµÐ¼Ð±Ð»ÐµÑ PDP-10. ÐнÑеÑпÑеÑаÑоÑ,
+коÑоÑÑй Ð¼Ñ Ð¿Ð¸Ñали, на Ñамом деле пиÑалÑÑ Ð½Ðµ
Ð´Ð»Ñ Emacs, он пиÑалÑÑ Ð´Ð»Ñ
+TECO <a href="#tf1">[1]</a>. ÐÑо бÑл Ð½Ð°Ñ ÑекÑÑовÑй
ÑедакÑÐ¾Ñ Ð¸ кÑайне
+ÑÑодливÑй ÑзÑк пÑогÑаммиÑованиÑ,
наÑÑолÑко ÑÑодливÑй, наÑколÑко ÑÑо ÑолÑко
+возможно. ÐÑиÑина бÑла в Ñом, ÑÑо он не бÑл
ÑпÑоекÑиÑован как ÑзÑк
+пÑогÑаммиÑованиÑ, он бÑл ÑпÑоекÑиÑован
как ÑзÑк ÑедакÑоÑа и команд. ÐÑли
+Ñакие командÑ, как “5l”, ÑÑо ознаÑало
“пеÑедвинÑÑÑÑÑ Ð½Ð°
+пÑÑÑ ÑÑÑок”, или “i” Ñ Ð¿Ð¾ÑледÑÑÑим
ÑекÑÑом и <em>ESC</em>
+Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð²ÑÑавиÑÑ ÑÑÐ¾Ñ ÑекÑÑ. Ðожно
бÑло набÑаÑÑ ÑÑÑокÑ, коÑоÑÐ°Ñ Ð±Ñла
+поÑледоваÑелÑноÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´, ÑÑо
назÑвалоÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑокой. Ðна
+завеÑÑалаÑÑ Ñимволами <em>ESC</em> <em>ESC</em>, и
Ñогда поÑледоваÑелÑноÑÑÑ
+вÑполнÑлаÑÑ.</p>
+
+<p>ÐÑ, лÑди Ñ
оÑели дополниÑÑ ÑÑÐ¾Ñ ÑзÑк
ÑÑедÑÑвами пÑогÑаммиÑованиÑ, Ñак ÑÑо они
+добавили некоÑоÑÑе Ñакие ÑÑедÑÑва.
ÐапÑимеÑ, одной из пеÑвÑÑ
бÑла добавлена
+конÑÑÑÑкÑÐ¸Ñ Ñикла, ÑÑо бÑли <em><</em>
<em>></em>. Ðми окÑÑжали
+командÑ, и ÑÑо бÑл Ñикл. ÐÑли дÑÑгие
непонÑÑнÑе командÑ, коÑоÑÑми можно бÑло
+полÑзоваÑÑÑÑ Ð´Ð»Ñ ÑÑловного вÑÑ
ода из
Ñикла. ÐÑи Ñоздании Emacs Ð¼Ñ <a
+href="#foot-1">(1)</a> добавили возможноÑÑÑ
ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´Ð¿ÑогÑамм Ñ
+именами. Ðо Ñого ÑÑо бÑло вÑоде ÐейÑика, в
именаÑ
подпÑогÑамм могло бÑÑÑ
+ÑолÑко по одной бÑкве. ÐиÑаÑÑ Ð½Ð° ÑÑом
болÑÑие пÑогÑÐ°Ð¼Ð¼Ñ Ð±Ñло ÑÑÑдно, Ñак ÑÑо
+Ð¼Ñ Ð´Ð¾Ð¿Ð¸Ñали пÑогÑаммÑ, ÑÑÐ¾Ð±Ñ Ñ Ð½Ð¸Ñ
могли
бÑÑÑ Ð±Ð¾Ð»ÐµÐµ длиннÑе имена. Ðа Ñамом
+деле Ñам бÑли доволÑно замÑÑловаÑÑе
ÑÑедÑÑва; по-моемÑ, ÑÑедÑÑво
+“unwind-protect” ÐиÑп заимÑÑвовал из TECO.</p>
+
+<p>ÐÑ Ð½Ð°Ñали закладÑваÑÑ Ð´Ð¾Ð²Ð¾Ð»Ñно
замÑÑловаÑÑе ÑÑедÑÑва, и Ñ Ð²ÑеÑ
Ñ Ð½Ð¸Ñ
бÑл
+ÑÑодливейÑий ÑинÑакÑиÑ, какой ÑолÑко
можно пÑидÑмаÑÑ, и ÑÑо
+ÑабоÑало — лÑди вÑе Ñавно бÑли в
ÑоÑÑоÑнии пиÑаÑÑ Ð½Ð° ÑÑом кÑÑпнÑе
+пÑогÑаммÑ. ÐÑевиднÑм ÑÑоком бÑло Ñо, ÑÑо
Ñакой ÑзÑк, как TECO, коÑоÑÑй не
+бÑл ÑпÑоекÑиÑован как ÑзÑк
пÑогÑаммиÑованиÑ,— ÑÑо бÑл невеÑнÑй
+пÑÑÑ. ЯзÑк, на коÑоÑом Ð²Ñ ÑÑÑоиÑе Ñвои
ÑаÑÑиÑениÑ, должен задÑмÑваÑÑÑÑ ÐºÐ°Ðº
+ÑзÑк пÑогÑаммиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ задним ÑиÑлом;
его ÑледÑÐµÑ Ð¿ÑоекÑиÑоваÑÑ ÐºÐ°Ðº ÑзÑк
+пÑогÑаммиÑованиÑ. ФакÑиÑеÑки, мÑ
обнаÑÑжили, ÑÑо лÑÑÑим ÑзÑком
+пÑогÑаммиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ ÑÑиÑ
Ñелей бÑл
ÐиÑп.</p>
+
+<p>ÐÑо оÑкÑÑл ÐеÑни ÐÑинбеÑг <a
href="#foot-2">(2)</a>. Ðн напиÑал веÑÑиÑ
+Emacs на MacLisp в Multics, и он пиÑал Ñвои пÑогÑаммÑ
на MacLisp
+пÑÑмолинейнÑм манеÑом. Сам ÑедакÑÐ¾Ñ Ð±Ñл
полноÑÑÑÑ Ð½Ð°Ð¿Ð¸Ñан на ÐиÑпе. Emacs
+Ð´Ð»Ñ Multics имел болÑÑой ÑÑпеÑ
—
пÑогÑаммиÑование новÑÑ
команд
+ÑедакÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð±Ñло Ñаким ÑдобнÑм, ÑÑо
даже ÑекÑеÑаÑÑи в его конÑоÑе наÑали
+ÑÑиÑÑÑÑ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð¼. Ðни полÑзовалиÑÑ
ÑÑководÑÑвом, коÑоÑое кÑо-Ñо
+напиÑал и в коÑоÑом бÑло показано, как
дополнÑÑÑ Emacs, но Ñам не
+говоÑилоÑÑ, ÑÑо ÑÑо пÑогÑаммиÑование. Так
ÑÑо ÑекÑеÑаÑÑ, коÑоÑÑе дÑмали, ÑÑо
+не могÑÑ Ð¿ÑогÑаммиÑоваÑÑ, ÑÑо не
оÑпÑгивало. Ðни ÑиÑали ÑÑководÑÑво,
+обнаÑÑживали, ÑÑо могÑÑ Ð´ÐµÐ»Ð°ÑÑ ÑÑо-Ñо
полезное, и ÑÑилиÑÑ Ð¿ÑогÑаммиÑоваÑÑ.</p>
+
+<p>Так ÑÑо ÐеÑни понÑл, ÑÑо пÑиложение—
пÑогÑамма, коÑоÑÐ°Ñ Ð´ÐµÐ»Ð°ÐµÑ ÑÑо-Ñо
+полезное Ð´Ð»Ñ Ð²Ð°Ñ — внÑÑÑи коÑоÑого
бÑл ÐиÑп и коÑоÑое Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе
+дополнÑÑÑ, пеÑепиÑÑÐ²Ð°Ñ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ð½Ð°
ÐиÑпе,— на Ñамом деле оÑенÑ
+Ñ
оÑоÑий ÑпоÑоб наÑÑиÑÑÑÑ Ð¿ÑогÑаммиÑоваÑÑ.
ÐÑо Ð´Ð°ÐµÑ Ð»ÑдÑм возможноÑÑÑ Ð¿Ð¸ÑаÑÑ
+неболÑÑие пÑогÑаммÑ, коÑоÑÑе Ð´Ð»Ñ Ð½Ð¸Ñ
полезнÑ, Ñего в болÑÑинÑÑве облаÑÑей
+вÑ, навеÑное, не можеÑе. Ðни могÑÑ Ð¿Ð¾Ð»ÑÑаÑÑ
пооÑÑение Ð¾Ñ Ð¿ÑакÑиÑеÑкой полÑзÑ
+Ð´Ð»Ñ Ð½Ð¸Ñ
ÑамиÑ
на ÑÑадии, где ÑÑо ÑÑÑднее
вÑего — когда они не
+дÑмаÑÑ, ÑÑо могÑÑ Ð¿ÑогÑаммиÑоваÑÑ,—
пока они не дойдÑÑ Ð´Ð¾ ÑоÑки, в
+коÑоÑой они Ñже ÑÑали пÑогÑаммиÑÑами.</p>
+
+<p>Ð ÑÑÐ¾Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð»Ñди наÑали ÑазмÑÑлÑÑÑ, как
полÑÑиÑÑ ÑÑо-Ñо вÑоде ÑÑого на
+плаÑÑоÑме, где Ñ Ð½Ð¸Ñ
не бÑло
полноÑÑнкÑионалÑной ÑеализаÑии ÐиÑпа. У
MacLisp
+Ð´Ð»Ñ Multics бÑл как компилÑÑоÑ, Ñак и
инÑеÑпÑеÑаÑÐ¾Ñ — ÑÑо бÑла
+полноÑÑÑÑ Ð¾ÑнаÑÐµÐ½Ð½Ð°Ñ ÑиÑÑема ÐиÑп —
но лÑди Ñ
оÑели ÑеализоваÑÑ
+ÑÑо-Ñо подобное на дÑÑгиÑ
ÑиÑÑемаÑ
, где Ñ
ниÑ
не бÑло Ñже напиÑанного
+компилÑÑоÑа ÐиÑпа. ÐÑ, еÑли Ñ Ð²Ð°Ñ Ð½ÐµÑ
компилÑÑоÑа ÐиÑпа, Ð²Ñ Ð½Ðµ можеÑе
+напиÑаÑÑ Ð²ÐµÑÑ ÑедакÑÐ¾Ñ Ð½Ð° ÐиÑпе — он
бÑл Ð±Ñ ÑлиÑком медленнÑм,
+оÑобенно пеÑеÑиÑовка, еÑли Ð±Ñ Ð¿ÑиÑлоÑÑ
вÑполнÑÑÑ ÐиÑп на инÑеÑпÑеÑаÑоÑе. Так
+ÑÑо Ð¼Ñ ÑазÑабоÑали гибÑиднÑÑ ÑеÑ
никÑ. ÐдеÑ
ÑоÑÑоÑла в Ñом, ÑÑÐ¾Ð±Ñ Ð¿Ð¸ÑаÑÑ
+инÑеÑпÑеÑаÑÐ¾Ñ ÐиÑпа и низкоÑÑовневÑе
ÑаÑÑи ÑедакÑоÑа вмеÑÑе, Ñак ÑÑо ÑаÑÑи
+ÑедакÑоÑа бÑли вÑÑÑоеннÑми ÑÑедÑÑвами
ÐиÑпа. ÐÑо бÑли Ð±Ñ Ð»ÑбÑе ÑаÑÑи, в
+опÑимизаÑии коÑоÑÑÑ
Ð¼Ñ Ð¾ÑÑÑали необÑ
одимоÑÑÑ. ÐÑо бÑла ÑеÑ
ника, коÑоÑÑÑ Ð¼Ñ
+Ñже ÑознаÑелÑно пÑакÑиковали в
пеÑвонаÑалÑном Emacs, поÑÐ¾Ð¼Ñ ÑÑо бÑли
+опÑеделеннÑе веÑÑма вÑÑокоÑÑовневÑе
ÑÑнкÑии, коÑоÑÑе Ð¼Ñ Ð¿ÐµÑеÑеализовали на
+маÑинном ÑзÑке, пеÑеделав иÑ
в пÑимиÑивÑ
TECO. ÐапÑимеÑ, бÑл пÑимиÑив TECO
+Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð°Ð±Ð·Ð°Ñа (на Ñамом деле длÑ
оÑновной ÑабоÑÑ Ð¿Ð¾ заполнениÑ
+абзаÑа, поÑÐ¾Ð¼Ñ ÑÑо некоÑоÑÑе из наименее
ÑеÑÑÑÑоемкиÑ
ÑаÑÑей ÑабоÑÑ
+вÑполнÑлиÑÑ Ð½Ð° более вÑÑоком ÑÑовне
пÑогÑаммой TECO). Ðожно бÑло вÑполнÑÑÑ
+вÑÑ ÑабоÑÑ, напиÑав пÑогÑÐ°Ð¼Ð¼Ñ Ð½Ð° TECO, но она
бÑла ÑлиÑком медленной, Ñак
+ÑÑо Ð¼Ñ Ð¾Ð¿ÑимизиÑовали ее, пеÑенеÑÑ ÑаÑÑÑ
ее на маÑиннÑй ÑзÑк. ÐдеÑÑ (в
+гибÑидной ÑеÑ
нике) Ð¼Ñ Ð²Ð¾ÑполÑзовалиÑÑ Ñой
же идеей: болÑÑÐ°Ñ ÑаÑÑÑ ÑедакÑоÑа
+бÑÐ´ÐµÑ Ð½Ð°Ð¿Ð¸Ñана на ÐиÑпе, но опÑеделеннÑе
его ÑаÑÑи, коÑоÑÑе нÑжно бÑло
+вÑполнÑÑÑ Ð¾Ñобенно бÑÑÑÑо, бÑдÑÑ Ð½Ð°Ð¿Ð¸ÑанÑ
на низком ÑÑовне.</p>
+
+<p>Таким обÑазом, когда Ñ Ð¿Ð¸Ñал ÑÐ²Ð¾Ñ Ð²ÑоÑÑÑ
ÑеализаÑÐ¸Ñ Emacs, Ñ Ñледовал Ñакого
+же Ñода ÑÑ
еме. ЯзÑк низкого ÑÑÐ¾Ð²Ð½Ñ Ð±Ð¾Ð»ÑÑе
не бÑл маÑиннÑм ÑзÑком, ÑÑо бÑл
+Си. Си бÑл Ñ
оÑоÑим, ÑÑÑекÑивнÑм ÑзÑком длÑ
пеÑеноÑимÑÑ
пÑогÑамм,
+пÑедназнаÑеннÑÑ
Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²
опеÑаÑионной ÑиÑÑеме Ñипа Unix. Там бÑл
+инÑеÑпÑеÑаÑÐ¾Ñ ÐиÑпа, но Ñ Ñеализовал
ÑÑедÑÑва Ð´Ð»Ñ ÑеÑÐµÐ½Ð¸Ñ ÑпеÑиалÑнÑÑ
задаÑ
+ÑедакÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑÑмо на Си — ÑÑда вÑ
одили манипÑлÑÑÐ¸Ñ Ð±ÑÑеÑами
+ÑедакÑоÑа, вÑÑавка ÑекÑÑа в наÑало, ÑÑение
и запиÑÑ Ñайлов, пеÑеÑиÑовка
+бÑÑеÑа на ÑкÑане, ÑпÑавление окнами
ÑедакÑоÑа.</p>
+
+<p>Так воÑ, ÑÑо бÑл не пеÑвÑй Emacs, напиÑаннÑй
на Си и ÑабоÑавÑий в
+Unix. ÐеÑвÑй бÑл напиÑан ÐжеймÑом ÐоÑлингом,
его назÑвали GosMacs. С ним
+вÑÑла ÑÑÑÐ°Ð½Ð½Ð°Ñ Ð¸ÑÑоÑиÑ. ÐнаÑале он,
казалоÑÑ, наÑ
одилÑÑ Ð¿Ð¾Ð´ влиÑнием Ñой же
+Ñамой аÑмоÑÑеÑÑ Ð¾Ð±Ð¼ÐµÐ½Ð° и ÑоÑÑÑдниÑеÑÑва
пеÑвонаÑалÑного Emacs. Я ÑнаÑала
+вÑпÑÑкал пеÑвонаÑалÑнÑй Emacs Ð´Ð»Ñ Ð»Ñдей в
ÐаÑÑаÑÑÑеÑÑком ÑеÑ
ниÑеÑком
+инÑÑиÑÑÑе. Ðое-кÑо заÑ
оÑел пеÑенеÑÑи его
на Twenex — ÑнаÑала
+ÑедакÑÐ¾Ñ ÑабоÑал ÑолÑко в ÐеÑовмеÑÑимой
ÑиÑÑеме ÑÐ°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð²Ñемени, коÑоÑой
+Ð¼Ñ Ð¿Ð¾Ð»ÑзовалиÑÑ Ð² инÑÑиÑÑÑе. Ðни пеÑенеÑли
его на Twenex, ÑÑо ознаÑало, ÑÑо
+в миÑе бÑло неÑколÑко ÑоÑен вÑÑиÑлиÑелÑнÑÑ
ÑиÑÑем, в коÑоÑÑÑ
его
+поÑенÑиалÑно можно бÑло пÑименÑÑÑ. ÐÑ
наÑали ÑаÑпÑоÑÑÑанÑÑÑ ÐµÐ³Ð¾ ÑÑеди ниÑ
Ñ
+пÑавилом “Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿ÑиÑÑлаÑÑ Ð½Ð°Ð·Ð°Ð´ вÑе
Ñвои ÑлÑÑÑениє, ÑÑобÑ
+Ð¼Ñ Ð²Ñе могли извлекаÑÑ Ð¸Ð· ÑÑого полÑзÑ.
ÐикÑо никогда не пÑÑалÑÑ ÑледиÑÑ Ð·Ð°
+ÑоблÑдением ÑÑого, но наÑколÑко Ñ Ð·Ð½Ð°Ñ,
лÑди дейÑÑвиÑелÑно ÑоÑÑÑдниÑали.</p>
+
+<p>Ð ÐоÑлинг, на пеÑвÑÑ
поÑаÑ
, казалоÑÑ,
пÑинимал в ÑÑом ÑÑаÑÑие. Ðн напиÑал
+ÑÑководÑÑво, в коÑоÑом он назÑвал ÑÑÑ
пÑогÑÐ°Ð¼Ð¼Ñ Emacs в надежде, ÑÑо дÑÑгие
+ÑÐ»ÐµÐ½Ñ ÑообÑеÑÑва бÑдÑÑ ÑлÑÑÑаÑÑ ÐµÐµ, пока
она не заÑлÑÐ¶Ð¸Ñ ÑÑого названиÑ. ÐÑо
+бÑл веÑнÑй подÑ
од к ÑообÑеÑÑÐ²Ñ —
пÑоÑиÑÑ Ð¸Ñ
пÑиÑоединиÑÑÑÑ Ð¸
+ÑлÑÑÑаÑÑ Ð¿ÑогÑаммÑ. Ðо поÑле ÑÑого его
оÑноÑение, кажеÑÑÑ, изменилоÑÑ, и он
+пÑодал пÑогÑÐ°Ð¼Ð¼Ñ Ð¾Ð´Ð½Ð¾Ð¹ компании.</p>
+
+<p>Ð ÑÑо вÑÐµÐ¼Ñ Ñ ÑабоÑал над ÑиÑÑемой GNU
(Ñвободной опеÑаÑионной ÑиÑÑемой Ñипа
+Unix, коÑоÑÑÑ Ð¼Ð½Ð¾Ð³Ð¸Ðµ оÑибоÑно назÑваÑÑ
“Linux”). Свободного
+ÑедакÑоÑа Emacs, коÑоÑÑй ÑабоÑал Ð±Ñ Ð² Unix, не
бÑло. Ðднако бÑл Ñ Ð¼ÐµÐ½Ñ
+знакомÑй, коÑоÑÑй ÑÑаÑÑвовал в ÑазÑабоÑке
Emacs ÐоÑлинга. ÐоÑлинг пеÑедал
+емÑ, по ÑлекÑÑонной поÑÑе, ÑазÑеÑение
ÑаÑпÑоÑÑÑанÑÑÑ ÐµÐ³Ð¾ ÑобÑÑвеннÑÑ
+веÑÑиÑ. Ðн пÑедложил мне воÑполÑзоваÑÑÑÑ
ÑÑой веÑÑией. Тогда Ñ Ð¾Ð±Ð½Ð°ÑÑжил,
+ÑÑо в Emacs ÐоÑлинга не бÑло наÑÑоÑÑего
ÐиÑпа. Рнем бÑл ÑзÑк
+пÑогÑаммиÑованиÑ, извеÑÑнÑй как
“mocklisp”, он ÑинÑакÑиÑеÑки
+вÑглÑÐ´Ð¸Ñ ÐºÐ°Ðº ÐиÑп, но в нем Ð½ÐµÑ ÑÑÑÑкÑÑÑ
даннÑÑ
ÐиÑпа. Так ÑÑо пÑогÑÐ°Ð¼Ð¼Ñ Ð½Ðµ
+бÑли даннÑми и не Ñ
ваÑало жизненно важнÑÑ
ÑлеменÑов ÐиÑпа. Ðго ÑÑÑÑкÑÑÑами
+даннÑÑ
бÑли ÑÑÑоки, ÑиÑла и некоÑоÑÑе
дÑÑгие ÑпеÑиализиÑованнÑе обÑекÑÑ.</p>
+
+<p>Я пÑиÑел к вÑводÑ, ÑÑо не могÑ
воÑполÑзоваÑÑÑÑ ÑÑим, и бÑл вÑнÑжден
замениÑÑ
+ÑÑо вÑе, и пеÑвÑм Ñагом бÑло напиÑание
наÑÑоÑÑего инÑеÑпÑеÑаÑоÑа ÐиÑпа. Я
+поÑÑепенно пеÑебазиÑовал каждÑÑ ÑаÑÑÑ
ÑедакÑоÑа на наÑÑоÑÑие ÑÑÑÑкÑÑÑÑ
+даннÑÑ
ÐиÑпа взамен напиÑаннÑÑ
по ÑлÑÑаÑ
ÑÑÑÑкÑÑÑ Ð´Ð°Ð½Ð½ÑÑ
, Ñоздав возможноÑÑÑ
+вÑвода внÑÑÑенниÑ
ÑÑÑÑкÑÑÑ Ð´Ð°Ð½Ð½ÑÑ
ÑедакÑоÑа и манипÑлÑÑий ими в
+полÑзоваÑелÑÑкиÑ
пÑогÑаммаÑ
на ÐиÑпе.</p>
+
+<p>ÐдинÑÑвеннÑм иÑклÑÑением бÑла
пеÑеÑиÑовка. Ðолгое вÑÐµÐ¼Ñ Ð¿ÐµÑеÑиÑовка бÑла
+Ñвоего Ñода дÑÑгим миÑом. РедакÑÐ¾Ñ Ð²ÑÑÑпал
в Ð¼Ð¸Ñ Ð¿ÐµÑеÑиÑовки, и вÑе наÑинало
+пÑоводиÑÑÑÑ Ð½Ð°Ð´ ÑовеÑÑенно оÑобÑми
ÑÑÑÑкÑÑÑами даннÑÑ
, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑÑ
не бÑло
+безопаÑной ÑбоÑки мÑÑоÑа, не бÑло
безопаÑнÑÑ
пÑеÑÑваний, и в ÑÑо вÑемÑ
+нелÑÐ·Ñ Ð±Ñло вÑполнÑÑÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
пÑогÑамм на
ÐиÑпе. С ÑеÑ
Ð¿Ð¾Ñ Ð¼Ñ ÑÑо
+изменили — ÑейÑÐ°Ñ Ð¼Ð¾Ð¶Ð½Ð¾ вÑполнÑÑÑ
пÑогÑÐ°Ð¼Ð¼Ñ Ð½Ð° ÐиÑпе во вÑемÑ
+пеÑеÑиÑовки. ÐÑо оÑÐµÐ½Ñ Ñдобно.</p>
+
+<p>ÐÑа вÑоÑÐ°Ñ Ð¿ÑогÑамма Emacs бÑла
“Ñвободной пÑогÑаммой” в
+ÑовÑеменном ÑмÑÑле ÑÑого Ñлова — она
бÑла ÑаÑÑÑÑ Ð¾ÑкÑÑÑой
+полиÑиÑеÑкой кампании за оÑвобождение
пÑогÑамм. СÑÑноÑÑÑ ÑÑой кампании
+ÑоÑÑоÑла в Ñом, ÑÑо вÑÑкий должен бÑÑÑ
волен делаÑÑ Ñо, ÑÑо Ð¼Ñ Ð² ÑÑаÑÑе
+вÑемена делали в ÐаÑÑаÑÑÑеÑÑком ÑеÑ
ниÑеÑком инÑÑиÑÑÑе, ÑабоÑÐ°Ñ Ð²Ð¼ÐµÑÑе над
+пÑогÑаммами и ÑабоÑÐ°Ñ Ñо вÑеми, кÑо ÑолÑко
желал ÑабоÑаÑÑ Ñ Ð½Ð°Ð¼Ð¸. ÐÑо бÑло
+оÑновой Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð·Ð° Ñвободное пÑогÑаммное
обеÑпеÑение — опÑÑ Ð¼Ð¾ÐµÐ¹
+жизни в ÐабоÑаÑоÑии иÑкÑÑÑÑвенного
инÑеллекÑа — ÑабоÑаÑÑ Ð½Ð°Ð´
+ÑеловеÑеÑким знанием и не ÑÑоÑÑÑ Ð½Ð¸ Ñ ÐºÐ¾Ð³Ð¾
на пÑÑи к далÑнейÑÐµÐ¼Ñ Ð¿ÑименениÑ
+и далÑнейÑÐµÐ¼Ñ ÑаÑпÑоÑÑÑанениÑ
ÑеловеÑеÑкого знаниÑ.</p>
+
+<p>Ð ÑÑо вÑÐµÐ¼Ñ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло ÑделаÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑ,
коÑоÑÑй ÑÑоил пÑимеÑно ÑÑолÑко же,
+ÑколÑко дÑÑгие компÑÑÑеÑÑ, не
пÑедназнаÑеннÑе Ð´Ð»Ñ ÐиÑпа, но он вÑполнÑл
бÑ
+ÐиÑп гоÑаздо бÑÑÑÑее, Ñем они, и пÑи ÑÑом Ñ
полной пÑовеÑкой Ñипов на каждой
+опеÑаÑии. ÐбÑÑнÑе компÑÑÑеÑÑ, как пÑавило,
вÑнÑждали вÑбиÑаÑÑ Ð¼ÐµÐ¶Ð´Ñ
+ÑкоÑоÑÑÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸ Ñ
оÑоÑей пÑовеÑкой
Ñипов. Так ÑÑо, конеÑно, можно бÑло
+полÑÑиÑÑ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¾Ñ ÐиÑпа и бÑÑÑÑо
вÑполнÑÑÑ Ð¿ÑогÑаммÑ, но когда они
+пÑÑалиÑÑ Ð²Ð·ÑÑÑ <code>car</code> Ð¾Ñ ÑиÑла, ÑÑо
пÑиводило к беÑÑмÑÑленнÑм
+ÑезÑлÑÑаÑам и в конÑе конÑов когда-нибÑдÑ
пÑиводило к ÑбоÑ.</p>
+
+<p>ÐаÑина-ÐиÑп бÑла в ÑоÑÑоÑнии вÑполнÑÑÑ
ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¿Ð¾ÑÑи Ñак же бÑÑÑÑо, как Ñе
+дÑÑгие маÑинÑ, но ÐºÐ°Ð¶Ð´Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°... команда
<code>car</code> вÑполнÑла
+пÑовеÑÐºÑ Ñипов — Ñак ÑÑо когда вÑ
пÑÑалиÑÑ Ð²Ð·ÑÑÑ <code>car</code>
+Ð¾Ñ ÑиÑла в ÑкомпилиÑованной пÑогÑамме, ÑÑо
немедленно давало оÑибкÑ. ÐÑ
+поÑÑÑоили маÑинÑ, и Ñ Ð½Ð°Ñ Ð±Ñла Ð´Ð»Ñ Ð½ÐµÐµ
опеÑаÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑиÑÑема ÐиÑпа. Ðна поÑÑи
+полноÑÑÑÑ Ð±Ñла напиÑана на ÐиÑпе, за
иÑклÑÑением ÑолÑко ÑаÑÑей, запиÑаннÑÑ
в
+микÑокоде. Ðозник инÑеÑÐµÑ Ðº пÑоизводÑÑвÑ
маÑин, ÑÑо ознаÑало, ÑÑо нÑжно
+ÑоздаÑÑ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ.</p>
+
+<p>ÐÑло два ÑазнÑÑ
пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ Ñом,
какой должна бÑÑÑ ÑÑа
+компаниÑ. ÐÑинблÑÑÑ Ñ
оÑел ÑоздаÑÑ Ñо, ÑÑо
он назÑвал “Ñ
акеÑÑкой”
+компанией. ÐÑо ознаÑало, ÑÑо ÑÑо бÑла бÑ
ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´ ÑпÑавлением Ñ
акеÑов и
+ÑабоÑаÑÑÐ°Ñ Ð±Ð»Ð°Ð³Ð¾Ð¿ÑиÑÑнÑм Ð´Ð»Ñ Ñ
акеÑов
обÑазом. ÐÑÑгой ÑелÑÑ Ð±Ñла поддеÑжка
+кÑлÑÑÑÑÑ ÐабоÑаÑоÑии иÑкÑÑÑÑвенного
инÑеллекÑа <a
+href="#foot-3">(3)</a>. Ð ÑожалениÑ, Ñ ÐÑинблÑÑÑа не
бÑло никакого делового
+опÑÑа, Ñак ÑÑо дÑÑгие лÑди из гÑÑппÑ
маÑинÑ-ÐиÑпа говоÑили, ÑÑо они
+ÑомневаÑÑÑÑ Ð² Ñом, ÑÑо он ÑÐ¼Ð¾Ð¶ÐµÑ ÑÑо
ÑделаÑÑ. Ðни дÑмали, ÑÑо избежаÑÑ
+внеÑниÑ
капиÑаловложений, как он
планиÑовал, не ÑдаÑÑÑÑ.</p>
+
+<p>Ðо поÑÐµÐ¼Ñ Ð¾Ð½ Ñ
оÑел избежаÑÑ Ð²Ð½ÐµÑниÑ
капиÑаловложений? ÐоÑÐ¾Ð¼Ñ ÑÑо когда Ñ
+компании еÑÑÑ Ð²Ð½ÐµÑние вкладÑики, они беÑÑÑ
конÑÑÐ¾Ð»Ñ Ð² Ñвои ÑÑки и не
+позволÑÑÑ Ð²Ð°Ð¼ бÑÑÑ ÑепеÑилÑнÑм; а еÑли вÑ
ÑколÑко-нибÑÐ´Ñ ÑепеÑилÑнÑ, Ñо они
+в конÑе конÑов поÑÑавÑÑ Ð½Ð° ÑÑководÑÑÑÑ
должноÑÑÑ ÐºÐ¾Ð³Ð¾-нибÑÐ´Ñ Ð´ÑÑгого.</p>
+
+<p>Так ÑÑо Ñ ÐÑинблÑÑÑа бÑла мÑÑлÑ, ÑÑо он
Ð½Ð°Ð¹Ð´ÐµÑ ÐºÐ»Ð¸ÐµÐ½Ñа, коÑоÑÑй заплаÑÐ¸Ñ Ð·Ð°
+комплекÑÑÑÑие впеÑед. Ðни ÑобÑали бÑ
маÑÐ¸Ð½Ñ Ð¸ поÑÑавили иÑ
емÑ; извлекаÑ
+Ñаким обÑазом доÑ
од из ÑÑиÑ
комплекÑÑÑÑиÑ
,
они Ñмогли Ð±Ñ ÐºÑпиÑÑ
+комплекÑÑÑÑие еÑе Ð´Ð»Ñ Ð½ÐµÑколÑкиÑ
маÑин,
пÑодаÑÑ Ð¸Ñ
, а поÑом кÑпиÑÑ
+комплекÑÑÑÑие Ð´Ð»Ñ Ð±Ð¾Ð»ÑÑего ÑиÑла маÑин и
Ñак далее. ÐÑÑгие лÑди из гÑÑппÑ
+дÑмали, ÑÑо Ñак ÑабоÑаÑÑ Ð½Ðµ полÑÑиÑÑÑ.</p>
+
+<p>ÐÑинблÑÑÑ Ð¿Ñивлек РаÑÑелла ÐоÑÑÑкеÑа,
Ñеловека, коÑоÑÑй нанÑл менÑ, а в
+поÑледÑÑвии ÑÑел из ÐабоÑаÑоÑии
иÑкÑÑÑÑвенного инÑеллекÑа и Ñоздал
+пÑибÑлÑнÑÑ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ. СÑиÑалоÑÑ, ÑÑо Ñ Ð
аÑÑелла еÑÑÑ Ð´ÐµÐ»Ð¾Ð²Ð°Ñ Ñ
ваÑка. Ðн
+пÑодемонÑÑÑиÑовал ÑÑÑ Ð´ÐµÐ»Ð¾Ð²ÑÑ Ñ
ваÑкÑ,
Ñказав лÑдÑм в гÑÑппе: “ÐавайÑе
+бÑоÑим ÐÑинблÑÑÑа и забÑдем о его идеÑÑ
; а
Ð¼Ñ Ñоздадим дÑÑгÑÑ
+компаниє. УдаÑил в ÑпинÑ, ÑовÑем как
наÑÑоÑÑий пÑедпÑинимаÑелÑ. ÐÑи
+лÑди ÑеÑили ÑÑоÑмиÑоваÑÑ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´
названием “Symbolics”,
+пÑивлекаÑÑ Ð²Ð½ÐµÑний капиÑал, не бÑÑÑ
ÑепеÑилÑнÑми и делаÑÑ Ð²Ñе возможное,
+ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð±ÐµÐ´Ð¸ÑÑ.</p>
+
+<p>Ðо ÐÑинблÑÑÑ Ð½Ðµ оÑÑÑÑпил. Ðн и немногие
лоÑлÑнÑе по оÑноÑÐµÐ½Ð¸Ñ Ðº Ð½ÐµÐ¼Ñ Ð»Ñди
+ÑеÑили вÑе Ñавно обÑазоваÑÑ Lisp Machines Inc. и
ÑабоÑаÑÑ Ð¿Ð¾ ÑÐ²Ð¾ÐµÐ¼Ñ Ð¿Ð»Ð°Ð½Ñ. Ð
+ÑÑо Ð±Ñ Ð²Ñ Ð´Ñмали? Ðм ÑÑо ÑдалоÑÑ! У ниÑ
поÑвилÑÑ Ð¿ÐµÑвÑй клиенÑ, и им
+заплаÑили впеÑед. Ðни ÑобиÑали маÑинÑ,
пÑодавали иÑ
и ÑобиÑали еÑе и еÑе. Ð
+конÑе конÑов они вÑÑали на ноги, неÑмоÑÑÑ
на Ñо, ÑÑо болÑÑинÑÑво лÑдей в
+гÑÑппе им не помогало. ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Symbolics Ñакже
наÑала ÑÑпеÑнÑÑ
+деÑÑелÑноÑÑÑ, Ñак ÑÑо бÑло две
конкÑÑиÑÑÑÑиÑ
компании, пÑоизводÑÑиÑ
+маÑинÑ-ÐиÑпÑ. Ðогда в Symbolics понÑли, ÑÑо LMI и
не дÑÐ¼Ð°ÐµÑ Ð²ÑлеÑаÑÑ Ð²
+ÑÑÑбÑ, они ÑÑали иÑкаÑÑ ÑпоÑÐ¾Ð±Ñ ÑазÑÑÑиÑÑ
ее.</p>
+
+<p>Таким обÑазом, за ÑÑ
одом из наÑей
лабоÑаÑоÑии поÑледовала
+“война” в наÑей лабоÑаÑоÑии. УÑ
од
пÑоизоÑел, когда компаниÑ
+Symbolics пеÑеманила вÑеÑ
Ñ
акеÑов, кÑоме Ð¼ÐµÐ½Ñ Ð¸
ÑеÑ
немногиÑ
, кÑо по
+ÑовмеÑÑиÑелÑÑÑÐ²Ñ ÑабоÑал в LMI. ÐоÑом они
ÑÑÑановили пÑавило и иÑклÑÑили
+ÑеÑ
, кÑо по ÑовмеÑÑиÑелÑÑÑÐ²Ñ ÑабоÑал в
инÑÑиÑÑÑе, Ñак ÑÑо им пÑиÑлоÑÑ ÑйÑи
+полноÑÑÑÑ, и Ñ Ð¾ÑÑалÑÑ Ð¾Ð´Ð¸Ð½. ТепеÑÑ
ÐабоÑаÑоÑÐ¸Ñ Ð¸ÑкÑÑÑÑвенного инÑеллекÑа
+бÑла беÑпомоÑна. РинÑÑиÑÑÑ Ð·Ð°ÐºÐ»ÑÑил Ñ
ÑÑими двÑÐ¼Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñми одно оÑенÑ
+глÑпое ÑоглаÑение. ÐÑо бÑл ÑÑеÑ
ÑÑоÑонний
договоÑ, в коÑоÑом обе компании
+лиÑензиÑовали иÑÑ
однÑе ÑекÑÑÑ ÑиÑÑемÑ
маÑинÑ-ÐиÑпа. ÐÑи компании Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±Ñли
+пÑедоÑÑавлÑÑÑ Ñвои Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²
полÑзование инÑÑиÑÑÑа. Ðо в договоÑе не
+говоÑилоÑÑ, ÑÑо инÑÑиÑÑÑ Ð²Ð¿Ñаве ÑазмеÑаÑÑ
иÑ
в ÑиÑÑемаÑ
ÑвоиÑ
маÑин-ÐиÑпов,
+коÑоÑÑе лиÑензиÑовали обе компании. ÐикÑо
не пÑедвидел, ÑÑо гÑÑÐ¿Ð¿Ñ Ñ
акеÑов
+ÐабоÑаÑоÑии иÑкÑÑÑÑвенного инÑеллекÑа
ÑазгонÑÑ, но Ñак и ÑлÑÑилоÑÑ.</p>
+
+<p> ÐÑак, в Symbolics ÑозÑел план <a
href="#foot-4">(4)</a>. Ðни Ñказали
+лабоÑаÑоÑии: “ÐÑ Ð¿Ñодолжим
пÑедоÑÑавлÑÑÑ Ð² ваÑе полÑзование Ñвои
+Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² ÑиÑÑеме, но вам нелÑзÑ
ÑазмеÑаÑÑ Ð¸Ñ
в ÑиÑÑеме маÑинÑ-ÐиÑпа
+инÑÑиÑÑÑа. ÐмеÑÑо ÑÑого Ð¼Ñ Ð¿ÑедоÑÑавим вам
доÑÑÑп к ÑиÑÑеме маÑинÑ-ÐиÑпа
+Symbolics, и Ð²Ñ ÑможеÑе ÑабоÑаÑÑ Ð½Ð° ней, но ÑÑо
вÑе, ÑÑо Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе делаÑÑ.</p>
+
+<p>ÐÑо ÑакÑиÑеÑки ознаÑало, ÑÑо они
поÑÑебовали Ð¾Ñ Ð½Ð°Ñ Ð²ÑÑаÑÑ Ð½Ð° ÑÑ Ð¸Ð»Ð¸ дÑÑгÑÑ
+ÑÑоÑÐ¾Ð½Ñ Ð¸ полÑзоваÑÑÑÑ Ð»Ð¸Ð±Ð¾ веÑÑией
инÑÑиÑÑÑа, либо веÑÑией Symbolics. ЧÑо
+Ð±Ñ Ð¼Ñ Ð½Ð¸ вÑбÑали, ÑÑо опÑеделÑло бÑ, в какÑÑ
ÑиÑÑÐµÐ¼Ñ Ð¿Ð¾Ð¹Ð´ÑÑ Ð½Ð°Ñи
+ÑÑовеÑÑенÑÑвованиÑ. ÐÑли Ð±Ñ Ð¼Ñ ÑабоÑали
над веÑÑией Symbolics и
+ÑовеÑÑенÑÑвовали ее, Ð¼Ñ Ð¿Ð¾Ð´Ð´ÐµÑживали бÑ
ÑолÑко Symbolics. ÐÑли Ð±Ñ Ð¼Ñ
+полÑзовалиÑÑ Ð²ÐµÑÑией инÑÑиÑÑÑа и
ÑовеÑÑенÑÑвовали ее, Ð¼Ñ Ð¿ÑедоÑÑавлÑли бÑ
+ÑабоÑÑ Ð² ÑаÑпоÑÑжение обеиÑ
компаний, но в
Symbolics понимали, ÑÑо Ñ Ð½Ð°Ñей
+ÑÑоÑÐ¾Ð½Ñ ÑÑо бÑло Ð±Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой LMI, поÑомÑ
ÑÑо Ð¼Ñ Ð¿Ð¾Ð¼Ð¾Ð³Ð°Ð»Ð¸ Ð±Ñ Ð¸Ð¼ пÑодолжаÑÑ
+ÑÑÑеÑÑвование. Так ÑÑо нам не позволили
оÑÑаваÑÑÑÑ Ð½ÐµÐ¹ÑÑалÑнÑми.</p>
+
+<p>ÐплоÑÑ Ð´Ð¾ ÑÑого моменÑа Ñ Ð½Ðµ пÑинимал
ÑÑоÑÐ¾Ð½Ñ Ð½Ð¸ одной из компаний, Ñ
оÑÑ Ð¼Ð½Ðµ
+бÑло болÑно видеÑÑ, ÑÑо пÑоизоÑло Ñ Ð½Ð°Ñим
ÑообÑеÑÑвом и пÑогÑаммами. Ðо
+ÑепеÑÑ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Symbolics пÑинÑждала Ð¼ÐµÐ½Ñ Ðº
ÑÑомÑ. ÐÑак, пÑÑаÑÑÑ Ð¿Ð¾Ð¼Ð¾ÑÑ
+компании Lisp Machines Inc. ÑдеÑжаÑÑÑÑ Ð½Ð°
Ð¿Ð»Ð°Ð²Ñ <a
+href="#foot-5">(5)</a>, Ñ Ð½Ð°Ñал дÑблиÑоваÑÑ Ð²Ñе
ÑлÑÑÑÐµÐ½Ð¸Ñ Ð² ÑиÑÑеме
+маÑинÑ-ÐиÑпа, коÑоÑÑе делали в Symbolics. Я
пиÑал ÑквиваленÑнÑе ÑлÑÑÑениÑ
+Ñам (Ñ.е. ÑекÑÑÑ Ð¿ÑогÑамм бÑли моими
ÑобÑÑвеннÑми).</p>
+
+<p>ЧеÑез некоÑоÑое вÑÐµÐ¼Ñ <a href="#foot-6">(6)</a> Ñ
пÑиÑел к заклÑÑениÑ,
+ÑÑо бÑло Ð±Ñ Ð»ÑÑÑе вÑего, еÑли Ð±Ñ Ñ Ð´Ð°Ð¶Ðµ не
заглÑдÑвал в иÑ
ÑекÑÑÑ. Ðогда
+они делали обÑÑвление о вÑпÑÑке
пÑедваÑиÑелÑной веÑÑии, в коÑоÑом бÑло
+опиÑание вÑпÑÑка, Ñ Ð²Ð¸Ð´ÐµÐ», какие Ñам бÑли
ÑÑнкÑии, а поÑом ÑеализовÑвал
+иÑ
. Ð ÑÐ¾Ð¼Ñ Ð²Ñемени, как они вÑпÑÑкали
оконÑаÑелÑнÑÑ Ð²ÐµÑÑиÑ, Ñ Ñоже вÑпÑÑкал
+ÑакÑÑ Ð²ÐµÑÑиÑ.</p>
+
+<p>Таким обÑазом в ÑеÑение двÑÑ
Ð»ÐµÑ Ñ Ð½Ðµ
давал им поконÑиÑÑ Ñ LMI, и ÑÑи две
+компании пÑодолжали ÑабоÑÑ. Ðо Ñ Ð½Ðµ Ñ
оÑел
ÑÑаÑиÑÑ Ð´Ð¾Ð»Ð³Ð¸Ðµ Ð³Ð¾Ð´Ñ Ð½Ð° Ñо, ÑÑобÑ
+наказаÑÑ ÐºÐ¾Ð³Ð¾-Ñо, пÑоÑÑо меÑÐ°Ñ Ð·Ð»Ð¾Ð¼Ñ Ð´ÐµÐ»Ñ.
Я Ñвидел, ÑÑо они наказанÑ
+доволÑно оÑноваÑелÑно, поÑÐ¾Ð¼Ñ ÑÑо они
наÑкнÑлиÑÑ Ð½Ð° конкÑÑенÑиÑ, коÑоÑÐ°Ñ Ð½Ðµ
+ÑÑ
одила и не ÑобиÑалаÑÑ Ð¸ÑÑезаÑÑ <a
href="#foot-7">(7)</a>. Тем
+вÑеменем пÑиÑла поÑа наÑаÑÑ Ð¾Ð±ÑÑÑÑойÑÑво
нового ÑообÑеÑÑва взамен Ñого,
+коÑоÑое бÑло ÑниÑÑожено иÑ
дейÑÑвиÑми и
дейÑÑвиÑми дÑÑгиÑ
.</p>
+
+<p>Ð ÑемидеÑÑÑÑÑ
годаÑ
ÑообÑеÑÑво ÐиÑпа не
огÑаниÑивалоÑÑ ÐабоÑаÑоÑией
+иÑкÑÑÑÑвенного инÑеллекÑа
ÐаÑÑаÑÑÑеÑÑкого ÑеÑ
ниÑеÑкого инÑÑиÑÑÑа, и
не вÑе
+Ñ
акеÑÑ Ð±Ñли в ÑÑом инÑÑиÑÑÑе. Ðойна,
коÑоÑÑÑ Ð½Ð°Ñала ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Symbolics,
+опÑÑÑоÑила ÐаÑÑаÑÑÑеÑÑкий ÑеÑ
ниÑеÑкий
инÑÑиÑÑÑ, но в Ñо вÑÐµÐ¼Ñ Ð¿ÑоиÑÑ
одили и
+дÑÑгие ÑобÑÑиÑ. ÐÑли лÑди, коÑоÑÑе
пÑекÑаÑали ÑоÑÑÑдниÑеÑÑво, и вÑе ÑÑо
+вмеÑÑе опÑÑÑоÑило наÑе ÑообÑеÑÑво, и оÑ
него поÑÑи ниÑего не оÑÑалоÑÑ.</p>
+
+<p>Ðогда Ñ Ð¿ÑекÑаÑил наказÑваÑÑ Symbolics, мне
пÑиÑлоÑÑ Ð¿ÑидÑмÑваÑÑ, ÑÑо делаÑÑ
+далÑÑе. Ðне нÑжно бÑло ÑделаÑÑ ÑвободнÑÑ
опеÑаÑионнÑÑ ÑиÑÑемÑ, ÑÑо бÑло
+ÑÑно — единÑÑвеннÑм ÑпоÑобом даÑÑ
лÑдÑм ÑовмеÑÑно ÑабоÑаÑÑ Ð¸
+обмениваÑÑÑÑ Ð±Ñла ÑÐ²Ð¾Ð±Ð¾Ð´Ð½Ð°Ñ Ð¾Ð¿ÐµÑаÑионнаÑ
ÑиÑÑема.</p>
+
+<p>СпеÑва Ñ Ð¿Ð¾Ð´ÑмÑвал о Ñоздании ÑиÑÑÐµÐ¼Ñ Ð½Ð°
базе ÐиÑпа, но Ñ Ð¾Ñознал, ÑÑо Ñ
+ÑеÑ
ниÑеÑкой ÑоÑки зÑÐµÐ½Ð¸Ñ ÑÑо не Ñ
оÑоÑо.
ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ ÑÑо-Ñо подобное
+ÑиÑÑеме маÑинÑ-ÐиÑпа, нÑжен микÑокод
ÑпеÑиалÑного назнаÑениÑ. Ðменно ÑÑо
+позволÑло вÑполнÑÑÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ñак же
бÑÑÑÑо, как дÑÑгие компÑÑÑеÑÑ Ð²ÑполнÑли
+Ñвои пÑогÑаммÑ, и пÑи ÑÑом еÑе и
полÑзоваÑÑÑÑ Ð¿ÑовеÑкой Ñипов. Ðез ÑÑого вÑе
+ÑвелоÑÑ Ð±Ñ Ðº ÑемÑ-Ñо наподобие
компилÑÑоÑов ÐиÑпа Ð´Ð»Ñ Ð´ÑÑгиÑ
+маÑин. ÐÑогÑÐ°Ð¼Ð¼Ñ Ð±Ñли Ð±Ñ Ð±ÑÑÑÑее, но они
бÑли Ð±Ñ Ð½ÐµÑÑабилÑнÑ. Так воÑ, ÑÑо
+допÑÑÑимо, еÑли вÑполнÑÑÑ Ð¾Ð´Ð½Ñ Ð¿ÑогÑаммÑ
на ÑиÑÑеме Ñ Ñазделением
+вÑемени — еÑли одна пÑогÑамма даеÑ
Ñбой, ÑÑо не каÑаÑÑÑоÑа, ÑÑо
+неÑÑо, ÑÑо ваÑа пÑогÑамма вÑÐµÐ¼Ñ Ð¾Ñ Ð²Ñемени
делаеÑ. Ðо ÑÑо делало ее
+недоÑÑаÑоÑно Ñ
оÑоÑей, ÑÑÐ¾Ð±Ñ Ð¿Ð¸ÑаÑÑ Ð½Ð° ней
опеÑаÑионнÑÑ ÑиÑÑемÑ, Ñак ÑÑо Ñ
+оÑказалÑÑ Ð¾Ñ Ð¼ÑÑли о Ñом, ÑÑÐ¾Ð±Ñ ÑделаÑÑ
ÑиÑÑÐµÐ¼Ñ Ð½Ð°Ð¿Ð¾Ð´Ð¾Ð±Ð¸Ðµ маÑинÑ-ÐиÑпа.</p>
+
+<p>ÐмеÑÑо ÑÑого Ñ ÑеÑил ÑделаÑÑ
опеÑаÑионнÑÑ ÑиÑÑÐµÐ¼Ñ Ñипа Unix, в коÑоÑой
бÑли
+Ð±Ñ ÑеализаÑии ÐиÑпа, ÑÑÐ¾Ð±Ñ Ð²ÑполнÑÑÑ
полÑзоваÑелÑÑкие пÑогÑаммÑ. ЯдÑо бÑло
+Ð±Ñ Ð½Ð°Ð¿Ð¸Ñано не на ÐиÑпе, но ÐиÑп Ñ Ð½Ð°Ñ Ð±Ñл
бÑ. Так ÑÑо именно ÑазÑабоÑка
+ÑÑой опеÑаÑионной ÑиÑÑемÑ, опеÑаÑионной
ÑиÑÑÐµÐ¼Ñ GNU, пÑивела Ð¼ÐµÐ½Ñ Ðº
+напиÑÐ°Ð½Ð¸Ñ GNU Emacs. РпÑоÑеÑÑе ÑÑого Ñ
ÑÑÑемилÑÑ ÑделаÑÑ Ð°Ð±ÑолÑÑно
+минималÑно возможнÑÑ ÑеализаÑÐ¸Ñ ÐиÑпа. Ð
Ð°Ð·Ð¼ÐµÑ Ð¿ÑогÑамм имел ÑÑезвÑÑайное
+знаÑение.</p>
+
+<p>Ð Ñо вÑемÑ, в 1985 годÑ, бÑли лÑди, Ñ
коÑоÑÑÑ
бÑли одномегабайÑнÑе
+маÑÐ¸Ð½Ñ Ð±ÐµÐ· виÑÑÑалÑной памÑÑи. Ðни Ñ
оÑели
бÑÑÑ Ð² ÑоÑÑоÑнии иÑполÑзоваÑÑ GNU
+Emacs. ÐÑо знаÑило, ÑÑо мне нÑжно
огÑаниÑиваÑÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ ÐºÐ°Ðº можно менÑÑим
+ÑазмеÑом.</p>
+
+<p>ÐапÑимеÑ, в Ñо вÑÐµÐ¼Ñ ÐµÐ´Ð¸Ð½ÑÑвенной
ÑиклиÑеÑкой конÑÑÑÑкÑией бÑла
+“while”, коÑоÑÐ°Ñ Ð±Ñла кÑайне пÑоÑÑа. Ðе
бÑло никакиÑ
ÑпоÑобов
+доÑÑоÑного вÑÑ
ода из опеÑаÑоÑа “while”,
пÑиÑ
одилоÑÑ Ð¿ÑоÑÑо
+полÑзоваÑÑÑÑ Ð¼ÐµÑ
анизмом иÑклÑÑений или
пÑовеÑÑÑÑ Ð¿ÐµÑеменнÑÑ Ð² Ñикле. ÐÑо
+показÑваеÑ, как далеко Ñ Ð·Ð°Ñел в
огÑаниÑениÑÑ
на ÑазмеÑ. У Ð½Ð°Ñ Ð½Ðµ бÑло
+“caar”, “cadr” и Ñак далее;
“вÑжаÑÑ Ð²Ñе
+возможное” — Ñаким дÑÑ
ом бÑл
пÑопиÑан GNU Emacs и его ÐиÑп
+Ñ Ñамого наÑала.</p>
+
+<p>РазÑмееÑÑÑ, маÑÐ¸Ð½Ñ ÑейÑÐ°Ñ Ð±Ð¾Ð»ÑÑе, и мÑ
Ñже Ñак не делаем. ÐÑ Ð·Ð°Ð»Ð¾Ð¶Ð¸Ð»Ð¸
+“caar”, “cadr” и Ñак далее, и ÑейÑаÑ
пÑи ÑлÑÑае мÑ
+могли Ð±Ñ Ð·Ð°Ð»Ð¾Ð¶Ð¸ÑÑ Ð´ÑÑгÑÑ ÑиклиÑеÑкÑÑ
конÑÑÑÑкÑиÑ. ÐÑ Ð¾Ñ
оÑно ÑаÑÑиÑим его в
+некоÑоÑÑÑ
пÑеделаÑ
, но Ð¼Ñ Ð½Ðµ Ñ
оÑим
ÑаÑÑиÑÑÑÑ ÐµÐ³Ð¾ до ÑÑÐ¾Ð²Ð½Ñ ÐбÑего ÐиÑпа. Я
+Ð¾Ð´Ð½Ð°Ð¶Ð´Ñ ÑеализовÑвал ÐбÑий ÐиÑп на
маÑине-ÐиÑпе, и мне он не Ñак Ñж
+понÑавилÑÑ. Ðдна из веÑей, коÑоÑÑе мне
ÑжаÑно не нÑавÑÑÑÑ —
+аÑгÑменÑÑ-клÑÑевÑе Ñлова <a href="#foot-8">(8)</a>.
Ðа мой взглÑд, ÑÑо
+вÑглÑÐ´Ð¸Ñ Ð½Ðµ ÑовÑем по-лиÑповÑки; иногда Ñ
пиÑÑ Ñак, но Ñ ÑÐ²Ð¾Ð¶Ñ Ðº минимÑмÑ
+ÑиÑло ÑлÑÑаев, когда Ñ ÑÑо делаÑ.</p>
+
+<p>Ðа ÑÑом пÑоекÑÑ GNU, ÑвÑзаннÑе Ñ ÐиÑпом, не
конÑилиÑÑ. ÐпоÑледÑÑвии,
+пÑимеÑно в 1995 годÑ, Ð¼Ñ ÑазмÑÑлÑли над
оÑганизаÑией пÑоекÑа
+гÑаÑиÑеÑкой ÑабоÑей ÑÑедÑ. ÐÑло ÑÑно, ÑÑо
Ð´Ð»Ñ Ð¿ÑогÑамм ÑÑÐµÐ´Ñ Ð½Ð°Ð¼ нÑжен ÑзÑк
+пÑогÑаммиÑованиÑ, на коÑоÑом бÑла бÑ
напиÑана знаÑиÑелÑÐ½Ð°Ñ ÐµÐµ ÑаÑÑÑ, ÑÑобÑ
+ÑделаÑÑ ÐµÐµ легко ÑаÑÑиÑÑемой, как
ÑедакÑоÑ. ÐÑÑал вопÑÐ¾Ñ Ð¾ Ñом, каким должен
+бÑÑÑ ÑзÑк.</p>
+
+<p>Ð Ñо вÑÐµÐ¼Ñ Ð´Ð»Ñ ÑÑиÑ
Ñелей ÑÑиленно
пÑодвигалÑÑ TCL <a
+href="#tf2">[2]</a>. Я бÑл оÑÐµÐ½Ñ Ð½ÐµÐ²ÑÑокого Ð¼Ð½ÐµÐ½Ð¸Ñ Ð¾
TCL, в оÑновном поÑомÑ,
+ÑÑо ÑÑо бÑл не ÐиÑп. Ðн вÑглÑдел Ñлегка поÑ
ожим на ÐиÑп, но ÑеманÑиÑеÑки он
+им не бÑл, и он бÑл не Ñаким ÑÑнÑм. ÐоÑом
кÑо-Ñо показал мне обÑÑвление, в
+коÑоÑом ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Sun пÑÑалаÑÑ Ð½Ð°Ð½ÑÑÑ
кого-нибÑÐ´Ñ Ð´Ð»Ñ ÑабоÑÑ Ð½Ð°Ð´ TCL, ÑÑобÑ
+ÑделаÑÑ ÐµÐ³Ð¾ “ÑÑандаÑÑом де-ÑакÑо длÑ
ÑзÑка ÑаÑÑиÑений” во вÑем
+миÑе. Ð Ñ Ð¿Ð¾Ð´Ñмал: “Ðам нÑжно
пÑедоÑвÑаÑиÑÑ ÑÑо”. Так ÑÑо мÑ
+наÑали делаÑÑ Scheme ÑÑандаÑÑнÑм ÑзÑком
ÑаÑÑиÑений GNU. Ðе ÐбÑий ÐиÑп,
+поÑÐ¾Ð¼Ñ ÑÑо он бÑл ÑлиÑком велик. ÐÐ´ÐµÑ Ð±Ñла
в Ñом, ÑÑо Ñ Ð½Ð°Ñ Ð±ÑдеÑ
+инÑеÑпÑеÑаÑÐ¾Ñ Scheme, ÑпÑоекÑиÑованнÑй длÑ
компоновки в пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñак же,
+как ÑÑо делали Ñ TCL. Тогда Ð¼Ñ ÑÑали бÑ
ÑекомендоваÑÑ ÑÑо как
+пÑедпоÑÑиÑелÑнÑй Ð¿Ð°ÐºÐµÑ ÑаÑÑиÑений длÑ
вÑеÑ
пÑогÑамм GNU.</p>
+
+<p>ÐÑÑÑ Ð¾Ð´Ð½Ð° инÑеÑеÑÐ½Ð°Ñ Ð²Ñгода, коÑоÑÑÑ
можно извлеÑÑ Ð¸Ð· пÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñакого
+моÑного ÑзÑка, как ваÑÐ¸Ð°Ð½Ñ ÐиÑпа, в
каÑеÑÑве пеÑвиÑного ÑзÑка ÑаÑÑиÑений. ÐÑ
+можеÑе ÑеализовÑваÑÑ Ð´ÑÑгие ÑзÑки
пеÑеводом иÑ
на Ð²Ð°Ñ Ð¿ÐµÑвиÑнÑй ÑзÑк. ÐÑли
+Ð²Ð°Ñ Ð¿ÐµÑвиÑнÑй ÑзÑк — TCL, Ð²Ñ Ð½Ðµ можеÑе
легко ÑеализоваÑÑ ÐиÑп
+пеÑеводом его на TCL. Ðо еÑли Ð²Ð°Ñ Ð¿ÐµÑвиÑнÑй
ÑзÑк — ÐиÑп, Ñо
+неÑÑÑдно ÑеализовÑваÑÑ Ð´ÑÑгие ÑзÑки,
пеÑÐµÐ²Ð¾Ð´Ñ Ð¸Ñ
. ÐаÑа Ð¸Ð´ÐµÑ ÑоÑÑоÑла в Ñом,
+ÑÑо еÑли Ð±Ñ ÐºÐ°Ð¶Ð´Ð¾Ðµ ÑаÑÑиÑÑемое пÑиложение
поддеÑживало Scheme, Ñо Ð²Ñ Ð¼Ð¾Ð³Ð»Ð¸
+Ð±Ñ Ð½Ð°Ð¿Ð¸ÑаÑÑ ÑеализаÑÐ¸Ñ TCL, Python или Perl на
Scheme, коÑоÑÐ°Ñ Ð¿ÐµÑÐµÐ²Ð¾Ð´Ð¸Ñ ÑÑÑ
+пÑогÑÐ°Ð¼Ð¼Ñ Ð½Ð° Scheme. Тогда Ð²Ñ Ð¼Ð¾Ð³Ð»Ð¸ бÑ
загÑÑжаÑÑ ÐµÐµ в лÑбое пÑиложение и
+надÑÑÑаиваÑÑ ÐµÐ³Ð¾ под Ñвой лÑбимÑй ÑзÑк, и
оно ÑабоÑало Ð±Ñ Ð¸ Ñ Ð´ÑÑгими
+надÑÑÑойками.</p>
+
+<p>Ðо ÑеÑ
поÑ, пока ÑзÑки ÑаÑÑиÑÐµÐ½Ð¸Ñ ÑлабÑ,
полÑзоваÑелÑм пÑиÑ
одиÑÑÑ Ð¿ÑименÑÑÑ
+ÑолÑко ÑÐ¾Ñ ÑзÑк, коÑоÑÑй Ð²Ñ Ð¸Ð¼
пÑедоÑÑавлÑеÑе. ЧÑо ознаÑаеÑ, ÑÑо лÑдÑм,
+влÑбленнÑм в какой Ð±Ñ Ñо ни бÑло даннÑй
ÑзÑк, пÑиÑ
одиÑÑÑ Ð±Ð¾ÑоÑÑÑÑ Ð·Ð° вÑбоÑ
+ÑазÑабоÑÑиков пÑиложений — говоÑÑ
ÑазÑабоÑÑÐ¸ÐºÑ Ð¿ÑиложениÑ:
+“ÐаложиÑе, пожалÑйÑÑа, в Ñвое
пÑиложение мой ÑзÑк, а не
+его”. Тогда Ñ Ð¿Ð¾Ð»ÑзоваÑелей вообÑе не
бÑÐ´ÐµÑ Ð²ÑбоÑа — каким
+Ð±Ñ Ð¿Ñиложением они ни полÑзовалиÑÑ, оно
пÑиÑ
Ð¾Ð´Ð¸Ñ Ñ Ð¾Ð´Ð½Ð¸Ð¼ ÑзÑком, и Ñ Ð½Ð¸Ñ
неÑ
+дÑÑгого вÑÑ
ода. Ðо когда Ñ Ð²Ð°Ñ Ð¼Ð¾ÑнÑй ÑзÑк,
коÑоÑÑй Ð¼Ð¾Ð¶ÐµÑ ÑеализовÑваÑÑ
+дÑÑгие ÑзÑки, пеÑÐµÐ²Ð¾Ð´Ñ Ñ Ð½Ð¸Ñ
, Ñо вÑ
пÑедоÑÑавлÑеÑе полÑзоваÑÐµÐ»Ñ Ð²ÑÐ±Ð¾Ñ ÑзÑка,
+и нам болÑÑе не пÑиÑ
одиÑÑÑ Ð²ÐµÑÑи войнÑ
ÑзÑков. Ðменно ÑÑо, как Ð¼Ñ Ð½Ð°Ð´ÐµÐµÐ¼ÑÑ,
+ÑÐ´ÐµÐ»Ð°ÐµÑ “Guile”, Ð½Ð°Ñ Ð¸Ð½ÑеÑпÑеÑаÑÐ¾Ñ Scheme.
У Ð½Ð°Ñ ÐµÑÑÑ Ñеловек,
+коÑоÑÑй ÑÑим леÑом ÑабоÑÐ°ÐµÑ Ð½Ð°Ð´
завеÑÑением ÑÑанÑлÑÑоÑа Ñ Python на
+Scheme. Я не знаÑ, полноÑÑÑÑ Ð»Ð¸ он завеÑÑен, но
еÑли кÑо-Ñо заинÑеÑеÑован в
+ÑÑом пÑоекÑе, пÑÑÑÑ ÑвÑжеÑÑÑ. Так ÑÑо воÑ
какие Ñ Ð½Ð°Ñ Ð¿Ð»Ð°Ð½Ñ Ð½Ð° бÑдÑÑее.</p>
+
+<p>Я не говоÑил о Ñвободном пÑогÑаммном
обеÑпеÑении, но позволÑÑе мне кÑаÑко
+ÑаÑÑказаÑÑ Ð²Ð°Ð¼ немного о Ñом, ÑÑо ÑÑо
ознаÑаеÑ. ÐÑÑажение “ÑвободнаÑ
+пÑогÑамма” подÑазÑÐ¼ÐµÐ²Ð°ÐµÑ Ð½Ðµ ÑÑоимоÑÑÑ;
оно не ознаÑаеÑ, ÑÑо вÑ
+полÑÑаеÑе ее беÑплаÑно. (Ðозможно, вÑ
заплаÑили за ÐºÐ¾Ð¿Ð¸Ñ Ð¸Ð»Ð¸ полÑÑили копиÑ
+беÑплаÑно.) Ðно ознаÑаеÑ, ÑÑо Ñ Ð²Ð°Ñ ÐºÐ°Ðº Ñ
полÑзоваÑÐµÐ»Ñ ÐµÑÑÑ
+Ñвобода. Ðизненно важно Ñо, ÑÑо Ð²Ñ Ð²Ð¾Ð»ÑнÑ
вÑполнÑÑÑ Ð¿ÑогÑаммÑ, волÑнÑ
+изÑÑаÑÑ, ÑÑо она делаеÑ, волÑÐ½Ñ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑ ÐµÐµ
под Ñвои нÑждÑ, волÑнÑ
+пеÑеÑаÑпÑоÑÑÑанÑÑÑ ÐºÐ¾Ð¿Ð¸Ð¸ ÑÑеди дÑÑгиÑ
и
волÑÐ½Ñ Ð¿ÑбликоваÑÑ ÑлÑÑÑеннÑе,
+ÑаÑÑиÑеннÑе веÑÑии. ÐÐ¾Ñ ÑÑо знаÑиÑ
ÑÐ²Ð¾Ð±Ð¾Ð´Ð½Ð°Ñ Ð¿ÑогÑамма. ÐÑли Ð²Ñ Ð¿Ð¾Ð»ÑзÑеÑеÑÑ
+неÑвободной пÑогÑаммой, Ð²Ñ ÑÑÑаÑили
жизненно важнÑÑ ÑвободÑ, Ñак ÑÑо никогда
+ÑÑого не делайÑе.</p>
+
+<p>ÐазнаÑение пÑоекÑа GNU заклÑÑаеÑÑÑ Ð² Ñом,
ÑÑÐ¾Ð±Ñ Ð¾Ð±Ð»ÐµÐ³ÑиÑÑ Ð»ÑдÑм оÑказ оÑ
+попиÑаÑÑиÑ
ÑвободÑ, гоÑподÑÑвÑÑÑиÑ
над
полÑзоваÑелем, неÑвободнÑÑ
пÑогÑамм
+пÑедоÑÑавлением ÑвободнÑÑ
пÑогÑамм Ð´Ð»Ñ Ð¸Ñ
заменÑ. ÐÐ»Ñ ÑеÑ
, Ñ ÐºÐ¾Ð³Ð¾ неÑ
+моÑалÑнÑÑ
Ñил Ð´Ð»Ñ Ð¾Ñказа Ð¾Ñ Ð½ÐµÑвободнÑÑ
пÑогÑамм, когда ÑÑо ознаÑаеÑ
+какое-Ñо пÑакÑиÑеÑкое неÑдобÑÑво,— длÑ
ниÑ
Ð¼Ñ Ð¿ÑÑаемÑÑ Ð´Ð°ÑÑ ÑвободнÑÑ
+алÑÑеÑнаÑивÑ, ÑÑÐ¾Ð±Ñ Ð²Ñ Ð¼Ð¾Ð³Ð»Ð¸ пеÑейÑи к
Ñвободе Ñ Ð¼ÐµÐ½ÑÑими ÑÑилиÑми и
+менÑÑими жеÑÑвами в пÑакÑиÑеÑком ÑмÑÑле.
Чем менÑÑе жеÑÑвÑ, Ñем лÑÑÑе. ÐÑ
+Ñ
оÑим облегÑиÑÑ Ð´Ð»Ñ Ð²Ð°Ñ ÑоÑÑÑдниÑеÑÑво и
ÑвободнÑÑ Ð¶Ð¸Ð·Ð½Ñ.</p>
+
+<p>СоÑÑÑдниÑеÑÑво — ÑÑо вопÑоÑ
ÑвободÑ. ÐÑ Ð¿ÑивÑкли дÑмаÑÑ Ð¾ Ñвободе
+и ÑоÑÑÑдниÑеÑÑве Ñ Ð¾Ð±ÑеÑÑвом как о
пÑоÑивоположноÑÑÑÑ
. Ðо в данном ÑлÑÑае
+они на одной ÑÑоÑоне. ÐÑи ÑвободнÑÑ
пÑогÑаммаÑ
Ð²Ñ Ð²Ð¾Ð»ÑÐ½Ñ Ð¸ ÑоÑÑÑдниÑаÑÑ Ñ
+дÑÑгими, и помогаÑÑ Ñамим Ñебе. ÐÑи
неÑвободнÑÑ
пÑогÑаммаÑ
кÑо-Ñо доминиÑÑеÑ
+над вами и ÑазобÑÐ°ÐµÑ Ð»Ñдей. Ðам не
позволÑÑÑ Ð¾Ð±Ð¼ÐµÐ½Ð¸Ð²Ð°ÑÑÑÑ Ñ Ð½Ð¸Ð¼Ð¸, Ð²Ñ Ð½Ðµ
+волÑÐ½Ñ ÑоÑÑÑдниÑаÑÑ Ð¸Ð»Ð¸ помогаÑÑ
обÑеÑÑвÑ, ÑоÑно Ñак же, как Ð²Ñ Ð½Ðµ волÑнÑ
+помоÑÑ Ñамим Ñебе. РазобÑенноÑÑÑ Ð¸
беÑпомоÑноÑÑÑ — ÑоÑÑоÑние
+полÑзоваÑелей, пÑименÑÑÑиÑ
неÑвободнÑе
пÑогÑаммÑ.</p>
+
+<p>ÐÑ Ð²ÑÑабоÑали ÑмопомÑаÑиÑелÑное
колиÑеÑÑво ÑвободнÑÑ
пÑогÑамм. ÐÑ Ñделали
+Ñо, ÑÑо, как ÑÑвеÑждалоÑÑ, Ð¼Ñ Ð½Ð¸ÐºÐ¾Ð³Ð´Ð° не
Ñможем ÑделаÑÑ; Ñ Ð½Ð°Ñ ÐµÑÑÑ Ð´Ð²Ðµ
+опеÑаÑионнÑÑ
ÑиÑÑÐµÐ¼Ñ Ð¸Ð· ÑвободнÑÑ
пÑогÑамм. У Ð½Ð°Ñ ÐµÑÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво пÑиложений,
+и нам, оÑевидно, еÑе много пÑедÑÑоиÑ
пÑойÑи. Так ÑÑо нам нÑжна ваÑа
+помоÑÑ. Я Ñ
оÑел Ð±Ñ Ð¿Ð¾Ð¿ÑоÑиÑÑ Ð²Ð°Ñ ÑÑаÑÑ
добÑоволÑÑами пÑоекÑа GNU; помогиÑе
+нам ÑазÑабоÑаÑÑ ÑвободнÑе пÑогÑÐ°Ð¼Ð¼Ñ Ð´Ð»Ñ
новÑÑ
задаÑ. ÐаглÑниÑе на <a
+href="/help/"> http://www.gnu.org/help</a> за пÑедложениÑми
Ñого, как
+помоÑÑ. ÐÑли Ð²Ñ Ñ
оÑиÑе заказаÑÑ ÑÑо-Ñо, на
ÑÑо еÑÑÑ ÑÑÑлка Ñ Ð´Ð¾Ð¼Ð°Ñней
+ÑÑÑаниÑÑ. ÐÑли Ð²Ñ Ñ
оÑиÑе поÑиÑаÑÑ Ð¾
ÑилоÑоÑÑкиÑ
вопÑоÑаÑ
, заглÑниÑе в
+/philosophy. ÐÑли Ð²Ñ Ð¸ÑеÑе ÑвободнÑе пÑогÑаммÑ
Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзованиÑ, заглÑниÑе в
+/directory, где ÑейÑÐ°Ñ Ð¿ÐµÑеÑиÑлено около
1900 пакеÑов (ÑÑо ÑолÑко ÑаÑÑÑ
+вÑеÑ
ÑвободнÑÑ
пÑогÑамм, какие еÑÑÑ).
ÐожалÑйÑÑа, пиÑиÑе новÑе пÑогÑÐ°Ð¼Ð¼Ñ Ð¸
+пеÑедавайÑе нам. Ðой ÑбоÑник оÑеÑков,
“СвободнÑе пÑогÑÐ°Ð¼Ð¼Ñ Ð¸ Ñвободное
+обÑеÑÑво”, наÑ
одиÑÑÑ Ð² пÑодаже, и его
можно пÑиобÑеÑÑи на <a
+href="http://www.gnu.org/">www.gnu.org</a>. ÐÑего добÑого!</p>
+
+<ol>
+<li id="foot-1">Ðай СÑил ÑоÑÑавил пеÑвонаÑалÑнÑй
ÑиммеÑÑиÑнÑй Ð½Ð°Ð±Ð¾Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ Emacs; поÑом Ð¼Ñ Ñ
+ним наÑали ÑеализовÑваÑÑ Emacs (на базе TECO),
но поÑле одной длиÑелÑной
+ÑовмеÑÑной ÑеÑÑии ÑазÑабоÑки СÑил наÑал
оÑÑ
одиÑÑ, Ñак ÑÑо Emacs заканÑивал
+Ñ. ÐÑÑгие, в ÑаÑÑноÑÑи, Юджин ЧиÑÑаÑелли и
Ðайк Ðак-Ðагон, внеÑли Ñвой вклад
+знаÑиÑелÑно позднее.</li>
+
+<li id="foot-2">ÐеÑни ÐÑинбеÑг ÑÑвеÑждаеÑ, ÑÑо
ÑеализаÑÐ¸Ñ Emacs Ðана УайнÑеба длÑ
+маÑинÑ-ÐиÑпа вÑÑла ÑанÑÑе ÑеализаÑии
ÐÑинбеÑга Ð´Ð»Ñ Multics. Я пÑиноÑÑ
+Ð¸Ð·Ð²Ð¸Ð½ÐµÐ½Ð¸Ñ Ð·Ð° ÑÑÑ Ð¾ÑибкÑ.</li>
+
+<li id="foot-3">Ðлан ÐÑинблÑÑÑа, наÑколÑко Ñ
понимаÑ, заклÑÑалÑÑ Ð² Ñом, ÑÑÐ¾Ð±Ñ Ð½Ð°Ð½Ð¸Ð¼Ð°ÑÑ
лÑдей
+из лабоÑаÑоÑии по ÑовмеÑÑиÑелÑÑÑвÑ, Ñак
ÑÑо они могли пÑодолжаÑÑ ÑабоÑаÑÑ Ð²
+ÐабоÑаÑоÑии иÑкÑÑÑÑвенного инÑеллекÑа.
Symbolics вмеÑÑо ÑÑого нанимала иÑ
на
+полнÑй ÑабоÑий денÑ, Ñак ÑÑо они
пÑекÑаÑали ÑабоÑаÑÑ Ð² инÑÑиÑÑÑе.</li>
+
+<li id="foot-4">ÐÑÐ¾Ñ Ð¿Ð»Ð°Ð½ оÑновÑвалÑÑ Ð½Ð° Ñом (в
Ñой ÑеÑи Ñ ÑÑого не Ñказал Ñвно), ÑÑо в
+наÑалÑнÑй пеÑиод бÑвÑие Ñ
акеÑÑ
ÐабоÑаÑоÑии иÑкÑÑÑÑвенного инÑеллекÑа,
как в
+Symbolics, Ñак и в LMI, пÑодолжали вноÑиÑÑ Ñвои
Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² ÑиÑÑемÑ
+маÑинÑ-ÐиÑпа инÑÑиÑÑÑа — Ñ
оÑÑ Ð¿Ð¾
конÑÑакÑÑ ÑÑого не
+ÑÑебовалоÑÑ. Ðлан Symbolics заклÑÑалÑÑ Ð² Ñом,
ÑÑÐ¾Ð±Ñ Ð¿ÑеÑваÑÑ ÑÑо
+ÑоÑÑÑдниÑеÑÑво в одноÑÑоÑоннем поÑÑдке.</li>
+
+<li id="foot-5">Ðе Ñо ÑÑÐ¾Ð±Ñ Ð¼ÐµÐ½Ñ Ð¾Ñобенно
забоÑила ÑÑдÑба LMI, но Ñ Ð¿ÑоÑÑо не Ñ
оÑел
+позволиÑÑ Symbolics нажиÑÑÑÑ Ð½Ð° Ñвоей агÑеÑÑии
по оÑноÑÐµÐ½Ð¸Ñ Ðº ÐабоÑаÑоÑии
+иÑкÑÑÑÑвенного инÑеллекÑа.</li>
+
+<li id="foot-6">Ðз ÑÑого ÑÑвеÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð±Ñл невеÑно
Ñделан вÑвод, ÑÑо Ñ Ð½Ð¸ÐºÐ¾Ð³Ð´Ð°-никогда не
+заглÑдÑвал в пÑогÑÐ°Ð¼Ð¼Ñ Symbolics. Ð
дейÑÑвиÑелÑноÑÑи здеÑÑ Ð³Ð¾Ð²Ð¾ÑиÑÑÑ, ÑÑо Ñ
+ÑÑо делал, понаÑалÑ. ÐÑÑ
однÑй ÑекÑÑ Symbolics
бÑл доÑÑÑпен в инÑÑиÑÑÑе, где
+Ñ Ð±Ñл впÑаве его ÑиÑаÑÑ, и ÑнаÑала именно
Ñак Ñ Ñзнавал об иÑ
изменениÑÑ
.
+
+<p>Ðо ÑÑо знаÑило, ÑÑо Ñ Ð±Ñл вÑнÑжден
пÑедпÑинимаÑÑ Ð¾ÑобÑе ÑÑилиÑ, ÑÑÐ¾Ð±Ñ ÑеÑаÑÑ
+каждÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð¿Ð¾-дÑÑгомÑ, ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ
копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑогÑамм
+Symbolics. ЧеÑез некоÑоÑое вÑÐµÐ¼Ñ Ñ Ñделал
вÑвод, ÑÑо лÑÑÑе даже не
+ÑмоÑÑеÑÑ. Так Ñ Ð¼Ð¾Ð³ пиÑаÑÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ ÐºÐ°ÐºÐ¸Ð¼
Ñгодно наилÑÑÑим обÑазом, не
+оглÑдÑваÑÑÑ Ð½Ð° Ñо, ÑÑо могло бÑÑÑ Ð² ÑекÑÑаÑ
Symbolics.</p></li>
+
+<li id="foot-7">Symbolics как-Ñо Ñаз вÑÑазила в
инÑÑиÑÑÑе пÑоÑеÑÑ, в коÑоÑом говоÑилоÑÑ,
ÑÑо
+Ð¼Ð¾Ñ ÑабоÑа, помеÑав иÑ
планÑ, ÑÑоила
компании Symbolics миллион доллаÑов.</li>
+
+<li id="foot-8">Я не возÑажаÑ, еÑли оÑÐµÐ½Ñ ÑложнаÑ
и гÑÐ¾Ð¼Ð¾Ð·Ð´ÐºÐ°Ñ ÑÑнкÑÐ¸Ñ Ð¿ÑинимаеÑ
+аÑгÑменÑÑ-кодовÑе Ñлова. ÐеÑÐ¿Ð¾ÐºÐ¾Ð¸Ñ Ð¼ÐµÐ½Ñ
ÑлÑÑай, когда ими полÑзÑÑÑÑÑ Ñакие
+пÑоÑÑÑе ÑÑнкÑии, как “member”.</li>
+</ol>
+
+
+<div style="font-size: small;">
+
+<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
+<h3>ÐÑимеÑÐ°Ð½Ð¸Ñ Ð¿ÐµÑеводÑиков</h3>
+<ol>
+<li id="tf1"><span lang="en" xml:lang="en">TECO, Text Editor and
+COrrector</span> — англ. ÑекÑÑовÑй ÑедакÑÐ¾Ñ Ð¸
коÑÑекÑоÑ.</li>
+<li id="tf2"><span lang="en" xml:lang="en">TCL, Tool
+Command Language</span> — англ.
инÑÑÑÑменÑалÑнÑй команднÑй
+ÑзÑк.</li>
+</ol></div>
+</div>
+
+<!-- for id="content", starts in the include above -->
+<!--#include virtual="/server/footer.ru.html" -->
+<div id="footer">
+
+<p>ÐожалÑйÑÑа, пÑиÑÑлайÑе обÑие запÑоÑÑ
ÑÐ¾Ð½Ð´Ñ Ð¸ GNU по адÑеÑÑ <a
+href="mailto:address@hidden"><address@hidden></a>. ÐÑÑÑ Ñакже <a
+href="/contact/">дÑÑгие ÑпоÑÐ¾Ð±Ñ ÑвÑзаÑÑÑÑ</a> Ñ
Ñондом. ÐÑÑеÑÑ Ð¾
+неÑабоÑаÑÑиÑ
ÑÑÑлкаÑ
и дÑÑгие попÑавки
или пÑÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ пÑиÑÑлаÑÑ Ð¿Ð¾
+адÑеÑÑ <a href="mailto:address@hidden"><address@hidden></a>.</p>
+
+<p>
+<!-- TRANSLATORS: Ignore the original text in this paragraph,
+ replace it with the translation of these two:
+
+ We work hard and do our best to provide accurate, good quality
+ translations. However, we are not exempt from imperfection.
+ Please send your comments and general suggestions in this regard
+ to <a href="mailto:address@hidden">
+
+ <address@hidden></a>.</p>
+
+ <p>For information on coordinating and submitting translations of
+ our web pages, see <a
+ href="/server/standards/README.translations.html">Translations
+ README</a>. -->
+ÐÑ ÑÑаÑалиÑÑ ÑделаÑÑ ÑÑÐ¾Ñ Ð¿ÐµÑевод ÑоÑнÑм и
каÑеÑÑвеннÑм, но иÑклÑÑиÑÑ
+возможноÑÑÑ Ð¾Ñибки Ð¼Ñ Ð½Ðµ можем.
ÐÑиÑÑлайÑе, пожалÑйÑÑа, Ñвои замеÑÐ°Ð½Ð¸Ñ Ð¸
+пÑÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾ пеÑÐµÐ²Ð¾Ð´Ñ Ð¿Ð¾ адÑеÑÑ <a
+href="mailto:address@hidden"><address@hidden></a>.
+</p><p>Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¿Ð¾ кооÑдинаÑии и
пÑедложениÑм пеÑеводов наÑиÑ
ÑÑаÑей Ñм. в
+<a href="/server/standards/README.translations.html">“Ð
ÑководÑÑве по
+пеÑеводам”</a>.</p>
+
+<!-- Regarding copyright, in general, standalone pages (as opposed to
+ files generated as part of manuals) on the GNU web server should
+ be under CC BY-ND 3.0 US. Please do NOT change or remove this
+ without talking with the webmasters or licensing team first.
+ Please make sure the copyright date is consistent with the
+ document. For web pages, it is ok to list just the latest year the
+ document was modified, or published.
+
+ If you wish to list earlier years, that is ok too.
+ Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
+ years, as long as each year in the range is in fact a copyrightable
+ year, i.e., a year in which the document was published (including
+ being publicly visible on the web or in a revision control system).
+
+ There is more detail about copyright years in the GNU Maintainers
+ Information document, www.gnu.org/prep/maintain. -->
+<p>Copyright © 2003, 2007, 2013 Free Software Foundation, Inc.</p>
+
+<p>ÐÑо пÑоизведение доÑÑÑпно по <a rel="license"
+href="http://creativecommons.org/licenses/by-nd/3.0/us/deed.ru">лиÑензии
+Creative Commons Attribution-NoDerivs (<em>ÐÑÑибÑÑÐ¸Ñ —
Ðез
+пÑоизводнÑÑ
пÑоизведений</em>) 3.0 СШÐ</a>.</p>
+
+<!--#include virtual="/server/bottom-notes.ru.html" -->
+<div class="translators-credits">
+
+<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
+<em>Ðнимание! РподгоÑовке ÑÑого пеÑевода
ÑÑаÑÑвовал ÑолÑко один Ñеловек. ÐÑ
+можеÑе ÑÑÑеÑÑвенно ÑлÑÑÑиÑÑ Ð¿ÐµÑевод, еÑли
пÑовеÑиÑе его и ÑаÑÑкажеÑе о
+найденнÑÑ
оÑибкаÑ
в <a
+href="http://savannah.gnu.org/projects/www-ru">ÑÑÑÑкой гÑÑппе
пеÑеводов
+gnu.org</a>.</em></div>
+
+
+ <p><!-- timestamp start -->
+Ðбновлено:
+
+$Date: 2013/02/28 05:29:35 $
+
+<!-- timestamp end -->
+</p>
+</div>
+</div>
+</body>
+</html>
Index: po/rms-lisp.ru-en.html
===================================================================
RCS file: po/rms-lisp.ru-en.html
diff -N po/rms-lisp.ru-en.html
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ po/rms-lisp.ru-en.html 28 Feb 2013 05:29:36 -0000 1.1
@@ -0,0 +1,590 @@
+<!--#include virtual="/server/header.html" -->
+<!-- Parent-Version: 1.72 -->
+<title>My Lisp Experiences and the Development of GNU Emacs
+- GNU Project - Free Software Foundation</title>
+<!--#include virtual="/server/banner.html" -->
+<!--#include virtual="/gnu/po/rms-lisp.translist" -->
+<h2>My Lisp Experiences and the Development of GNU Emacs</h2>
+
+<blockquote><p>(Transcript of Richard Stallman's Speech, 28 Oct 2002, at the
+International Lisp Conference).</p></blockquote>
+
+<p>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.</p>
+
+<p>My first experience with Lisp was when I read the Lisp 1.5 manual
+in high school. That's when I had my mind blown by the idea that there
+could be a computer language like that. The first time I had a chance
+to do anything with Lisp was when I was a freshman at Harvard and I
+wrote a Lisp interpreter for the <abbr title="Programmed Data
+Processor">PDP</abbr>-11. It was a very small machine
+— it had something like 8k of memory — and I managed to write the
+interpreter in a thousand instructions. This gave me some room for a
+little bit of data. That was before I got to see what real software
+was like, that did real system jobs.</p>
+
+<p>I began doing work on a real Lisp implementation with JonL White
+once I started working at <abbr title="Massachusetts Institute of
+Technology">MIT</abbr>. I got hired at the Artificial Intelligence Lab
+not by JonL, but by Russ Noftsker, which was most ironic considering
+what was to come — he must have really regretted that day.</p>
+
+<p>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.</p>
+
+<p>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.</p>
+
+<p>The original Emacs did not have Lisp in it. The lower level
+language, the non-interpreted language — was <abbr>PDP</abbr>-10
+Assembler. The interpreter we wrote in that actually wasn't written
+for Emacs, it was written for <acronym title="Text Editor and
+COrrector">TECO</acronym>. It was our text editor, and was an
+extremely ugly programming language, as ugly as could possibly be. The
+reason was that it wasn't designed to be a programming language, it
+was designed to be an editor and command language. There were commands
+like ‘5l’, meaning ‘move five lines’, or
+‘i’ and then a string and then an ESC to insert that
+string. You would type a string that was a series of commands, which
+was called a command string. You would end it with ESC ESC, and it
+would get executed.</p>
+
+<p>Well, people wanted to extend this language with programming
+facilities, so they added some. For instance, one of the first was a
+looping construct, which was < >. You would put those around
+things and it would loop. There were other cryptic commands that could
+be used to conditionally exit the loop. To make Emacs, we
+<a href="#foot-1">(1)</a> added facilities to have subroutines with
+names. Before that, it was sort of like Basic, and the subroutines
+could only have single letters as their names. That was hard to
+program big programs with, so we added code so they could have longer
+names. Actually, there were some rather sophisticated facilities; I
+think that Lisp got its unwind-protect facility
+from <acronym>TECO</acronym>.</p>
+
+<p>We started putting in rather sophisticated facilities, all with the
+ugliest syntax you could ever think of, and it worked — people were
+able to write large programs in it anyway. The obvious lesson was that
+a language like <acronym>TECO</acronym>, which wasn't designed to be a
+programming language, was the wrong way to go. The language that you
+build your extensions on shouldn't be thought of as a programming
+language in afterthought; it should be designed as a programming
+language. In fact, we discovered that the best programming language
+for that purpose was Lisp.</p>
+
+<p>It was Bernie Greenberg, who discovered that it
+was <a href="#foot-2">(2)</a>. He wrote a version of Emacs in Multics
+MacLisp, and he wrote his commands in MacLisp in a straightforward
+fashion. The editor itself was written entirely in Lisp. Multics Emacs
+proved to be a great success — programming new editing commands
+was so convenient that even the secretaries in his office started
+learning how to use it. They used a manual someone had written which
+showed how to extend Emacs, but didn't say it was a programming. So
+the secretaries, who believed they couldn't do programming, weren't
+scared off. They read the manual, discovered they could do useful
+things and they learned to program.</p>
+
+<p>So Bernie saw that an application — a program that does something
+useful for you — which has Lisp inside it and which you could extend
+by rewriting the Lisp programs, is actually a very good way for people
+to learn programming. It gives them a chance to write small programs
+that are useful for them, which in most arenas you can't possibly
+do. They can get encouragement for their own practical use — at the
+stage where it's the hardest — where they don't believe they can
+program, until they get to the point where they are programmers.</p>
+
+<p>At that point, people began to wonder how they could get something
+like this on a platform where they didn't have full service Lisp
+implementation. Multics MacLisp had a compiler as well as an
+interpreter — it was a full-fledged Lisp system — but people wanted
+to implement something like that on other systems where they had not
+already written a Lisp compiler. Well, if you didn't have the Lisp
+compiler you couldn't write the whole editor in Lisp — it would be
+too slow, especially redisplay, if it had to run interpreted Lisp. So
+we developed a hybrid technique. The idea was to write a Lisp
+interpreter and the lower level parts of the editor together, so that
+parts of the editor were built-in Lisp facilities. Those would be
+whatever parts we felt we had to optimize. This was a technique that
+we had already consciously practiced in the original Emacs, because
+there were certain fairly high level features which we re-implemented
+in machine language, making them into <acronym>TECO</acronym>
+primitives. For instance, there was a <acronym>TECO</acronym>
+primitive to fill a paragraph (actually, to do most of the work of
+filling a paragraph, because some of the less time-consuming parts of
+the job would be done at the higher level by a <acronym>TECO</acronym>
+program). You could do the whole job by writing
+a <acronym>TECO</acronym> program, but that was too slow, so we
+optimized it by putting part of it in machine language. We used the
+same idea here (in the hybrid technique), that most of the editor
+would be written in Lisp, but certain parts of it that had to run
+particularly fast would be written at a lower level.</p>
+
+<p>Therefore, when I wrote my second implementation of Emacs, I
+followed the same kind of design. The low level language was not
+machine language anymore, it was C. C was a good, efficient language
+for portable programs to run in a Unix-like operating system. There
+was a Lisp interpreter, but I implemented facilities for special
+purpose editing jobs directly in C — manipulating editor buffers,
+inserting leading text, reading and writing files, redisplaying the
+buffer on the screen, managing editor windows.</p>
+
+<p>Now, this was not the first Emacs that was written in C and ran on
+Unix. The first was written by James Gosling, and was referred to as
+GosMacs. A strange thing happened with him. In the beginning, he
+seemed to be influenced by the same spirit of sharing and cooperation
+of the original Emacs. I first released the original Emacs to people
+at <abbr>MIT</abbr>. Someone wanted to port it to run on Twenex — it
+originally only ran on the Incompatible Timesharing System we used
+at <abbr>MIT</abbr>. They ported it to Twenex, which meant that there
+were a few hundred installations around the world that could
+potentially use it. We started distributing it to them, with the rule
+that “you had to send back all of your improvements” so we
+could all benefit. No one ever tried to enforce that, but as far as I
+know people did cooperate.</p>
+
+<p>Gosling did, at first, seem to participate in this spirit. He wrote
+in a manual that he called the program Emacs hoping that others in the
+community would improve it until it was worthy of that name. That's
+the right approach to take towards a community — to ask them to join
+in and make the program better. But after that he seemed to change the
+spirit, and sold it to a company.</p>
+
+<p>At that time I was working on the GNU system (a free software
+Unix-like operating system that many people erroneously call
+“Linux”). There was no free software Emacs editor that ran
+on Unix. I did, however, have a friend who had participated in
+developing Gosling's Emacs. Gosling had given him, by email, permission
+to distribute his own version. He proposed to me that I use that
+version. Then I discovered that Gosling's Emacs did not have a real
+Lisp. It had a programming language that was known as
+‘mocklisp’, which looks syntactically like Lisp, but didn't
+have the data structures of Lisp. So programs were not data, and vital
+elements of Lisp were missing. Its data structures were strings,
+numbers and a few other specialized things.</p>
+
+<p>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.</p>
+
+<p>The one exception was redisplay. For a long time, redisplay was
+sort of an alternate world. The editor would enter the world of
+redisplay and things would go on with very special data structures
+that were not safe for garbage collection, not safe for interruption,
+and you couldn't run any Lisp programs during that. We've changed that
+since — it's now possible to run Lisp code during redisplay. It's
+quite a convenient thing.</p>
+
+<p>This second Emacs program was ‘free software’ in the
+modern sense of the term — it was part of an explicit political
+campaign to make software free. The essence of this campaign was that
+everybody should be free to do the things we did in the old days
+at <abbr>MIT</abbr>, working together on software and working with
+whomever wanted to work with us. That is the basis for the free
+software movement — the experience I had, the life that I've lived at
+the <abbr>MIT</abbr> AI lab — to be working on human knowledge, and
+not be standing in the way of anybody's further using and further
+disseminating human knowledge.</p>
+
+<p>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.</p>
+
+<p>The Lisp machine was able to execute instructions about as fast as
+those other machines, but each instruction — a car instruction would
+do data typechecking — so when you tried to get the car of a number
+in a compiled program, it would give you an immediate error. We built
+the machine and had a Lisp operating system for it. It was written
+almost entirely in Lisp, the only exceptions being parts written in
+the microcode. People became interested in manufacturing them, which
+meant they should start a company.</p>
+
+<p>There were two different ideas about what this company should be
+like. Greenblatt wanted to start what he called a
+“hacker” company. This meant it would be a company run by
+hackers and would operate in a way conducive to hackers. Another goal
+was to maintain the AI Lab culture <a href="#foot-3">(3)</a>.
+Unfortunately, Greenblatt didn't have any business experience, so
+other people in the Lisp machine group said they doubted whether he
+could succeed. They thought that his plan to avoid outside investment
+wouldn't work.</p>
+
+<p>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.</p>
+
+<p>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.</p>
+
+<p>Greenblatt then recruited Russell Noftsker, the man who had hired
+me, who had subsequently left the AI Lab and created a successful
+company. Russell was believed to have an aptitude for business. He
+demonstrated this aptitude for business by saying to the other people
+in the group, “Let's ditch Greenblatt, forget his ideas, and
+we'll make another company.” Stabbing in the back, clearly a
+real businessman. Those people decided they would form a company
+called Symbolics. They would get outside investment, not have
+scruples, and do everything possible to win.</p>
+
+<p>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.</p>
+
+<p>Thus, the abandonment of our lab was followed by “war”
+in our lab. The abandonment happened when Symbolics hired away all
+the hackers, except me and the few who worked at LMI part-time. Then
+they invoked a rule and eliminated people who worked part-time
+for <abbr>MIT</abbr>, so they had to leave entirely, which left only
+me. The AI lab was now helpless. And <abbr>MIT</abbr> had made a very
+foolish arrangement with these two companies. It was a three-way
+contract where both companies licensed the use of Lisp machine system
+sources. These companies were required to let <abbr>MIT</abbr> use
+their changes. But it didn't say in the contract that <abbr>MIT</abbr>
+was entitled to put them into the <abbr>MIT</abbr> Lisp machine
+systems that both companies had licensed. Nobody had envisioned that
+the AI lab's hacker group would be wiped out, but it was.</p>
+
+<p> So Symbolics came up with a plan <a href="#foot-4">(4)</a>. They
+said to the lab, “We will continue making our changes to the
+system available for you to use, but you can't put it into
+the <abbr>MIT</abbr> Lisp machine system. Instead, we'll give you
+access to Symbolics' Lisp machine system, and you can run it, but
+that's all you can do.”</p>
+
+<p>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.</p>
+
+<p>Up until that point, I hadn't taken the side of either company,
+although it made me miserable to see what had happened to our
+community and the software. But now, Symbolics had forced the issue.
+So, in an effort to help keep Lisp Machines
+Inc. going <a href="#foot-5">(5)</a> — I began duplicating all
+of the improvements Symbolics had made to the Lisp machine system. I
+wrote the equivalent improvements again myself (i.e., the code was my
+own).</p>
+
+<p>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.</p>
+
+<p>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.</p>
+
+<p>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.</p>
+
+<p>Once I stopped punishing Symbolics, I had to figure out what to do
+next. I had to make a free operating system, that was clear — the
+only way that people could work together and share was with a free
+operating system.</p>
+
+<p>At first, I thought of making a Lisp-based system, but I realized
+that wouldn't be a good idea technically. To have something like the
+Lisp machine system, you needed special purpose microcode. That's what
+made it possible to run programs as fast as other computers would run
+their programs and still get the benefit of typechecking. Without
+that, you would be reduced to something like the Lisp compilers for
+other machines. The programs would be faster, but unstable. Now that's
+okay if you're running one program on a timesharing system — if one
+program crashes, that's not a disaster, that's something your program
+occasionally does. But that didn't make it good for writing the
+operating system in, so I rejected the idea of making a system like
+the Lisp machine.</p>
+
+<p>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.</p>
+
+<p>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.</p>
+
+<p>For instance, at the time the only looping construct was
+‘while’, which was extremely simple. There was no way to
+break out of the ‘while’ statement, you just had to do a
+catch and a throw, or test a variable that ran the loop. That shows
+how far I was pushing to keep things small. We didn't have
+‘caar’ and ‘cadr’ and so on; “squeeze
+out everything possible” was the spirit of GNU Emacs, the spirit
+of Emacs Lisp, from the beginning.</p>
+
+<p>Obviously, machines are bigger now, and we don't do it that way
+any more. We put in ‘caar’ and ‘cadr’ and so
+on, and we might put in another looping construct one of these
+days. We're willing to extend it some now, but we don't want to extend
+it to the level of common Lisp. I implemented Common Lisp once on the
+Lisp machine, and I'm not all that happy with it. One thing I don't
+like terribly much is keyword arguments <a href="#foot-8">(8)</a>.
+They don't seem quite Lispy
+to me; I'll do it sometimes but I minimize the times when I do
+that.</p>
+
+<p>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.</p>
+
+<p>At the time, <acronym title="Tool Command Language">TCL</acronym>
+was being pushed heavily for this purpose. I had a very low opinion
+of <acronym>TCL</acronym>, basically because it wasn't Lisp. It looks
+a tiny bit like Lisp, but semantically it isn't, and it's not as
+clean. Then someone showed me an ad where Sun was trying to hire
+somebody to work on <acronym>TCL</acronym> to make it the
+“de-facto standard extension language” of the world. And I
+thought, “We've got to stop that from happening.” So we
+started to make Scheme the standard extensibility language for
+GNU. Not Common Lisp, because it was too large. The idea was that we
+would have a Scheme interpreter designed to be linked into
+applications in the same way <acronym>TCL</acronym> was linked into
+applications. We would then recommend that as the preferred
+extensibility package for all GNU programs.</p>
+
+<p>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.</p>
+
+<p>As long as the extensibility languages are weak, the users have to
+use only the language you provided them. Which means that people who
+love any given language have to compete for the choice of the
+developers of applications — saying “Please, application
+developer, put my language into your application, not his
+language.” Then the users get no choices at all — whichever
+application they're using comes with one language and they're stuck
+with [that language]. But when you have a powerful language that can
+implement others by translating into it, then you give the user a
+choice of language and we don't have to have a language war
+anymore. That's what we're hoping ‘Guile’, our scheme
+interpreter, will do. We had a person working last summer finishing up
+a translator from Python to Scheme. I don't know if it's entirely
+finished yet, but for anyone interested in this project, please get in
+touch. So that's the plan we have for the future.</p>
+
+<p>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.</p>
+
+<p>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.</p>
+
+<p>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.</p>
+
+<p>We've produced a tremendous range of free software. We've done what
+people said we could never do; we have two operating systems of free
+software. We have many applications and we obviously have a lot
+farther to go. So we need your help. I would like to ask you to
+volunteer for the GNU project; help us develop free software for more
+jobs. Take a look at <a href="/help/">http://www.gnu.org/help</a> to
+find suggestions for how to help. If you want to order things, there's
+a link to that from the home page. If you want to read about
+philosophical issues, look in /philosophy. If you're looking for free
+software to use, look in /directory, which lists about 1900 packages
+now (which is a fraction of all the free software out there). Please
+write more and contribute to us. My book of essays, “Free
+Software and Free Society”, is on sale and can be purchased at
+<a href="http://www.gnu.org/">www.gnu.org</a>. Happy hacking!</p>
+
+<ol>
+<li id="foot-1">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.</li>
+
+<li id="foot-2">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.</li>
+
+<li id="foot-3">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.</li>
+
+<li id="foot-4">The background of this plan, which I did not state
+explicitly in the talk, is that during an initial period the ex-AI-Lab
+hackers, whether at Symbolics or LMI, continued contributing their
+changes to the MIT Lisp Machine system — even though the
+contract did not require this. Symbolics' plan was to rupture this
+cooperation unilaterally.</li>
+
+<li id="foot-5">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.</li>
+
+<li id="foot-6">This statement has been misconstrued as saying that I
+never, ever looked at Symbolics' code. Actually it says I did look,
+at first. The Symbolics source code was available at MIT, where I was
+entitled to read it, and at first that's how I found out about their
+changes.
+
+<p>But that meant I had to make a special effort to solve each problem
+differently, in order to avoid copying Symbolics code. After a while,
+I concluded it was better not to even look. That way I could write
+code in whatever way was best, without concern for what might be in
+Symbolics' code.</p></li>
+
+<li id="foot-7">Symbolics at one point protested to MIT that my work,
+by thwarting their plan, had cost Symbolics a million dollars.</li>
+
+<li id="foot-8">I don't mind if a very complex and heavyweight
+function takes keyword arguments. What bothers me is making simple
+basic functions such as “member” use them.</li>
+</ol>
+
+</div><!-- for id="content", starts in the include above -->
+<!--#include virtual="/server/footer.html" -->
+<div id="footer">
+
+<p>Please send general FSF & GNU inquiries to
+<a href="mailto:address@hidden"><address@hidden></a>.
+There are also <a href="/contact/">other ways to contact</a>
+the FSF. Broken links and other corrections or suggestions can be sent
+to <a href="mailto:address@hidden"><address@hidden></a>.</p>
+
+<p><!-- TRANSLATORS: Ignore the original text in this paragraph,
+ replace it with the translation of these two:
+
+ We work hard and do our best to provide accurate, good quality
+ translations. However, we are not exempt from imperfection.
+ Please send your comments and general suggestions in this regard
+ to <a href="mailto:address@hidden">
+ <address@hidden></a>.</p>
+
+ <p>For information on coordinating and submitting translations of
+ our web pages, see <a
+ href="/server/standards/README.translations.html">Translations
+ README</a>. -->
+Please see the <a
+href="/server/standards/README.translations.html">Translations
+README</a> for information on coordinating and submitting translations
+of this article.</p>
+
+<!-- Regarding copyright, in general, standalone pages (as opposed to
+ files generated as part of manuals) on the GNU web server should
+ be under CC BY-ND 3.0 US. Please do NOT change or remove this
+ without talking with the webmasters or licensing team first.
+ Please make sure the copyright date is consistent with the
+ document. For web pages, it is ok to list just the latest year the
+ document was modified, or published.
+
+ If you wish to list earlier years, that is ok too.
+ Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
+ years, as long as each year in the range is in fact a copyrightable
+ year, i.e., a year in which the document was published (including
+ being publicly visible on the web or in a revision control system).
+
+ There is more detail about copyright years in the GNU Maintainers
+ Information document, www.gnu.org/prep/maintain. -->
+
+<p>Copyright © 2003, 2007, 2013 Free Software Foundation, Inc.</p>
+
+<p>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>.</p>
+
+<!--#include virtual="/server/bottom-notes.html" -->
+
+<p>Updated:
+<!-- timestamp start -->
+$Date: 2013/02/28 05:29:36 $
+<!-- timestamp end -->
+</p>
+</div>
+</div>
+</body>
+</html>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- www/gnu po/rms-lisp.translist rms-lisp.ru.html ...,
GNUN <=