www-commits
[Top][All Lists]
Advanced

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

www/gnu rms-lisp.html rms-lisp.fr.html


From: Cédric CORAZZA
Subject: www/gnu rms-lisp.html rms-lisp.fr.html
Date: Sun, 02 Mar 2008 11:46:20 +0000

CVSROOT:        /webcvs/www
Module name:    www
Changes by:     Cédric CORAZZA <ccorazza>      08/03/02 11:46:20

Modified files:
        gnu            : rms-lisp.html 
Added files:
        gnu            : rms-lisp.fr.html 

Log message:
        Adding French document

CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/gnu/rms-lisp.html?cvsroot=www&r1=1.19&r2=1.20
http://web.cvs.savannah.gnu.org/viewcvs/www/gnu/rms-lisp.fr.html?cvsroot=www&rev=1.1

Patches:
Index: rms-lisp.html
===================================================================
RCS file: /webcvs/www/www/gnu/rms-lisp.html,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- rms-lisp.html       2 Dec 2007 18:56:23 -0000       1.19
+++ rms-lisp.html       2 Mar 2008 11:45:56 -0000       1.20
@@ -551,7 +551,7 @@
 <p>
 Updated:
 <!-- timestamp start -->
-$Date: 2007/12/02 18:56:23 $
+$Date: 2008/03/02 11:45:56 $
 <!-- timestamp end -->
 </p>
 </div>
@@ -575,6 +575,8 @@
 <ul class="translations-list">
 <!-- English -->
 <li><a href="/gnu/rms-lisp.html">English</a>&nbsp;[en]</li>
+<!-- French -->
+<li><a href="/gnu/rms-lisp.fr.html">Fran&#x00e7;ais</a>&nbsp;[fr]</li>
 </ul>
 </div>
 

Index: rms-lisp.fr.html
===================================================================
RCS file: rms-lisp.fr.html
diff -N rms-lisp.fr.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ rms-lisp.fr.html    2 Mar 2008 11:45:56 -0000       1.1
@@ -0,0 +1,592 @@
+<!--#include virtual="/server/header.fr.html" -->
+
+<title>Mes exp&eacute;riences avec Lisp et le d&eacute;veloppement de GNU 
Emacs</title>
+
+<!--#include virtual="/server/banner.fr.html" -->
+
+<h2>Mes exp&eacute;riences avec Lisp et le d&eacute;veloppement de GNU 
Emacs</h2>
+
+<!-- This document uses XHTML 1.0 Strict, but may be served as -->
+<!-- text/html.  Please ensure that markup style considers -->
+<!-- appendex C of the XHTML 1.0 standard. See validator.w3.org. -->
+
+<!-- Please ensure links are consistent with Apache's MultiView. -->
+<!-- Change include statements to be consistent with the relevant -->
+<!-- language, where necessary. -->
+
+<h3>(Transcription du discours de Richard Stallman, 28 Octobre 2002, &agrave; 
la conf&eacute;rence
+internationale Lisp)</h3>
+
+<p>Comme aucun de mes discours habituels n'a &agrave; voir avec Lisp, aucun ne 
serait
+appropri&eacute; pour aujourd'hui. Donc je vais improviser. Comme j'ai fait 
suffisamment
+de choses dans ma carri&egrave;re en relation avec Lisp, je devrais &ecirc;tre 
capable de
+raconter quelque chose d'int&eacute;ressant.</p>
+
+<p>Ma premi&egrave;re exp&eacute;rience avec Lisp a &eacute;t&eacute; de lire 
le manuel Lisp 1.5 au lyc&eacute;e.
+C'est &agrave; ce moment l&agrave; que l'id&eacute;e m'a frapp&eacute; de 
plein fouet&nbsp;: qu'il puisse y avoir un
+langage informatique comme cela. La premi&egrave;re fois que j'ai eu la chance 
de faire
+quelque chose avec Lisp fut quand je suis arriv&eacute; &agrave; Harvard et 
que j'ai &eacute;crit un
+interpr&eacute;teur Lisp pour le PDP-11. C'&eacute;tait une toute petite 
machine, avec
+quelque chose comme 8 Ko de m&eacute;moire, et j'ai r&eacute;ussi &agrave; 
&eacute;crire l'interpr&eacute;teur en un
+millier de lignes. Cela m'a laiss&eacute; un peu de place pour quelques 
donn&eacute;es. Tout cela
+&eacute;tait avant que je ne vois ce qu'est du vrai logiciel, qui 
ex&eacute;cute un vrai travail
+syst&egrave;me.</p>
+
+<p>J'ai commenc&eacute; &agrave; travailler sur une vraie 
impl&eacute;mentation de Lisp avec JonL White
+apr&egrave;s avoir d&eacute;but&eacute; au <acronym title="Massachusetts 
Institute of Technology">M.I.T.</acronym>
+J'ai &eacute;t&eacute; engag&eacute; au laboratoire d'intelligence
+artificielle non pas par JonL, mais par Russ Noftsker, ce qui est plut&ocirc;t 
ironique
+vu ce qui s'est pass&eacute; par la suite&nbsp;: il a vraiment d&ucirc; 
regretter ce jour-l&agrave;.</p>
+
+<p>Pendant les ann&eacute;es 70, avant que ma vie ne soit politis&eacute;e par 
des &eacute;v&eacute;nements
+horribles, je me contentais de faire une extension apr&egrave;s l'autre pour 
des
+programmes vari&eacute;s, et la plupart d'entre eux n'avaient rien &agrave; 
voir avec Lisp. Mais,
+au fur et &agrave; mesure, j'ai &eacute;crit un &eacute;diteur de texte, 
Emacs. L'id&eacute;e int&eacute;ressante &agrave;
+propos d'Emacs &eacute;tait qu'il poss&eacute;dait un langage de 
programmation, et que les
+commandes d'&eacute;dition de l'utilisateur seraient &eacute;crites dans ce 
langage de
+programmation interpr&eacute;t&eacute;, de telle sorte que vous pouviez 
charger de nouvelles
+commandes dans votre &eacute;diteur pendant que vous &eacute;ditiez. Vous 
pouviez &eacute;diter les
+programmes que vous utilisiez et continuer &agrave; &eacute;diter avec eux. 
Donc, nous avions un
+syst&egrave;me qui &eacute;tait utile &agrave; autre chose qu'&agrave; 
programmer, et que vous pouviez
+programmer pendant que vous l'utilisiez. Je ne sais pas si c'&eacute;tait le 
premier
+programme &agrave; le faire, mais c'&eacute;tait certainement le premier 
&eacute;diteur comme &ccedil;a.</p>
+
+<p>L'id&eacute;e de construire des programmes gigantesques et 
compliqu&eacute;s, &agrave; utiliser dans
+notre propre &eacute;dition, et ensuite de les &eacute;changer avec d'autres 
personnes, a aliment&eacute;
+l'esprit de coop&eacute;ration sans contrainte que nous avions
+au labo d'<acronym title="Intelligence Artificielle">I.A.</acronym> &agrave; 
ce moment-l&agrave;. L'id&eacute;e &eacute;tait que vous pouviez donner une 
copie de
+n'importe quel programme que vous aviez &agrave; celui qui en voulait une 
copie. Nous
+partagions les programmes avec qui que soit voulant les utiliser, ils 
&eacute;taient de
+la connaissance, du savoir humain. Donc m&ecirc;me s'il n'y avait pas de 
pens&eacute;e politique
+organis&eacute;e li&eacute;e &agrave; la mani&egrave;re dont nous partagions 
du logiciel pour concevoir Emacs,
+je suis convaincu qu'il y avait une connexion entre eux, peut-&ecirc;tre une 
connexion
+inconsciente. Je pense que c'est la nature de notre fa&ccedil;on de vivre au 
labo d'I.A. qui
+&agrave; men&eacute; &agrave; Emacs et l'a fait devenir ce qu'il 
&eacute;tait.</p>
+
+<p>L'Emacs original ne contenait pas de Lisp. Le langage de bas-niveau, le 
langage
+non interpr&eacute;t&eacute;, &eacute;tait de l'assembleur PDP-10. 
L'interpr&eacute;teur dans lequel nous
+&eacute;crivions n'&eacute;tait en fait pas &eacute;crit pour Emacs, il 
&eacute;tait &eacute;crit pour TECO. C'&eacute;tait
+notre &eacute;diteur de texte, et &eacute;tait un langage de programmation 
extr&ecirc;mement laid, le
+plus laid qu'il puisse exister. La raison en &eacute;tait qu'il n'&eacute;tait 
pas con&ccedil;u pour
+&ecirc;tre un langage de programmation, mais pour &ecirc;tre un langage 
d'&eacute;dition et de
+commande. Il y avait des commandes comme &laquo;&nbsp;5l&nbsp;&raquo;, 
signifiant &laquo;&nbsp;avance de 5 lignes&nbsp;&raquo;, ou
+bien &laquo;&nbsp;i&nbsp;&raquo; puis une cha&icirc;ne de caract&egrave;re et 
&Eacute;chap pour ins&eacute;rer cette cha&icirc;ne. Vous
+pouviez taper une cha&icirc;ne de caract&egrave;res qui &eacute;tait une 
s&eacute;rie de commandes, ce qui
+s'appelait une cha&icirc;ne de commande. Vous la terminiez par &Eacute;chap 
&Eacute;chap, et elle &eacute;tait
+ex&eacute;cut&eacute;e.</p>
+
+<p>Eh bien, certaines personnes voulaient &eacute;tendre ce langage avec des 
m&eacute;thodes de
+programmation, donc ils en ont ajout&eacute; quelques-unes. Par exemple, l'une 
des
+premi&egrave;res fut une structure de boucle, qui &eacute;tait &lt; &gt;. Vous 
pouviez les placer
+autour de quelque chose, et cette chose s'ex&eacute;cutait en boucle. Il y 
avait d'autres
+commandes cryptiques qui pouvaient &ecirc;tre utilis&eacute;es pour sortir de 
la boucle en
+fonction de conditions. Pour faire Emacs, nous <a href="#foot-7">(7)</a> avons
+ajout&eacute; des m&eacute;thodes pour avoir des sous-routines avec des noms. 
Avant cela, c'&eacute;tait
+une sorte de Basic, et les sous-routines pouvaient uniquement avoir une seule
+lettre pour nom. Il &eacute;tait difficile de faire des gros programmes avec, 
donc
+nous avons ajout&eacute; du code pour qu'elles puissent avoir des noms plus 
long. En fait,
+il y avait des m&eacute;thodes plut&ocirc;t sophistiqu&eacute;es&nbsp;: je 
pense que Lisp a h&eacute;rit&eacute; sa
+m&eacute;thode unwind-protect de TECO.</p>
+
+<p>Nous avons commenc&eacute; &agrave; int&eacute;grer des m&eacute;thodes 
plut&ocirc;t sophistiqu&eacute;es, toutes avec la
+syntaxe la plus horrible que vous pouviez vous repr&eacute;senter, et cela 
marchait&nbsp;: les
+gens &eacute;taient capables d'&eacute;crire des programmes avec en tout cas. 
La le&ccedil;on &eacute;vidente
+&eacute;tait qu'un langage comme TECO, qui n'&eacute;tait pas con&ccedil;u 
pour programmer, &eacute;tait la
+mauvaise direction. Le langage sur lequel vous construisez vos extensions ne
+devrait pas &ecirc;tre vu en tant que langage de programmation apr&egrave;s 
coup, il devrait &ecirc;tre
+con&ccedil;u en tant que langage de programmation. En fait, nous avons 
d&eacute;couvert que le
+meilleur langage de programmation pour faire cela &eacute;tait Lisp.</p>
+
+<p>C'est Bernie Greenberg, qui a d&eacute;couvert qu'il l'&eacute;tait <a 
href="#foot-5">(5)</a>.
+Il a &eacute;crit une version d'Emacs en Multics MacLisp, et il 
&eacute;crivait ses commandes en
+MacLisp de fa&ccedil;on tr&egrave;s directe. L'&eacute;diteur lui-m&ecirc;me 
&eacute;tait enti&egrave;rement &eacute;crit en Lisp.
+Emacs Multics fut un grand succ&egrave;s&nbsp;: programmer de nouvelles 
commandes d'&eacute;dition
+&eacute;tait si pratique que m&ecirc;me les secr&eacute;taires dans son bureau 
ont commenc&eacute; &agrave; apprendre
+&agrave; s'en servir. Elles utilisaient un manuel que quelqu'un avait 
&eacute;crit qui montrait
+comment &eacute;tendre Emacs, mais qui ne disait pas qu'il s'agissait de 
programmation.
+Donc les secr&eacute;taires, qui croyaient qu'elles ne pouvaient pas 
programmer, n'ont pas
+&eacute;t&eacute; effray&eacute;es. Elles ont lu le manuel, d&eacute;couvert 
qu'elles pouvaient faire des
+choses utiles, et ont appris &agrave; programmer.</p>
+
+<p>Donc Bernie &agrave; vu qu'une application (un programme qui fait quelque 
chose d'utile
+pour vous) qui avait Lisp &agrave; l'int&eacute;rieur et que vous pouviez 
&eacute;tendre en r&eacute;&eacute;crivant
+les programmes Lisp, &eacute;tait r&eacute;ellement une tr&egrave;s bonne 
mani&egrave;re pour les gens
+d'apprendre &agrave; programmer. Cela leur donnait la chance d'&eacute;crire 
de petits programmes
+qui leur &eacute;taient utiles, ce qui est impossible dans la plupart des 
situations. Ils
+peuvent ainsi s'encourager (au stade le plus difficile) quand ils ne croient 
pas
+qu'ils puissent programmer, jusqu'&agrave; ce qu'ils arrivent au point 
o&ugrave; ils sont devenus
+programmeurs.</p>
+
+<p>&Agrave; ce moment-l&agrave;, les gens ont commenc&eacute; &agrave; se 
demander comment ils pouvaient obtenir
+quelque chose de ce genre sur une plateforme sur laquelle ils ne disposaient 
pas de
+l'impl&eacute;mentation des services complets de Lisp. Multics MacLisp avait 
un compilateur
+aussi bien qu'un interpr&eacute;teur (c'&eacute;tait un syst&egrave;me Lisp 
complet) mais les gens
+voulaient impl&eacute;menter quelque chose comme &ccedil;a sur d'autres 
syst&egrave;mes o&ugrave; ils n'avaient
+pas encore de compilateur Lisp. Car sans avoir le compilateur Lisp vous ne 
pouviez
+&eacute;crire l'&eacute;diteur entier en Lisp&nbsp;: ce serait trop lent, 
sp&eacute;cialement l'affichage,
+s'il fallait faire tourner du Lisp interpr&eacute;t&eacute;. Donc nous avons 
d&eacute;velopp&eacute; une
+technique hybride. L'id&eacute;e &eacute;tait d'&eacute;crire un 
interpr&eacute;teur Lisp et les parties
+bas-niveau de l'&eacute;diteur ensemble, de telle sorte que des morceaux de 
l'&eacute;diteur &eacute;taient
+des m&eacute;thodes int&eacute;gr&eacute;es Lisp. C'&eacute;tait toutes les 
parties dont nous avions le
+sentiment qu'il fallait les optimiser. C'est une technique que nous avions 
d&eacute;j&agrave;
+consciemment pratiqu&eacute; dans l'Emacs original, puisqu'il y avait certaines
+fonctionnalit&eacute;s de relativement haut-niveau que nous 
r&eacute;-impl&eacute;mentions en langage
+machine, les transformant en primitives TECO. Par exemple, il y avait une 
primitive
+TECO pour remplir un paragraphe (en fait, pour faire le gros du travail de 
remplir
+un paragraphe, parce que certaines des parties du travail les moins exigentes 
en
+temps &eacute;taient faites &agrave; un niveau sup&eacute;rieur par un 
programme TECO). Vous pouviez
+faire tout le travail en &eacute;crivant un programme TECO, mais 
c'&eacute;tait trop lent, donc
+nous l'avons optimis&eacute; en en mettant une partie en langage machine. Nous 
avons
+utilis&eacute; la m&ecirc;me id&eacute;e ici (dans la technique hybride), que 
la grosse partie de
+l'&eacute;diteur serait &eacute;crite en Lisp, mais que certaines parties 
ayant besoin de
+fonctionner particuli&egrave;rement rapidement seraient &eacute;crites 
&agrave; un niveau
+inf&eacute;rieur.</p>
+
+<p>C'est pourquoi, quand j'ai &eacute;crit ma deuxi&egrave;me 
impl&eacute;mentation d'Emacs, j'ai suivi
+le m&ecirc;me concept.Le langage de bas niveau n'&eacute;tait plus du langage 
machine mais du
+C. C &eacute;tait un bon langage, efficace pour des programmes portables 
fonctionnant
+dans un syst&egrave;me d'exploitation de type Unix. Il y avait un 
interpr&eacute;teur Lisp, mais
+j'ai impl&eacute;ment&eacute; des m&eacute;thodes pour des travaux 
d'&eacute;dition sp&eacute;ciale directement en C
+- manipuler les piles de l'&eacute;diteur, ins&eacute;rer du 
&laquo;&nbsp;leading text&nbsp;&raquo;, lire et &eacute;crire des
+fichiers, r&eacute;afficher la pile &agrave; l'&eacute;cran, g&eacute;rer les 
fen&ecirc;tres de l'&eacute;diteur.</p>
+
+<p>Maintenant, ce n'&eacute;tait pas le premier Emacs &eacute;crit en C et 
fonctionnant sous
+Unix. Le premier a &eacute;t&eacute; &eacute;crit par James Gosling, et 
&eacute;tait appel&eacute; GosMac. Une chose
+&eacute;trange lui est arriv&eacute;e. Au d&eacute;but, il semblait &ecirc;tre 
influenc&eacute; par le m&ecirc;me esprit
+de partage et de coop&eacute;ration que celui de l'Emacs original. J'ai 
d'abord distribu&eacute;
+l'Emacs original aux gens du M.I.T. Quelqu'un voulait le porter pour le faire
+fonctionner sur Twenex&nbsp;: il fonctionnait &agrave; l'origine sur 
l'Incompatible
+Timesharing System que nous utilisions au M.I.T. Ils l'ont port&eacute; sur 
Twenex, ce qui
+signifiait qu'il y avait quelques centaines d'installations dans le monde qui
+pouvaient potentiellement l'utiliser. Nous avons commenc&eacute; &agrave; le 
leur distribuer, avec
+la r&egrave;gle que &laquo;&nbsp;vous aviez &agrave; renvoyer toutes vos 
am&eacute;liorations&nbsp;&raquo; pour que tout le
+monde en b&eacute;n&eacute;ficie. Personne n'a jamais essay&eacute; de 
surveiller son application, mais
+&agrave; ce que j'en sais les gens ont coop&eacute;r&eacute;.</p>
+
+<p>Gosling avait l'air, au d&eacute;but, de participer &agrave; cet esprit. Il 
a &eacute;crit dans un
+manuel qu'il appelait le programme Emacs esp&eacute;rant que d'autres dans la 
communaut&eacute;
+l'am&eacute;liore jusqu'&agrave; ce qu'il soit digne de ce nom. C'est la bonne 
approche pour
+cr&eacute;er une communaut&eacute;&nbsp;: leur demander de se joindre et de 
participer &agrave; am&eacute;liorer le
+programme. Mais apr&egrave;s cela il a apparemment chang&eacute; d'esprit, et 
a vendu le
+programme &agrave; une entreprise.</p>
+
+<p>&Agrave; ce moment-l&agrave; je travaillais sur le syst&egrave;me GNU (un 
syst&egrave;me d'exploitation
+libre de type Unix que beaucoup de personnes nomment par erreur 
&laquo;&nbsp;Linux&nbsp;&raquo;). Il n'y
+avait pas d'&eacute;diteur Emacs libre qui fonctionnait sur Unix. J'avais par 
contre un
+ami qui avait particip&eacute; au d&eacute;veloppement de l'Emacs de Gosling. 
Gosling lui avait
+donn&eacute;, par courriel, la permission de distribuer sa propre version. Il 
a propos&eacute;
+que j'utilise cette version. Puis j'ai d&eacute;couvert que l'Emacs de Gosling 
n'avait
+pas r&eacute;ellement de Lisp. Il avait un langage de programmation connu sous 
le nom de
+&laquo;&nbsp;mocklisp&nbsp;&raquo;, qui ressemblait pour la syntaxe &agrave; 
Lisp, mais n'avait pas les
+structures de donn&eacute;es de Lisp. Donc les programmes n'&eacute;taient pas 
des donn&eacute;es,
+et des &eacute;l&eacute;ments vitaux de Lisp manquaient. Ses structures de 
donn&eacute;es
+&eacute;taient les cha&icirc;nes de caract&egrave;res, les nombres et quelques 
autres choses
+sp&eacute;cialis&eacute;es.</p>
+
+<p>J'ai conclu que je ne pouvais pas l'utiliser et que j'avais &agrave; tout 
remplacer,
+en commen&ccedil;ant par &eacute;crire un vrai interpr&eacute;teur Lisp. J'ai 
progressivement adapt&eacute;
+toutes les parties de l'&eacute;diteur aux structures de donn&eacute;es du 
vrai Lisp, plut&ocirc;t
+qu'&agrave; des structures de donn&eacute;es ad hoc, rendant les structures de 
donn&eacute;es des
+parties internes de l'&eacute;diteur exposables et manipulables par les 
programmes Lisp
+des utilisateurs.</p>
+
+<p>L'unique exception &eacute;tait l'affichage. Pendant longtemps, le 
r&eacute;affichage &eacute;tait
+une sorte d'autre plan&egrave;te. L'&eacute;diteur entrait le mot pour 
r&eacute;affichage, et les
+choses continuaient avec des structures de donn&eacute;es tr&egrave;s 
sp&eacute;ciales qui n'&eacute;taient
+pas s&ucirc;res pour l'interception des messages d'erreurs, pas s&ucirc;res 
pour les
+interruptions, et vous ne pouviez lancer aucun programme Lisp pendant ce 
temps-l&agrave;.
+Nous avons chang&eacute; &ccedil;a depuis&nbsp;: il est maintenant possible de 
lancer du code Lisp
+pendant le r&eacute;affichage. C'est quelque chose d'assez pratique.</p>
+
+<p>Ce second programme Emacs &eacute;tait du &laquo;&nbsp;logiciel 
libre&nbsp;&raquo; dans le sens moderne du
+terme&nbsp;: il faisait partie d'une campagne politique explicite pour 
lib&eacute;rer le
+logiciel. L'essence de cette campagne &eacute;tait que n'importe qui devrait 
&ecirc;tre libre
+de faire les choses que nous faisions au temps du M.I.T., travailler ensemble 
sur du
+logiciel et travailler avec qui que ce soit voulant travailler avec nous.
+C'est la base pour le mouvement du logiciel libre&nbsp;: l'exp&eacute;rience 
que j'ai eue, la
+vie que nous avions au Labo d'I.A. du M.I.T., de travailler sur du savoir, et 
ne
+pas &ecirc;tre en travers du chemin de qui que ce soit, et de 
diss&eacute;miner de plus en plus
+le savoir.</p>
+
+<p>&Agrave; cette &eacute;poque, vous pouviez faire un ordinateur dans le 
m&ecirc;me ordre de prix
+que d'autres non con&ccedil;us pour Lisp, sauf qu'il ferait fonctionner Lisp 
beaucoup
+plus rapidement qu'ils ne le feraient, et avec en plus v&eacute;rification 
compl&egrave;te de
+type. Les ordinateurs ordinaires vous for&ccedil;aient typiquement
+&agrave; choisir entre vitesse d'ex&eacute;cution et bonne v&eacute;rification 
de type.
+Donc oui, vous pouviez avoir un compilateur Lisp et faire fonctionner vos
+programmes rapidement, mais quand ils essayaient de prendre le 
&laquo;&nbsp;car&nbsp;&raquo; d'un nombre,
+il sortaient des r&eacute;sultats insens&eacute;s et finalement plantaient au 
bout d'un
+moment.<p>
+
+<p>La machine Lisp &eacute;tait capable d'ex&eacute;cuter des instructions 
presque aussi vite
+que ces autres machines, mais pour toutes les instructions (une instruction
+<tt>car</tt> fait de la v&eacute;rification de type), donc quand vous
+essayiez d'obtenir le &laquo;&nbsp;car&nbsp;&raquo; d'un nombre dans un 
programme compil&eacute;, vous obteniez
+imm&eacute;diatement l'erreur. Nous construisions la machine et avions un 
syst&egrave;me
+d'exploitation Lisp pour elle. Il &eacute;tait presque enti&egrave;rement 
&eacute;crit en Lisp, les
+seules exceptions &eacute;tant certaines parties &eacute;crites dans le micro 
code. Des gens ont
+port&eacute; de l'int&eacute;r&ecirc;t &agrave; leur fabrication, ce qui 
signifie qu'ils allaient lancer
+une entreprise.</p>
+
+<p>Il y avait deux id&eacute;es diff&eacute;rentes &agrave; propos de comment 
cette soci&eacute;t&eacute; devrait
+&ecirc;tre. Greenblatt voulait lancer ce qu'il appelait une entreprise de 
&laquo;&nbsp;hacker&nbsp;&raquo;.
+Cela signifie qu'il voulait une entreprise dirig&eacute;e par des hackers et 
qui
+fonctionnerait d'une mani&egrave;re favorable aux hackers. Un autre but 
&eacute;tait de
+maintenir la culture du labo d'I.A. <a href="#foot-1">(1)</a>. Malheureusement,
+Greenblatt n'avait aucune exp&eacute;rience des affaires, donc d'autres 
personnes dans
+le groupe de la machine Lisp ont dit qu'ils doutaient qu'il puisse 
r&eacute;ussir. Ils
+pensaient que son plan pour &eacute;viter les investissements 
ext&eacute;rieurs ne marcherait
+pas.</p>
+
+<p>Pourquoi voulait-il &eacute;viter les investissements 
ext&eacute;rieurs&nbsp;? Parce que quand une
+entreprise a des investisseurs ext&eacute;rieurs, ils prennent le 
contr&ocirc;le, et ne vous
+laissent pas avoir le moindre scrupule. Et finalement, si vous avez des
+scrupules, ils vous remplacent &eacute;galement en tant que directeur.</p>
+
+<p>Donc Greenblatt avait l'id&eacute;e qu'il trouverait un client pr&ecirc;t 
&agrave; payer en avance
+pour acheter les composants. Ils construiraient les machines et les 
livreraient&nbsp;:
+avec le b&eacute;n&eacute;fice r&eacute;alis&eacute;, ils seraient en mesure 
d'acheter les composants pour
+quelques machines de plus, de les vendre, d'acheter des composants pour plus de
+machines, et caetera et caetera. Les autres personnes dans le groupe ne 
pensaient
+pas que cela puisse fonctionner.</p>
+
+<p>Greenblatt a ensuite recrut&eacute; Russel Noftsker, la personne qui 
m'avait engag&eacute;,
+et qui avait entre temps quitt&eacute; le Labo d'I.A. et mont&eacute; une 
entreprise florissante.
+Russel passait pour avoir des capacit&eacute; pour les affaires. Il a 
d&eacute;montr&eacute; cette
+capacit&eacute; pour les affaires en disant aux autres membres du 
groupe&nbsp;: &laquo;&nbsp;jetons
+Greenblatt, oublions son id&eacute;e, et faisons une autre 
entreprise&nbsp;&raquo;. Poignarder dans
+le dos, clairement un vrai homme d'affaires. Ces personnes 
d&eacute;cid&egrave;rent qu'elles
+formeraient une soci&eacute;t&eacute; nomm&eacute;e Symbolics. Ils 
chercheraient des investissements
+ext&eacute;rieurs, n'auraient aucun scrupule, et feraient tout leur possible 
pour
+gagner.</p>
+
+<p>Mais Greenblatt n'a pas abandonn&eacute;. Lui et les quelques personnes qui 
lui
+&eacute;taient rest&eacute;es loyales d&eacute;cid&egrave;rent de lancer tout 
de m&ecirc;me Lisp Machines Inc. et
+de continuer sur leur plan original. Et devinez quoi, ils ont 
r&eacute;ussi&nbsp;! Ils ont
+trouv&eacute; leur premier client et ont &eacute;t&eacute; pay&eacute;s en 
avance. Ils ont construit leurs
+machines et les ont vendues, construit plus de machines et encore plus. Ils ont
+effectivement r&eacute;ussi alors m&ecirc;me qu'ils n'avaient pas l'aide de la 
plupart des
+personnes du groupe. Symbolics a aussi eu un d&eacute;part r&eacute;ussi, donc 
vous aviez deux
+entreprises concurrentes de machines Lisp. Quand Symbolics a vu que LMI 
n'allait
+pas s'&eacute;crouler, ils ont commenc&eacute; &agrave; chercher des moyens de 
le d&eacute;truire.</p>
+
+<p>Donc, l'abandon de notre labo fut suivi par une 
&laquo;&nbsp;guerre&nbsp;&raquo; dans notre labo.
+L'abandon s'est fait quand Symbolics a d&eacute;bauch&eacute; tous les 
hackers, &agrave; l'exception de
+moi et des quelques-uns qui travaillaient &agrave; LMI &agrave; temps partiel. 
Puis ils ont
+invoqu&eacute; une r&egrave;gle et &eacute;limin&eacute; les gens travaillant 
&agrave; temps partiel pour le M.I.T.,
+les for&ccedil;ant &agrave; le quitter enti&egrave;rement, ce qui m'a 
laiss&eacute; seul. Le Labo d'I.A. &eacute;tait
+maintenant impuissant. Et le M.I.T. a pass&eacute; un arrangement absurde avec 
ces deux
+entreprises. C'&eacute;tait un contrat entre eux trois dans lequel chaque 
entreprise
+licenciait l'utilisation des sources des syst&egrave;mes de machine Lisp. Ces
+entreprises &eacute;taient forc&eacute;es de laisser le M.I.T. utiliser leurs 
modifications. Mais
+le contrat ne contenait rien disant que le M.I.T. avait le droit de les 
utiliser
+dans les syst&egrave;mes de machine Lisp que les deux entreprises avaient 
licenci&eacute;es.
+Personne ne s'&eacute;tait rendu compte que le groupe de hacker du Labo d'I.A. 
avait
+disparu, mais c'&eacute;tait le cas.</p>
+
+<p>Donc Symbolics &agrave; eu une id&eacute;e <a href="#foot-4">(4)</a>. Ils 
ont dit au labo&nbsp;:
+&laquo;&nbsp;Nous continuerons &agrave; mettre &agrave; votre disposition nos 
modifications du syst&egrave;me pour
+votre utilisation, mais vous ne pouvez les utiliser dans le syst&egrave;me de 
machine
+Lisp du M.I.T. &Agrave; la place, nous vous donnerons acc&egrave;s au 
syst&egrave;me de machine Lisp de
+Symbolics, et vous pourrez l'utiliser, mais c'est tout ce que vous pourrez
+faire&nbsp;&raquo;.</p>
+
+<p>Ceci, en pratique, voulait dire qu'ils demandaient que nous choisissions un
+camp, et utilisions soit la version du syst&egrave;me du M.I.T., soit la 
version de
+Symbolics. Quel que soit notre choix cela d&eacute;terminait &agrave; quel 
syst&egrave;me iraient nos
+am&eacute;liorations. Si nous travaillions et am&eacute;liorions la version de 
Symbolics, nous
+soutiendrions uniquement Symbolics. Si nous utilisions et am&eacute;liorions 
la version
+M.I.T. du syst&egrave;me, nous r&eacute;aliserions du travail disponible pour 
les deux
+entreprises, mais Symbolics verrait que nous soutiendrions LMI puisque nous les
+aiderions &agrave; exister. Donc nous ne pouvions plus rester neutres.</p>
+
+<p>Jusqu'&agrave; ce moment, je n'avais pris parti pour aucune des deux 
entreprises,
+bien que cela me rendait malheureux de voir ce qui &eacute;tait arriv&eacute; 
&agrave; notre
+communaut&eacute; et au logiciel. Mais maintenant, Symbolics avait 
forc&eacute; le probl&egrave;me.
+Donc, dans un effort pour aider &agrave; faire continuer Lisp Machines Inc.
+<a href="#foot-2">(2)</a>, j'ai commenc&eacute; &agrave; dupliquer toutes les 
am&eacute;liorations que
+Symbolics avait fait au syst&egrave;me machine Lisp. J'ai &eacute;crit les 
am&eacute;liorations
+&eacute;quivalentes &agrave; neuf moi-m&ecirc;me (c'est-&agrave;-dire avec mon 
propre code).</p>
+
+<p>Au bout d'un moment <a href="#foot-3">(3)</a>, je suis arriv&eacute; 
&agrave; la conclusion
+que cela irait mieux si je ne regardais m&ecirc;me pas leur code. Quand ils 
annon&ccedil;aient
+une version b&ecirc;ta qui donnait les notes de versions, je pouvais voir 
quelles
+allaient &ecirc;tre les fonctionnalit&eacute;s et les impl&eacute;menter 
moi-m&ecirc;me. Au moment o&ugrave; ils
+avaient une vraie version, j'avais la mienne &eacute;galement.</p>
+
+<p>De cette fa&ccedil;on, et pendant deux ans, je les ai emp&ecirc;ch&eacute;s 
d'&eacute;craser Lisp
+Machines Incorporated, et les deux entreprises ont continu&eacute; d'exister. 
Mais je ne
+voulais pas passer des ann&eacute;es et des ann&eacute;es &agrave; punir 
quelqu'un, uniquement &agrave;
+contrer une entreprise mal&eacute;fique. J'imagine qu'ils ont 
&eacute;t&eacute; punis assez s&eacute;v&egrave;rement
+parce qu'ils &eacute;taient bloqu&eacute;s avec de la concurrence qui n'avait 
ni l'intention de
+laisser tomber ni ne risquait de dispara&icirc;tre <a href="#foot-6">(6)</a>.
+Entre temps, il &eacute;tait temps de commencer &agrave; b&acirc;tir une 
nouvelle communaut&eacute; pour
+remplacer l'autre que leurs actions et d'autres avait ray&eacute; de la 
carte.</p>
+
+<p>La communaut&eacute; Lisp des ann&eacute;es 70 n'&eacute;tait pas 
limit&eacute;e au Labo d'I.A. du M.I.T., et
+les hackers ne venaient pas tous du M.I.T.. La guerre que Symbolics a 
lanc&eacute;e fut ce
+qui an&eacute;anti (la communaut&eacute; au) M.I.T., mais il y avait d'autres 
&eacute;v&eacute;nements en cours
+au m&ecirc;me moment. Il y avait des gens qui abandonnaient la 
coop&eacute;ration, et tout
+cela d&eacute;truisait la communaut&eacute;, et il n'en restait pas grand 
chose.</p>
+
+<p>Apr&egrave;s avoir arr&ecirc;t&eacute; de punir Symbolics, il a fallu 
r&eacute;fl&eacute;chir &agrave; quoi faire
+ensuite. Il fallait que je fasse un syst&egrave;me d'exploitation libre, 
c'&eacute;tait
+clair&nbsp;: la seule fa&ccedil;on de faire travailler des gens ensemble et de 
les faire
+partager &eacute;tait avec un syst&egrave;me d'exploitation libre.</p>
+
+<p>Au d&eacute;but, j'ai pens&eacute; faire un syst&egrave;me bas&eacute; sur 
Lisp, mais j'ai r&eacute;alis&eacute; que
+techniquement ce n'&eacute;tait pas une tr&egrave;s bonne id&eacute;e. Pour 
avoir quelque chose comme
+le syst&egrave;me machine Lisp, vous aviez besoin de micro code &agrave; but 
sp&eacute;cifique. C'est
+ce qui rendait possible de faire fonctionner des programmes aussi rapidement 
que
+les autres ordinateurs faisaient fonctionner les leurs, en ayant tout de 
m&ecirc;me le
+b&eacute;n&eacute;fice de la v&eacute;rification de type. Sans cela, vous 
seriez
+r&eacute;duit &agrave; quelque chose comme les compilateurs Lisp pour les 
autres machines. Les
+programmes seraient plus rapides, mais instables. Maintenant c'est bon si vous
+faites fonctionner un programme sur un syst&egrave;me &agrave; partage de 
temps&nbsp;:
+si un programme plante, ce n'est pas un d&eacute;sastre, c'est quelque chose
+que les programmes font occasionnellement. Mais cela ne le rendait pas bon pour
+&eacute;crire le syst&egrave;me d'exploitation de cette fa&ccedil;on, donc 
j'ai rejet&eacute; l'id&eacute;e de
+faire un syst&egrave;me comme la machine Lisp. </p>
+
+<p>J'ai d&eacute;cid&eacute; de faire un syst&egrave;me d'exploitation de type 
Unix qui aurait des
+impl&eacute;mentations Lisp qui fonctionneraient en tant que programmes 
utilisateurs.
+Le noyau ne serait pas &eacute;crit en Lisp, mais nous aurions Lisp. Donc le
+d&eacute;veloppement de ce syst&egrave;me d'exploitation, le syst&egrave;me 
d'exploitation GNU, est
+ce qui m'a amen&eacute; &agrave; &eacute;crire GNU Emacs. En faisant cela, 
j'ai cherch&eacute; &agrave; faire le
+minimum d'impl&eacute;mentation Lisp possible. La taille des programmes 
&eacute;tait un
+souci &eacute;norme.</p>
+
+<p>Il y avait des gens &agrave; cette &eacute;poque, en 1985, qui avaient des 
machines d'un
+megaoctet sans m&eacute;moire virtuelle. Ils voulaient pouvoir utiliser GNU 
Emacs. Ce
+qui signifie qu'il fallait que je garde le programme aussi petit que possible.
+<p>
+
+<p>Par exemple, &agrave; ce moment-l&agrave;, la seule construction de boucle 
&eacute;tait &laquo;&nbsp;while&nbsp;&raquo;,
+qui &eacute;tait extr&ecirc;mement simple. Il n'y avait pas de moyen de sortir 
de cette boucle
+&laquo;&nbsp;while&nbsp;&raquo;, vous ne pouviez faire qu'un 
&laquo;&nbsp;catch&nbsp;&raquo; et un
+&laquo;&nbsp;throw&nbsp;&raquo;, ou tester une variable dans la boucle. Cela 
montre &agrave; quel point je poussais
+les choses pour les garder le plus petites possibles. Nous n'avions pas de
+<tt>caar</tt>, de <tt>cadr</tt> et caetera&nbsp;: simplifier au maximum 
&eacute;tait l'esprit de GNU
+Emacs, l'esprit de Emacs Lisp, depuis le d&eacute;but.</p>
+
+<p>&Eacute;videmment les machines sont plus grosses maintenant, et nous ne le 
faisons
+plus de cette fa&ccedil;on. Nous utilisons <tt>caar</tt> et <tt>cadr</tt> et 
caetera, et nous
+pourrions int&eacute;grer une autre construction de boucle un de ces jours. 
Nous
+sommes favorables &agrave; l'&eacute;tendre un peu maintenant, mais nous ne 
voulons pas
+l'&eacute;tendre au niveau du Common Lisp. Une chose que je n'aime pas 
&eacute;norm&eacute;ment sont
+les arguments mot-clefs. Il ne me semblent pas tr&egrave;s Lisp&nbsp;: je le 
fais de temps
+&agrave; autre mais je minimise les fois o&ugrave; je le fais.</p>
+
+<p>Ce n'&eacute;tait pas la fin de l'implication du projet GNU avec Lisp. Plus 
tard
+vers 1995, nous pensions &agrave; lancer un projet de bureau graphique. Il 
&eacute;tait clair
+que pour les programmes du bureau, nous voulions un langage de programmation
+afin d'en &eacute;crire une grande partie et de le rendre facilement 
extensible, comme
+l'&eacute;diteur. La question &eacute;tait lequel choisir.</p>
+
+<p>&Agrave; ce moment, TCL &eacute;tait largement mis en avant pour ce genre 
d'applications.
+J'avais une tr&egrave;s mauvaise opinion de TCL, avant tout parce que ce 
n'&eacute;tait pas du
+Lisp. Cela ressemblait un peu &agrave; Lisp, mais pas au niveau 
s&eacute;mantique, et ce
+n'est pas aussi propre. Puis quelqu'un m'a montr&eacute; une publicit&eacute; 
dans laquelle
+Sun essayait de recruter quelqu'un pour travailler sur TCL afin de le rendre
+&laquo;&nbsp;de facto langage d'extension standard&nbsp;&raquo; mondial. Et 
j'ai pens&eacute;&nbsp;: &laquo;&nbsp;Nous devons
+emp&ecirc;cher cela&nbsp;&raquo;. Donc nous avons commenc&eacute; &agrave; 
rendre Scheme le langage d'extension
+standard pour GNU. Pas Common Lisp parce qu'il &eacute;tait trop gros. 
L'id&eacute;e &eacute;tait
+d'avoir un interpr&eacute;teur Scheme con&ccedil;u pour &ecirc;tre li&eacute; 
&agrave; des applications de la
+m&ecirc;me mani&egrave;re que TCL &eacute;tait li&eacute; &agrave; d'autres 
applications. Nous allions donc
+recommander qu'il soit le paquet pour extension pr&eacute;f&eacute;r&eacute; 
pour tous les
+programmes GNU.</p>
+
+<p>Il y a un b&eacute;n&eacute;fice int&eacute;ressant &agrave; utiliser un 
langage si puissant en tant que
+version de Lisp pour votre langage d'extension primaire. Vous pouvez
+impl&eacute;menter d'autres langages en les traduisant dans votre langage 
primaire. Si
+votre langage primaire &eacute;tait TCL, vous ne pourriez impl&eacute;menter 
facilement Lisp
+en le traduisant en TCL. Mais si votre langage primaire est Lisp, il n'est pas
+difficile d'impl&eacute;menter d'autres choses en les traduisant. Notre 
id&eacute;e &eacute;tait que
+si chaque application extensible acceptait Scheme, vous pourriez &eacute;crire 
une
+impl&eacute;mentation de TCL ou de Python ou de Perl en Scheme qui traduirait 
ce
+programme en Scheme. Puis vous pourriez charger cela dans n'importe quelle
+application et la configurer dans votre langage favori, et cela marcherait
+&eacute;galement avec d'autres configurations.</p>
+
+<p>Tant que l'extensibilit&eacute; des langages est faible, les utilisateurs 
doivent
+uniquement utiliser le langage que vous leur fournissez. Ce qui signifie que
+les gens qui adorent n'importe quel langage ont besoin de concourir pour le
+choix des d&eacute;veloppeurs d'application&nbsp;: &laquo;&nbsp;S'il vous 
pla&icirc;t Monsieur le d&eacute;veloppeur
+d'applications, incluez mon langage dans votre application, pas le 
sien&nbsp;&raquo;. Puis
+les autres utilisateurs n'ont plus le choix&nbsp;: quelle que soit 
l'application
+qu'ils utilisent, elle arrive avec un langage et ils sont limit&eacute;s 
&agrave; ce langage.
+Mais quand vous avez un langage puissant qui peux impl&eacute;menter les 
autres en les
+traduisant, alors vous donnez aux utilisateurs le choix du langage et vous
+n'avez plus de guerre des langages du tout. Nous esp&eacute;rons que c'est ce 
que fera
+&laquo;&nbsp;Guile&nbsp;&raquo;, notre interpr&eacute;teur Scheme. Nous avions 
une personne travaillant l'&eacute;t&eacute;
+dernier &agrave; finir un traducteur de Python vers Scheme. Je ne sais pas 
s'il est
+enti&egrave;rement fini maintenant, mais si quelqu'un est 
int&eacute;ress&eacute; par ce projet,
+contactez-moi. Donc c'est notre plan pour le futur.</p>
+
+<p>Je n'ai pas parl&eacute; de logiciel libre, mais laissez-moi vous dire 
rapidement
+un petit peu ce que cela veut dire. Le logiciel libre ne se 
r&eacute;f&egrave;re
+pas &agrave; un prix, cela ne veut pas dire que vous l'obtiendrez 
gratuitement. (Vous
+pouvez avoir &agrave; payer pour une copie, ou bien vous pouvez l'obtenir
+gratuitement.) Cela signifie que vous &ecirc;tes libre en tant qu'utilisateur. 
La
+chose capitale est que vous &ecirc;tes libre d'utilisez le programme, libre 
d'&eacute;tudier
+ce qu'il fait, libre de le modifier pour s'adapter &agrave; vos besoins, libre 
de
+redistribuer des copies aux autres et libre de publier des versions 
am&eacute;lior&eacute;es
+ou &eacute;tendues. C'est ce que signifie logiciel libre. Si vous utilisez des
+logiciels non-libres, vous perdez cette libert&eacute; capitale, donc ne le 
faites
+jamais.</p>
+
+<p>Le but du projet GNU est de rendre facile pour les gens de rejeter les
+logiciels dominateurs d'utilisateurs, pi&eacute;tineurs de libert&eacute;, 
non-libres, en
+mettant &agrave; disposition des logiciels libres pour les remplacer. Pour 
ceux qui
+n'ont pas le courage moral de rejeter les logiciels non-libres, quand cela
+signifie quelque inconv&eacute;nient pratique, nous essayons de donner une 
alternative
+libre pour que vous puissiez vous lib&eacute;rer avec
+moins de complications et un sacrifice moindre en termes pratiques. Plus le
+sacrifice est petit, mieux c'est. Nous voulons vous faciliter la vie libre, la
+coop&eacute;ration.</p>
+
+<p>C'est un probl&egrave;me de faire coop&eacute;rer pour la libert&eacute;. 
Nous avons l'habitude
+pour la soci&eacute;t&eacute; de penser &agrave; la libert&eacute; et &agrave; 
la coop&eacute;ration en tant qu'oppos&eacute;s.
+Mais elles sont dans le m&ecirc;me camp. Avec le logiciel libre vous 
&ecirc;tes libres de
+coop&eacute;rer avec d'autres personnes et &ecirc;tes libre de vous aider 
vous-m&ecirc;me. Avec le
+logiciel non-libre, quelqu'un vous domine et tient les gens divis&eacute;s. 
Vous
+n'&ecirc;tes pas autoris&eacute;s &agrave; partager avec eux, vous 
n'&ecirc;tes pas libres de coop&eacute;rer
+avec ou d'aider la soci&eacute;t&eacute;, pas plus que vous n'&ecirc;tes 
autoris&eacute;s &agrave; vous aider
+vous-m&ecirc;me. Divis&eacute;s et impuissants, voil&agrave; l'&eacute;tat des 
utilisateurs de logiciel non
+libre.</p>
+
+<p>Nous avons produit une vari&eacute;t&eacute; &eacute;norme de logiciels 
libres. Nous avons fait
+ce que les gens disaient que nous n'arriverions jamais, nous avons deux
+syst&egrave;mes d'exploitation en logiciels libres. Nous avons de nombreuses
+applications et &eacute;videmment avons encore beaucoup &agrave; faire. Donc 
nous avons
+besoin de votre aide. J'aimerais vous demander d'&ecirc;tre volontaire pour le 
projet
+GNU, aidez-nous &agrave; d&eacute;velopper le logiciel libre pour plus de 
travail. Allez
+voir sur <a href="/help/">http://www.gnu.org/help</a> pour trouver des
+suggestions sur la mani&egrave;re de nous aider. Si vous voulez commander des 
choses,
+il y a un lien pour cela sur cette page. Si vous voulez lire &agrave; propos 
des
+questions philosophiques, allez voir dans /philosophy. Si vous cherchez des
+logiciels libres &agrave; utiliser, allez voir dans /directory, qui liste 
environ 1900
+paquets maintenant (ce qui repr&eacute;sente une fraction de tout le logiciel 
libre
+existant). S'il vous pla&icirc;t, &eacute;crivez-en plus et contribuez. Mon 
livre d'essais,
+&laquo;&nbsp;Free Software and Free Society&nbsp;&raquo; (Logiciel libre et 
soci&eacute;t&eacute; libre), est en
+vente et peut &ecirc;tre achet&eacute; sur <a 
href="http://www.gnu.org/";>www.gnu.org</a>.
+Happy hacking! (Codez joyeusement&nbsp;!)</p>
+
+<p>Notes&nbsp;:</p>
+
+<p> <a name="foot-1">(1)</a> Le plan de Greenblatt, &agrave; ce que j'en ai 
compris,
+&eacute;tait d'engager les gens du laboratoire &agrave; temps partiel, afin 
qu'ils puissent
+continuer &agrave; travailler au Labo d'I.A.. Symbolics les a engag&eacute; 
&agrave; temps plein &agrave; la
+place, donc ils ont arr&ecirc;t&eacute; de travailler au M.I.T.</p>
+
+<p> <a name="foot-2">(2)</a> Ce n'&eacute;tait pas que le sort de LMI 
m'int&eacute;resse
+particuli&egrave;rement, mais plut&ocirc;t je ne voulais pas laisser Symbolics 
gagner par
+son aggression contre le labo d'I.A.</p>
+
+<p> <a name="foot-3">(3)</a> Cette phrase a &eacute;t&eacute; mal 
interpr&eacute;t&eacute;e, selon quoi je
+n'aurais jamais, jamais jet&eacute; un &oelig;il sur le code de Symbolics. En 
r&eacute;alit&eacute;, je l'ai
+fait.</p>
+
+<p>Le code source de Symbolics &eacute;tait disponible au M.I.T., o&ugrave; 
j'&eacute;tais en droit de
+le lire, et au d&eacute;but c'est ainsi que je me suis rendu compte de leurs
+changements. Mais cela signifie que j'avais l'effort suppl&eacute;mentaire de 
r&eacute;soudre
+chaque probl&egrave;me diff&eacute;remment, pour &eacute;viter de copier le 
code Symbolics. Apr&egrave;s un
+moment, j'ai conclu que c'&eacute;tait mieux de ne pas le regarder du tout. De 
cette
+fa&ccedil;on, je pouvais &eacute;crire le code de la meilleure fa&ccedil;on, 
sans me soucier de ce
+qui &eacute;tait dans le code Symbolics.</p>
+
+<p> <a name="foot-4">(4)</a> L'arri&egrave;re pens&eacute;e de ce plan, que je 
n'ai pas
+explicit&eacute; dans le discours, est que durant cette p&eacute;riode 
initiale les ex
+hackers du labo d'I.A., que ce soit chez Symbolics ou chez LMI, ont 
continu&eacute; &agrave;
+faire contribuer leurs modifications au syst&egrave;me machine Lisp du M.I.T., 
bien que
+le contrat ne l'exigeait pas. Le plan de Symbolics &eacute;tait de briser cette
+coop&eacute;ration unilat&eacute;ralement.</p>
+
+<p> <a name="foot-5">(5)</a> Bernie Greenberg dit que l'impl&eacute;mentation 
de Dan
+Weinberg d'Emacs pour la machine Lisp est arriv&eacute;e avant 
l'impl&eacute;mentation de
+Greenberg pour Multics. Je m'excuse pour cette erreur.</p>
+
+<p> <a name="foot-6">(6)</a> Symbolics a &agrave; un moment protest&eacute; au 
M.I.T. que mon
+travail, en contrant leur plan, avait cout&eacute; &agrave; Symbolics un 
million de dollars.
+</p>
+
+<p> <a name="foot-7">(7)</a> Guy Steele a con&ccedil;u la biblioth&egrave;que 
de commande de
+l'Emacs sym&eacute;trique original, puis lui et moi avons commenc&eacute; 
&agrave; impl&eacute;menter
+Emacs (par dessus TECO), mais apr&egrave;s une longue session de 
d&eacute;veloppement
+conjointe, Steele a commenc&eacute; &agrave; s'&eacute;loigner, donc j'ai fini 
Emacs. D'autres
+incluant particuli&egrave;rement Eugene C. Cicciarelli et Mike McMahon ont par 
la
+suite contribu&eacute; de mani&egrave;re substantielle.</p>
+
+</div>
+
+<!-- If needed, change the copyright block at the bottom. In general, -->
+<!-- all pages on the GNU web server should have the section about    -->
+<!-- verbatim copying.  Please do NOT remove this without talking     -->
+<!-- with the webmasters first. --> 
+<!-- Please make sure the copyright date is consistent with the document -->
+<!-- and that it is like this "2001, 2002" not this "2001-2002." -->
+<!-- for id="content", starts in the include above -->
+
+<!--#include virtual="/server/footer.fr.html" -->
+
+<div id="footer">
+
+<p>Pour les questions et requ&ecirc;tes relatives &agrave; la FSF &amp;
+GNU&nbsp;: <a href="mailto:gnu&#64;gnu.org";><em>gnu&#64;gnu.org</em></a>.
+Autres <a href="/home.fr.html#ContactInfo">moyens pour contacter</a> la FSF.
+
+Merci d'envoyer des commentaires sur cette page web &agrave; <a 
href="mailto:webmasters&#64;gnu.org";><em>webmasters&#64;gnu.org</em></a>,
+envoyer une autre question &agrave; <a 
href="mailto:gnu&#64;gnu.org";><em>gnu&#64;gnu.org</em></a>.
+</p>
+
+<p>Copyright &copy; 2003, 2007 Free Software Foundation, Inc.,</p>
+<address>51 Franklin St - Fifth Floor, Boston, MA 02110, USA</address>
+
+<p>Verbatim copying and distribution of this entire article is
+permitted in any medium, provided this notice is preserved.
+</p>
+
+<p>La reproduction exacte et la distribution int&eacute;grale de cet
+article est permise sur n'importe quel support d'archivage, pourvu que
+cette notice soit pr&eacute;serv&eacute;e.</p>
+
+<p>
+Derni&egrave;re mise-&agrave;-jour&nbsp;:
+<!-- timestamp start -->
+$Date: 2008/03/02 11:45:56 $
+<!-- timestamp end -->
+</p>
+
+<p>
+Traduction&nbsp;: Marc de Maillard.<br />
+R&eacute;vision&nbsp;: <a 
href="mailto:trad-gnu&#64;april.org";>trad-gnu&#64;april.org</a>
+</p>
+
+</div>
+
+<div id="translations">
+<h3>Traductions de cette page</h3>
+
+<!-- Please keep this list alphabetical, and in the original -->
+<!-- language if possible, otherwise default to English -->
+<!-- If you do not have it English, please comment what the -->
+<!-- English is.  If you add a new language here, please -->
+<!-- advise web-translators&#64;gnu.org and add it to -->
+<!--    - in /home/www/bin/nightly-vars either TAGSLANG or WEBLANG -->
+<!--    - in /home/www/html/server/standards/README.translations.html -->
+<!--      one of the lists under the section "Translations Underway" -->
+<!--    - if there is a translation team, you also have to add an alias -->
+<!--      to mail.gnu.org:/com/mailer/aliases -->
+
+<!-- Please also check you have the 2 letter language code right versus -->
+<!--     http://www.w3.org/WAI/ER/IG/ert/iso639.htm -->
+
+<ul class="translations-list">
+<li><a href="/gnu/rms-lisp.html" title="English">English</a>&nbsp;[en]</li>
+<li><a href="/gnu/rms-lisp.fr.html" 
title="French">Fran&#x00e7;ais</a>&nbsp;[fr]</li>
+</ul>
+</div>
+
+</div>
+</body>
+</html>




reply via email to

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