[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
www home.it.shtml gnu/po/rms-lisp.fr.po gnu/po/...
From: |
Yavor Doganov |
Subject: |
www home.it.shtml gnu/po/rms-lisp.fr.po gnu/po/... |
Date: |
Wed, 08 Apr 2009 08:27:36 +0000 |
CVSROOT: /web/www
Module name: www
Changes by: Yavor Doganov <yavor> 09/04/08 08:27:36
Modified files:
. : home.it.shtml
gnu/po : rms-lisp.fr.po rms-lisp.pot
Log message:
Automatic update by GNUnited Nations.
CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/home.it.shtml?cvsroot=www&r1=1.86&r2=1.87
http://web.cvs.savannah.gnu.org/viewcvs/www/gnu/po/rms-lisp.fr.po?cvsroot=www&r1=1.1&r2=1.2
http://web.cvs.savannah.gnu.org/viewcvs/www/gnu/po/rms-lisp.pot?cvsroot=www&r1=1.2&r2=1.3
Patches:
Index: home.it.shtml
===================================================================
RCS file: /web/www/www/home.it.shtml,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -b -r1.86 -r1.87
--- home.it.shtml 7 Apr 2009 20:26:13 -0000 1.86
+++ home.it.shtml 8 Apr 2009 08:27:28 -0000 1.87
@@ -24,8 +24,8 @@
<!-- <h1><a href="http://documentfreedom.org">Support Document Freedom Day,
March 25</a></h1> -->
<p><a
-href="http://www.april.org/en/european-parliament-2009-elections-a-pact-support-free-software">European
-Parliament 2009 elections: a pact to support Free Software</a></p>
+href="http://www.april.org/en/european-parliament-2009-elections-a-pact-support-free-software">Elezioni
+Europee 2009: un patto a sostegno del Software Libero</a></p>
<p><a
href="http://www.openrightsgroup.org/2009/03/25/telecom-package-in-second-reading-dangerous-amendments/">Opponetevi
alla proposta UE sul "pacchetto telecomunicazioni"!</a></p>
@@ -1544,7 +1544,7 @@
<p><!-- timestamp start -->
Ultima modifica:
- $Date: 2009/04/07 20:26:13 $
+ $Date: 2009/04/08 08:27:28 $
<!-- timestamp end -->
</p>
Index: gnu/po/rms-lisp.fr.po
===================================================================
RCS file: /web/www/www/gnu/po/rms-lisp.fr.po,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- gnu/po/rms-lisp.fr.po 6 Sep 2008 13:20:50 -0000 1.1
+++ gnu/po/rms-lisp.fr.po 8 Apr 2009 08:27:33 -0000 1.2
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rms-lisp.html\n"
-"POT-Creation-Date: 2008-08-25 16:25-0300\n"
+"POT-Creation-Date: 2009-04-08 04:27-0300\n"
"PO-Revision-Date: 2008-09-06 15:20+0100\n"
"Last-Translator: Cédric Corazza <address@hidden>\n"
"Language-Team: French <address@hidden>\n"
@@ -16,200 +16,1109 @@
"Content-Transfer-Encoding: 8bit\n"
# type: Content of: <title>
-msgid "My Lisp Experiences and the Development of GNU Emacs - GNU Project -
Free Software Foundation (FSF)"
-msgstr "Mes expériences avec Lisp et le développement de GNU
Emacs - GNU Project - Free Software Foundation (FSF)"
+msgid ""
+"My Lisp Experiences and the Development of GNU Emacs - GNU Project - Free "
+"Software Foundation (FSF)"
+msgstr ""
+"Mes expériences avec Lisp et le développement de GNU Emacs - "
+"GNU Project - Free Software Foundation (FSF)"
# type: Content of: <h2>
msgid "My Lisp Experiences and the Development of GNU Emacs"
-msgstr "Mes expériences avec Lisp et le développement de GNU
Emacs"
+msgstr ""
+"Mes expériences avec Lisp et le développement de GNU Emacs"
# type: Content of: <h3>
-msgid "(Transcript of Richard Stallman's Speech, 28 Oct 2002, at the
International Lisp Conference)."
-msgstr "(Transcription du discours de Richard Stallman, 28 octobre 2002,
à la conférence internationale Lisp"
-
-# type: Content of: <p>
-msgid "Since none of my usual speeches have anything to do with Lisp, none of
them were appropriate for today. So I'm going to have to wing it. Since I've
done enough things in my career connected with Lisp I should be able to say
something interesting."
-msgstr "Comme aucun de mes discours habituels n'a à voir avec Lisp,
aucun ne serait approprié pour aujourd'hui. Donc je vais improviser.
Comme j'ai fait suffisamment de choses dans ma carrière en relation avec
Lisp, je devrais être capable de raconter quelque chose
d'intéressant."
-
-# type: Content of: <p>
-msgid "My first experience with Lisp was when I read the Lisp 1.5 manual in
high school. That's when I had my mind blown by the idea that there could be a
computer language like that. The first time I had a chance to do anything with
Lisp was when I was a freshman at Harvard and I wrote a Lisp interpreter for
the <abbr title=\"Programmed Data Processor\">PDP</abbr>-11. It was a very
small machine — 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."
-msgstr "Ma première expérience avec Lisp a été de
lire le manuel Lisp 1.5 au lycée. C'est à ce moment là que
l'idée m'a frappé de plein fouet : qu'il puisse y avoir un
langage informatique comme cela. La première fois que j'ai eu la chance
de faire quelque chose avec Lisp fut quand je suis arrivé à
Harvard et que j'ai écrit un interpréteur Lisp pour le <abbr
title=\"Programmed Data Processor\">PDP</abbr>-11. C'était une toute
petite machine, avec quelque chose comme 8 Ko de mémoire, et j'ai
réussi à écrire l'interpréteur en un millier de
lignes. Cela m'a laissé un peu de place pour quelques données.
Tout cela était avant que je ne vois ce qu'est du vrai logiciel, qui
exécute un vrai travail système"
-
-# type: Content of: <p>
-msgid "I began doing work on a real Lisp implementation with JonL White once I
started working at <abbr title=\"Massachusetts Institute of
Technology\">MIT</abbr>. I got hired at the Artificial Intelligence Lab not by
JonL, but by Russ Noftsker, which was most ironic considering what was to come
— he must have really regretted that day."
-msgstr "J'ai commencé à travailler sur une vraie
implémentation de Lisp avec JonL White après avoir
débuté au <acronym title=\"Massachusetts Institute of
Technology\">M.I.T.</acronym> J'ai été engagé au
laboratoire d'intelligence artificielle non pas par JonL, mais par Russ
Noftsker, ce qui est plutôt ironique vu ce qui s'est passé par la
suite : il a vraiment dû regretter ce jour-là."
-
-# type: Content of: <p>
-msgid "During the 1970s, before my life became politicized by horrible events,
I was just going along making one extension after another for various programs,
and most of them did not have anything to do with Lisp. But, along the way, I
wrote a text editor, Emacs. The interesting idea about Emacs was that it had a
programming language, and the user's editing commands would be written in that
interpreted programming language, so that you could load new commands into your
editor while you were editing. You could edit the programs you were using and
then go on editing with them. So, we had a system that was useful for things
other than programming, and yet you could program it while you were using it. I
don't know if it was the first one of those, but it certainly was the first
editor like that."
-msgstr "Pendant les années 70, avant que ma vie ne soit
politisée par des événements horribles, je me contentais
de faire une extension après l'autre pour des programmes variés,
et la plupart d'entre eux n'avaient rien à voir avec Lisp. Mais, au fur
et à mesure, j'ai écrit un éditeur de texte, Emacs.
L'idée intéressante à propos d'Emacs était qu'il
possédait un langage de programmation, et que les commandes
d'édition de l'utilisateur seraient écrites dans ce langage de
programmation interprété, de telle sorte que vous pouviez charger
de nouvelles commandes dans votre éditeur pendant que vous
éditiez. Vous pouviez éditer les programmes que vous utilisiez et
continuer à éditer avec eux. Donc, nous avions un système
qui était utile à autre chose qu'à programmer, et que vous
pouviez programmer pendant que vous l'utilisiez. Je ne sais pas si
c'était le premier programme à le faire, mais c'était
certainement le premier éditeur comme ça."
-
-# type: Content of: <p>
-msgid "This spirit of building up gigantic, complicated programs to use in
your own editing, and then exchanging them with other people, fueled the spirit
of free-wheeling cooperation that we had at the AI Lab then. The idea was that
you could give a copy of any program you had to someone who wanted a copy of
it. We shared programs to whomever wanted to use them, they were human
knowledge. So even though there was no organized political thought relating the
way we shared software to the design of Emacs, I'm convinced that there was a
connection between them, an unconscious connection perhaps. I think that it's
the nature of the way we lived at the AI Lab that led to Emacs and made it what
it was"
-msgstr "L'idée de construire des programmes gigantesques et
compliqués, à utiliser dans notre propre édition, et
ensuite de les échanger avec d'autres personnes, a alimenté
l'esprit de coopération sans contrainte que nous avions au labo
d'<acronym title=\"Intelligence Artificielle\">I.A.</acronym> à ce
moment-là. L'idée était que vous pouviez donner une copie
de n'importe quel programme que vous aviez à celui qui en voulait une
copie. Nous partagions les programmes avec qui que soit voulant les utiliser,
ils étaient de la connaissance, du savoir humain. Donc même s'il
n'y avait pas de pensée politique organisée liée à
la manière dont nous partagions du logiciel pour concevoir Emacs, je
suis convaincu qu'il y avait une connexion entre eux, peut-être une
connexion inconsciente. Je pense que c'est la nature de notre façon de
vivre au labo d'I.A. qui à mené à Emacs et l'a fait
devenir ce qu'il était."
-
-# type: Content of: <p>
-msgid "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."
-msgstr "L'Emacs original ne contenait pas de Lisp. Le langage de bas-niveau,
le langage non interprété, était de l'assembleur PDP-10.
L'interpréteur dans lequel nous écrivions n'était en fait
pas écrit pour Emacs, il était écrit pour TECO.
C'était notre éditeur de texte, et était un langage de
programmation extrêmement laid, le plus laid qu'il puisse exister. La
raison en était qu'il n'était pas conçu pour être un
langage de programmation, mais pour être un langage d'édition et
de commande. Il y avait des commandes comme « 5l »,
signifiant « avance de 5 lignes », ou bien
« i » puis une chaîne de caractère et
Échap pour insérer cette chaîne. Vous pouviez taper une
chaîne de caractères qui était une série de
commandes, ce quis'appelait une chaîne de commande. Vous la terminiez par
Échap Échap, et elle était exécutée."
-
-# type: Content of: <p>
-msgid "Well, people wanted to extend this language with programming
facilities, so they added some. For instance, one of the first was a looping
construct, which was < >. 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-7\">(7)</a> added facilities
to have subroutines with names. Before that, it was sort of like Basic, and the
subroutines could only have single letters as their names. That was hard to
program big programs with, so we added code so they could have longer names.
Actually, there were some rather sophisticated facilities; I think that Lisp
got its unwind-protect facility from <acronym>TECO</acronym>."
-msgstr "Eh bien, certaines personnes voulaient étendre ce langage avec
des méthodes de programmation, donc ils en ont ajouté
quelques-unes. Par exemple, l'une des premières fut une structure de
boucle, qui était < >. Vous pouviez les placer autour de quelque
chose, et cette chose s'exécutait en boucle. Il y avait d'autres
commandes cryptiques qui pouvaient être utilisées pour sortir de
la boucle en fonction de conditions. Pour faire Emacs, nous <a
href=\"#foot-7\">(7)</a> avons ajouté des méthodes pour avoir des
sous-routines avec des noms. Avant cela, c'était une sorte de Basic, et
les sous-routines pouvaient uniquement avoir une seule lettre pour nom. Il
était difficile de faire des gros programmes avec, donc nous avons
ajouté du code pour qu'elles puissent avoir des noms plus long. En fait,
il y avait des méthodes plutôt sophistiquées : je
pense que Lisp a hérité saméthode unwind-protect de TECO."
-
-# type: Content of: <p>
-msgid "We started putting in rather sophisticated facilities, all with the
ugliest syntax you could ever think of, and it worked — people were able
to write large programs in it anyway. The obvious lesson was that a language
like <acronym>TECO</acronym>, which wasn't designed to be a programming
language, was the wrong way to go. The language that you build your extensions
on shouldn't be thought of as a programming language in afterthought; it should
be designed as a programming language. In fact, we discovered that the best
programming language for that purpose was Lisp."
-msgstr "Nous avons commencé à intégrer des
méthodes plutôt sophistiquées, toutes avec la syntaxe la
plus horrible que vous pouviez vous représenter, et cela marchait :
les gens étaient capables d'écrire des programmes avec en tout
cas. La leçon évidente était qu'un langage comme TECO, qui
n'était pas conçu pour programmer, était la mauvaise
direction. Le langage sur lequel vous construisez vos extensions ne devrait pas
être vu en tant que langage de programmation après coup, il
devrait être conçu en tant que langage de programmation. En fait,
nous avons découvert que le meilleur langage de programmation pour faire
cela était Lisp."
-
-# type: Content of: <p>
-msgid "It was Bernie Greenberg, who discovered that it was <a
href=\"#foot-5\">(5)</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."
-msgstr "C'est Bernie Greenberg, qui a découvert qu'il l'était <a
href=\"#foot-5\">(5)</a>. Il a écrit une version d'Emacs en Multics
MacLisp, et il écrivait ses commandes en MacLisp de façon
très directe. L'éditeur lui-même était
entièrement écrit en Lisp. Emacs Multics fut un grand
succès : programmer de nouvelles commandes d'édition
était si pratique que même les secrétaires dans son bureau
ont commencé à apprendre à s'en servir. Elles utilisaient
un manuel que quelqu'un avait écrit qui montrait comment étendre
Emacs, mais qui ne disait pas qu'il s'agissait de programmation. Donc les
secrétaires, qui croyaient qu'elles ne pouvaient pas programmer, n'ont
pas été effrayées. Elles ont lu le manuel,
découvert qu'elles pouvaient faire des choses utiles, et ont appris
à programmer."
-
-# type: Content of: <p>
-msgid "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."
-msgstr "Donc Bernie à vu qu'une application (un programme qui fait
quelque chose d'utile pour vous) qui avait Lisp à l'intérieur et
que vous pouviez étendre en réécrivant les programmes
Lisp, était réellement une très bonne manière pour
les gens d'apprendre à programmer. Cela leur donnait la chance
d'écrire de petits programmes qui leur é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'à ce qu'ils arrivent au point où ils sont devenus
programmeurs."
-
-# type: Content of: <p>
-msgid "At that point, people began to wonder how they could get something like
this on a platform where they didn't have full service Lisp implementation.
Multics MacLisp had a compiler as well as an interpreter — 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."
-msgstr "À ce moment-là, les gens ont commencé à se
demander comment ils pouvaient obtenir quelque chose de ce genre sur une
plateforme sur laquelle ils ne disposaient pas de l'implémentation des
services complets de Lisp. Multics MacLisp avait un compilateur aussi bien
qu'un interpréteur (c'était un système Lisp complet) mais
les gens voulaient implémenter quelque chose comme ça sur
d'autres systèmes où ils n'avaient pas encore de compilateur
Lisp. Car sans avoir le compilateur Lisp vous ne pouviez écrire
l'éditeur entier en Lisp : ce serait trop lent, spécialement
l'affichage, s'il fallait faire tourner du Lisp interprété. Donc
nous avons développé une technique hybride. L'idée
était d'écrire un interpréteur Lisp et les parties
bas-niveau de l'éditeur ensemble, de telle sorte que des morceaux de
l'éditeur étaient des méthodes intégrées
Lisp. C'était toutes les parties dont nous avions le sentiment qu'il
fallait les optimiser. C'est une technique que nous avions déjà
consciemment pratiqué dans l'Emacs original, puisqu'il y avait certaines
fonctionnalités de relativement haut-niveau que nous
ré-implé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
étaient faites à un niveau supérieur par un programme
TECO). Vous pouviez faire tout le travail en écrivant un programme TECO,
mais c'était trop lent, doncnous l'avons optimisé en en mettant
une partie en langage machine. Nous avons utilisé la même
idée ici (dans la technique hybride), que la grosse partie de
l'éditeur serait écrite en Lisp, mais que certaines parties ayant
besoin de fonctionner particulièrement rapidement seraient
écrites à un niveau inférieur."
-
-# type: Content of: <p>
-msgid "Therefore, when I wrote my second implementation of Emacs, I followed
the same kind of design. The low level language was not machine language
anymore, it was C. C was a good, efficient language for portable programs to
run in a Unix-like operating system. There was a Lisp interpreter, but I
implemented facilities for special purpose editing jobs directly in C —
manipulating editor buffers, inserting leading text, reading and writing files,
redisplaying the buffer on the screen, managing editor windows."
-msgstr "C'est pourquoi, quand j'ai écrit ma deuxième
implémentation d'Emacs, j'ai suivi le même concept.Le langage de
bas niveau n'était plus du langage machine mais du C. C était un
bon langage, efficace pour des programmes portables fonctionnant dans un
système d'exploitation de type Unix. Il y avait un interpréteur
Lisp, mais j'ai implémenté des méthodes pour des travaux
d'édition spéciale directement en C : manipuler les piles de
l'éditeur, insérer du « leading text »,
lire et écrire des fichiers, réafficher la pile à
l'écran, gérer les fenêtres de l'éditeur."
-
-# type: Content of: <p>
-msgid "Now, this was not the first Emacs that was written in C and ran on
Unix. The first was written by James Gosling, and was referred to as GosMacs. A
strange thing happened with him. In the beginning, he seemed to be influenced
by the same spirit of sharing and cooperation of the original Emacs. I first
released the original Emacs to people at <abbr>MIT</abbr>. Someone wanted to
port it to run on Twenex — 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."
-msgstr "Maintenant, ce n'était pas le premier Emacs écrit en C
et fonctionnant sous Unix. Le premier a été écrit par
James Gosling, et était appelé GosMac. Une chose étrange
lui est arrivée. Au début, il semblait être
influencé par le même esprit de partage et de coopération
que celui de l'Emacs original. J'ai d'abord distribué l'Emacs original
aux gens du M.I.T. Quelqu'un voulait le porter pour le faire fonctionner sur
Twenex : il fonctionnait à l'origine sur l'Incompatible Timesharing
System que nous utilisions au M.I.T. Ils l'ont porté sur Twenex, ce qui
signifiait qu'il y avait quelques centaines d'installations dans le monde qui
pouvaient potentiellement l'utiliser. Nous avons commencé à le
leur distribuer, avec la règle que « vous aviez à
renvoyer toutes vos améliorations » pour que tout le monde en
bénéficie. Personne n'a jamais essayé de surveiller son
application, mais à ce que j'en sais les gens ont coopéré."
-
-# type: Content of: <p>
-msgid "Gosling did, at first, seem to participate in this spirit. He wrote in
a manual that he called the program Emacs hoping that others in the community
would improve it until it was worthy of that name. That's the right approach to
take towards a community — to ask them to join in and make the program
better. But after that he seemed to change the spirit, and sold it to a
company."
-msgstr "Gosling avait l'air, au début, de participer à cet
esprit. Il a écrit dans un manuel qu'il appelait le programme Emacs
espérant que d'autres dans la communauté l'améliore
jusqu'à ce qu'il soit digne de ce nom. C'est la bonne approche pour
créer une communauté : leur demander de se joindre et de
participer à améliorer le programme. Mais après cela il a
apparemment changé d'esprit, et a vendu le programme à une
entreprise."
-
-# type: Content of: <p>
-msgid "At that time I was working on the GNU system (a free software Unix-like
operating system that many people erroneously call “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."
-msgstr "À ce moment-là je travaillais sur le système GNU
(un système d'exploitation libre de type Unix que beaucoup de personnes
nomment par erreur « Linux »). Il n'y avait pas
d'éditeur Emacs libre qui fonctionnait sur Unix. J'avais par contre un
ami qui avait participé au développement de l'Emacs de Gosling.
Gosling lui avait donné, par courriel, la permission de distribuer sa
propre version. Il a proposé que j'utilise cette version. Puis j'ai
découvert que l'Emacs de Gosling n'avait pas réellement de Lisp.
Il avait un langage de programmation connu sous le nom de
« mocklisp », qui ressemblait pour la syntaxe à
Lisp, mais n'avait pas les structures de données de Lisp. Donc les
programmes n'étaient pas des données, et des
éléments vitaux de Lisp manquaient. Ses structures de
données étaient les chaînes de caractères, les
nombres et quelques autres choses spécialisées."
-
-# type: Content of: <p>
-msgid "I concluded I couldn't use it and had to replace it all, the first step
of which was to write an actual Lisp interpreter. I gradually adapted every
part of the editor based on real Lisp data structures, rather than ad hoc data
structures, making the data structures of the internals of the editor exposable
and manipulable by the user's Lisp programs."
-msgstr "J'ai conclu que je ne pouvais pas l'utiliser et que j'avais à
tout remplacer, en commençant par écrire un vrai
interpréteur Lisp. J'ai progressivement adapté toutes les parties
de l'éditeur aux structures de données du vrai Lisp, plutôt
qu'à des structures de données ad hoc, rendant les structures de
données des parties internes de l'éditeur exposables et
manipulables par les programmes Lisp des utilisateurs."
-
-# type: Content of: <p>
-msgid "The one exception was redisplay. For a long time, redisplay was sort of
an alternate world. The editor would enter the world of redisplay and things
would go on with very special data structures that were not safe for garbage
collection, not safe for interruption, and you couldn't run any Lisp programs
during that. We've changed that since — it's now possible to run Lisp
code during redisplay. It's a quite a convenient thing."
-msgstr "L'unique exception était l'affichage. Pendant longtemps, le
réaffichage était une sorte d'autre planète.
L'éditeur entrait le mot pour réaffichage, et les choses
continuaient avec des structures de données très spéciales
qui n'étaient pas sûres pour l'interception des messages
d'erreurs, pas sûres pour les interruptions, et vous ne pouviez lancer
aucun programme Lisp pendant ce temps-là. Nous avons changé
ça depuis : il est maintenant possible de lancer du code Lisp
pendant le réaffichage. C'est quelque chose d'assez pratique."
-
-# type: Content of: <p>
-msgid "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."
-msgstr "Ce second programme Emacs était du « logiciel
libre » dans le sens moderne du terme : il faisait partie d'une
campagne politique explicite pour libérer le logiciel. L'essence de
cette campagne était que n'importe qui devrait ê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 : l'expé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 être en travers du chemin de qui que ce soit, et de
disséminer de plus en plus le savoir."
-
-# type: Content of: <p>
-msgid "At the time, you could make a computer that was about the same price
range as other computers that weren't meant for Lisp, except that it would run
Lisp much faster than they would, and with full type checking in every
operation as well. Ordinary computers typically forced you to choose between
execution speed and good typechecking. So yes, you could have a Lisp compiler
and run your programs fast, but when they tried to take <tt>car</tt> of a
number, it got nonsensical results and eventually crashed at some point."
-msgstr "À cette époque, vous pouviez faire un ordinateur dans le
même ordre de prix que d'autres non conçus pour Lisp, sauf qu'il
ferait fonctionner Lisp beaucoup plus rapidement qu'ils ne le feraient, et avec
en plus vérification complète de type. Les ordinateurs ordinaires
vous forçaient typiquement à choisir entre vitesse
d'exécution et bonne vérification de type. Donc oui, vous pouviez
avoir un compilateur Lisp et faire fonctionner vos programmes rapidement, mais
quand ils essayaient de prendre le « car » d'un nombre,
il sortaient des résultats insensés et finalement plantaient au
bout d'un moment."
-
-# type: Content of: <p>
-msgid "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."
-msgstr "La machine Lisp était capable d'exécuter des
instructions presque aussi vite que ces autres machines, mais pour toutes les
instructions (une instruction<tt>car</tt> fait de la vérification de
type), donc quand vous essayiez d'obtenir le « car » d'un
nombre dans un programme compilé, vous obteniez immédiatement
l'erreur. Nous construisions la machine et avions un système
d'exploitation Lisp pour elle. Il était presque entièrement
écrit en Lisp, les seules exceptions étant certaines parties
écrites dans le micro code. Des gens ont porté de
l'intérêt à leur fabrication, ce qui signifie qu'ils
allaient lancer une entreprise."
-
-# type: Content of: <p>
-msgid "There were two different ideas about what this company should be like.
Greenblatt wanted to start what he called a “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-1\">(1)</a>. Unfortunately, Greenblatt didn't have any business
experience, so other people in the Lisp machine group said they doubted whether
he could succeed. They thought that his plan to avoid outside investment
wouldn't work."
-msgstr "Il y avait deux idées différentes à propos de
comment cette société devrait être. Greenblatt voulait
lancer ce qu'il appelait une entreprise de « hacker ».
Cela signifie qu'il voulait une entreprise dirigée par des hackers et
qui fonctionnerait d'une manière favorable aux hackers. Un autre but
était de maintenir la culture du labo d'I.A. <a
href=\"#foot-1\">(1)</a>. Malheureusement, Greenblatt n'avait aucune
expérience des affaires, donc d'autres personnes dans le groupe de la
machine Lisp ont dit qu'ils doutaient qu'il puisse réussir. Ils
pensaient que son plan pour éviter les investissements extérieurs
ne marcherait pas."
-
-# type: Content of: <p>
-msgid "Why did he want to avoid outside investment? Because when a company has
outside investors, they take control and they don't let you have any scruples.
And eventually, if you have any scruples, they also replace you as the manager."
-msgstr "Pourquoi voulait-il éviter les investissements
extérieurs ? Parce que quand une entreprise a des investisseurs
extérieurs, ils prennent le contrôle, et ne vous laissent pas
avoir le moindre scrupule. Et finalement, si vous avez des scrupules, ils vous
remplacent également en tant que directeur."
-
-# type: Content of: <p>
-msgid "So Greenblatt had the idea that he would find a customer who would pay
in advance to buy the parts. They would build machines and deliver them; with
profits from those parts, they would then be able to buy parts for a few more
machines, sell those and then buy parts for a larger number of machines, and so
on. The other people in the group thought that this couldn't possibly work."
-msgstr "Donc Greenblatt avait l'idée qu'il trouverait un client
prêt à payer en avance pour acheter les composants. Ils
construiraient les machines et les livreraient : avec le
bénéfice réalisé, 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."
-
-# type: Content of: <p>
-msgid "Greenblatt then recruited Russell Noftsker, the man who had hired me,
who had subsequently left the AI Lab and created a successful company. Russell
was believed to have an aptitude for business. He demonstrated this aptitude
for business by saying to the other people in the group, “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."
-msgstr "Greenblatt a ensuite recruté Russel Noftsker, la personne qui
m'avait engagé, et qui avait entre temps quitté le Labo d'I.A. et
monté une entreprise florissante. Russel passait pour avoir des
capacité pour les affaires. Il a démontré cette
capacité pour les affaires en disant aux autres membres du groupe :
« jetons Greenblatt, oublions son idée, et faisons une autre
entreprise ». Poignarder dans le dos, clairement un vrai homme
d'affaires. Ces personnes décidèrent qu'elles formeraient une
société nommée Symbolics. Ils chercheraient des
investissements extérieurs, n'auraient aucun scrupule, et feraient tout
leur possible pour gagner."
-
-# type: Content of: <p>
-msgid "But Greenblatt didn't give up. He and the few people loyal to him
decided to start Lisp Machines Inc. anyway and go ahead with their plans. And
what do you know, they succeeded! They got the first customer and were paid in
advance. They built machines and sold them, and built more machines and more
machines. They actually succeeded even though they didn't have the help of most
of the people in the group. Symbolics also got off to a successful start, so
you had two competing Lisp machine companies. When Symbolics saw that LMI was
not going to fall flat on its face, they started looking for ways to destroy
it."
-msgstr "Mais Greenblatt n'a pas abandonné. Lui et les quelques
personnes qui lui étaient restées loyales
décidèrent de lancer tout de même Lisp Machines Inc. et de
continuer sur leur plan original. Et devinez quoi, ils ont réussi !
Ils ont trouvé leur premier client et ont été payés
en avance. Ils ont construit leurs machines et les ont vendues, construit plus
de machines et encore plus. Ils ont effectivement réussi alors
même qu'ils n'avaient pas l'aide de la plupart des personnes du groupe.
Symbolics a aussi eu un départ réussi, donc vous aviez deux
entreprises concurrentes de machines Lisp. Quand Symbolics a vu que LMI
n'allait pas s'écrouler, ils ont commencé à chercher des
moyens de le détruire."
-
-# type: Content of: <p>
-msgid "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."
-msgstr "Donc, l'abandon de notre labo fut suivi par une
« guerre » dans notre labo. L'abandon s'est fait quand
Symbolics a débauché tous les hackers, à l'exception de
moi et des quelques-uns qui travaillaient à LMI à temps partiel.
Puis ils ont invoqué une règle et éliminé les gens
travaillant à temps partiel pour le M.I.T., les forçant à
le quitter entièrement, ce qui m'a laissé seul. Le Labo d'I.A.
était maintenant impuissant. Et le M.I.T. a passé un arrangement
absurde avec ces deux entreprises. C'était un contrat entre eux trois
dans lequel chaque entreprise licenciait l'utilisation des sources des
systèmes de machine Lisp. Ces entreprises étaient forcé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èmes de machine Lisp que les deux entreprises avaient
licenciées. Personne ne s'était rendu compte que le groupe de
hacker du Labo d'I.A. avait disparu, mais c'était le cas."
-
-# type: Content of: <p>
-msgid "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.”"
-msgstr "Donc Symbolics à eu une idée <a
href=\"#foot-4\">(4)</a>. Ils ont dit au labo : « Nous
continuerons à mettre à votre disposition nos modifications du
système pour votre utilisation, mais vous ne pouvez les utiliser dans le
système de machine Lisp du M.I.T. À la place, nous vous donnerons
accès au système de machine Lisp de Symbolics, et vous pourrez
l'utiliser, mais c'est tout ce que vous pourrez faire »."
-
-# type: Content of: <p>
-msgid "This, in effect, meant that they demanded that we had to choose a side,
and use either the <abbr>MIT</abbr> version of the system or the Symbolics
version. Whichever choice we made determined which system our improvements
went to. If we worked on and improved the Symbolics version, we would be
supporting Symbolics alone. If we used and improved the <abbr>MIT</abbr>
version of the system, we would be doing work available to both companies, but
Symbolics saw that we would be supporting LMI because we would be helping them
continue to exist. So we were not allowed to be neutral anymore."
-msgstr "Ceci, en pratique, voulait dire qu'ils demandaient que nous
choisissions un camp, et utilisions soit la version du système du
M.I.T., soit la version de Symbolics. Quel que soit notre choix cela
déterminait à quel système iraient nos
améliorations. Si nous travaillions et améliorions la version de
Symbolics, nous soutiendrions uniquement Symbolics. Si nous utilisions et
améliorions la version M.I.T. du système, nous
réaliserions du travail disponible pour les deux entreprises, mais
Symbolics verrait que nous soutiendrions LMI puisque nous les aiderions
à exister. Donc nous ne pouvions plus rester neutres."
-
-# type: Content of: <p>
-msgid "Up until that point, I hadn't taken the side of either company,
although it made me miserable to see what had happened to our community and the
software. But now, Symbolics had forced the issue. So, in an effort to help
keep Lisp Machines Inc. going <a href=\"#foot-2\">(2)</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)."
-msgstr "Jusqu'à ce moment, je n'avais pris parti pour aucune des deux
entreprises, bien que cela me rendait malheureux de voir ce qui était
arrivé à notrecommunauté et au logiciel. Mais maintenant,
Symbolics avait forcé le problème. Donc, dans un effort pour
aider à faire continuer Lisp Machines Inc. <a href=\"#foot-2\">(2)</a>,
j'ai commencé à dupliquer toutes les améliorations que
Symbolics avait fait au système machine Lisp. J'ai écrit les
améliorations équivalentes à neuf moi-même
(c'est-à-dire avec mon propre code)."
-
-# type: Content of: <p>
-msgid "After a while <a href=\"#foot-3\">(3)</a>, I came to the conclusion
that it would be best if I didn't even look at their code. When they made a
beta announcement that gave the release notes, I would see what the features
were and then implement them. By the time they had a real release, I did too."
-msgstr "Au bout d'un moment <a href=\"#foot-3\">(3)</a>, je suis arrivé
à la conclusion que cela irait mieux si je ne regardais même pas
leur code. Quand ils annonçaient une version bêta qui donnait les
notes de versions, je pouvais voir quelles allaient être les
fonctionnalités et les implémenter moi-même. Au moment
où ils avaient une vraie version, j'avais la mienne également."
-
-# type: Content of: <p>
-msgid "In this way, for two years, I prevented them from wiping out Lisp
Machines Incorporated, and the two companies went on. But, I didn't want to
spend years and years punishing someone, just thwarting an evil deed. I figured
they had been punished pretty thoroughly because they were stuck with
competition that was not leaving or going to disappear<a
href=\"#foot-6\">(6)</a>. Meanwhile, it was time to start building a new
community to replace the one that their actions and others had wiped out."
-msgstr "De cette façon, et pendant deux ans, je les ai
empêchés d'écraser Lisp Machines Incorporated, et les deux
entreprises ont continué d'exister. Mais je ne voulais pas passer des
années et des années à punir quelqu'un, uniquement
à contrer une entreprise maléfique. J'imagine qu'ils ont
été punis assez sévèrement parce qu'ils
étaient bloqués avec de la concurrence qui n'avait ni l'intention
de laisser tomber ni ne risquait de disparaître <a
href=\"#foot-6\">(6)</a>. Entre temps, il était temps de commencer
à bâtir une nouvelle communauté pour remplacer l'autre que
leurs actions et d'autres avait rayé de la carte."
-
-# type: Content of: <p>
-msgid "The Lisp community in the 70s was not limited to the <abbr>MIT</abbr>
AI Lab, and the hackers were not all at <abbr>MIT</abbr>. The war that
Symbolics started was what wiped out <abbr>MIT</abbr>, but there were other
events going on then. There were people giving up on cooperation and together,
this wiped out the community and there wasn't much left."
-msgstr "La communauté Lisp des années 70 n'était pas
limité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ée fut ce qui anéanti (la
communauté au) M.I.T., mais il y avait d'autres événements
en cours au même moment. Il y avait des gens qui abandonnaient la
coopération, et tout cela détruisait la communauté, et il
n'en restait pas grand chose."
-
-# type: Content of: <p>
-msgid "Once I stopped punishing Symbolics, I had to figure out what to do
next. I had to make a free operating system, that was clear — the only
way that people could work together and share was with a free operating system."
-msgstr "Après avoir arrêté de punir Symbolics, il a fallu
réfléchir à quoi faire ensuite. Il fallait que je fasse un
système d'exploitation libre, c'était clair : la seule
façon de faire travailler des gens ensemble et de les faire partager
était avec un système d'exploitation libre."
-
-# type: Content of: <p>
-msgid "At first, I thought of making a Lisp-based system, but I realized that
wouldn't be a good idea technically. To have something like the Lisp machine
system, you needed special purpose microcode. That's what made it possible to
run programs as fast as other computers would run their programs and still get
the benefit of typechecking. Without that, you would be reduced to something
like the Lisp compilers for other machines. The programs would be faster, but
unstable. Now that's okay if you're running one program on a timesharing system
— if one program crashes, that's not a disaster, that's something your
program occasionally does. But that didn't make it good for writing the
operating system in, so I rejected the idea of making a system like the Lisp
machine."
-msgstr "Au début, j'ai pensé faire un système basé
sur Lisp, mais j'ai réalisé que techniquement ce n'était
pas une très bonne idée. Pour avoir quelque chose comme le
système machine Lisp, vous aviez besoin de micro code à but
spé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ême le bénéfice de la
vérification de type. Sans cela, vous seriez réduit à
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ème à partage de
temps : si un programme plante, ce n'est pas un désastre, c'est
quelque chose que les programmes font occasionnellement. Mais cela ne le
rendait pas bon pour écrire le système d'exploitation de cette
façon, donc j'ai rejeté l'idée de faire un système
comme la machine Lisp."
-
-# type: Content of: <p>
-msgid "I decided instead to make a Unix-like operating system that would have
Lisp implementations to run as user programs. The kernel wouldn't be written in
Lisp, but we'd have Lisp. So the development of that operating system, the GNU
operating system, is what led me to write the GNU Emacs. In doing this, I aimed
to make the absolute minimal possible Lisp implementation. The size of the
programs was a tremendous concern."
-msgstr "J'ai décidé de faire un système d'exploitation de
type Unix qui aurait des implémentations Lisp qui fonctionneraient en
tant que programmes utilisateurs. Le noyau ne serait pas écrit en Lisp,
mais nous aurions Lisp. Donc le développement de ce système
d'exploitation, le système d'exploitation GNU, est ce qui m'a
amené à écrire GNU Emacs. En faisant cela, j'ai
cherché à faire le minimum d'implémentation Lisp possible.
La taille des programmes était un souci énorme."
-
-# type: Content of: <p>
-msgid "There were people in those days, in 1985, who had one-megabyte machines
without virtual memory. They wanted to be able to use GNU Emacs. This meant I
had to keep the program as small as possible."
-msgstr "Il y avait des gens à cette époque, en 1985, qui avaient
des machines d'un megaoctet sans mémoire virtuelle. Ils voulaient
pouvoir utiliser GNU Emacs. Cequi signifie qu'il fallait que je garde le
programme aussi petit que possible."
-
-# type: Content of: <p>
-msgid "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."
-msgstr "Par exemple, à ce moment-là, la seule construction de
boucle était « while », qui était
extrêmement simple. Il n'y avait pas de moyen de sortir de cette boucle
« while », vous ne pouviez faire qu'un
« catch » et un « throw », ou
tester une variable dans la boucle. Cela montre à 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 : simplifier au maximum
était l'esprit de GNU Emacs, l'esprit de Emacs Lisp, depuis le
début."
-
-# type: Content of: <p>
-msgid "Obviously, machines are bigger now, and we don't do it that way
anymore. 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. They don't
seem quite Lispy to me; I'll do it sometimes but I minimize the times when I do
that."
-msgstr "Évidemment les machines sont plus grosses maintenant, et nous
ne le faisons plus de cette façon. Nous utilisons <tt>caar</tt> et
<tt>cadr</tt> et caetera, et nous pourrions intégrer une autre
construction de boucle un de ces jours. Nous sommes favorables à
l'étendre un peu maintenant, mais nous ne voulons pas l'étendre
au niveau du Common Lisp. Une chose que je n'aime pas énormément
sont les arguments mot-clefs. Il ne me semblent pas très Lisp : je
le fais de temps à autre mais je minimise les fois où je le fais."
-
-# type: Content of: <p>
-msgid "That was not the end of the GNU projects involved with Lisp. Later on
around 1995, we were looking into starting a graphical desktop project. It was
clear that for the programs on the desktop, we wanted a programming language to
write a lot of it in to make it easily extensible, like the editor. The
question was what it should be."
-msgstr "Ce n'était pas la fin de l'implication du projet GNU avec Lisp.
Plus tard vers 1995, nous pensions à lancer un projet de bureau
graphique. Il était clair que pour les programmes du bureau, nous
voulions un langage de programmation afin d'en écrire une grande partie
et de le rendre facilement extensible, comme l'éditeur. La question
était lequel choisir."
-
-# type: Content of: <p>
-msgid "At the time, <acronym title=\"Tool Command Language\">TCL</acronym> was
being pushed heavily for this purpose. I had a very low opinion of
<acronym>TCL</acronym>, basically because it wasn't Lisp. It looks a tiny bit
like Lisp, but semantically it isn't, and it's not as clean. Then someone
showed me an ad where Sun was trying to hire somebody to work on
<acronym>TCL</acronym> to make it the “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."
-msgstr "À ce moment, TCL était largement mis en avant pour ce
genre d'applications. J'avais une très mauvaise opinion de TCL, avant
tout parce que ce n'était pas du Lisp. Cela ressemblait un peu à
Lisp, mais pas au niveau sémantique, et ce n'est pas aussi propre. Puis
quelqu'un m'a montré une publicité dans laquelle Sun essayait de
recruter quelqu'un pour travailler sur TCL afin de le rendre « de
facto langage d'extension standard » mondial. Et j'ai
pensé : « Nous devons empêcher cela ».
Donc nous avons commencé à rendre Scheme le langage d'extension
standard pour GNU. Pas Common Lisp parce qu'il était trop gros.
L'idée était d'avoir un interpréteur Scheme conçu
pour être lié à des applications de la même
manière que TCL était lié à d'autres applications.
Nous allions donc recommander qu'il soit le paquet pour extension
préféré pour tous les programmes GNU."
-
-# type: Content of: <p>
-msgid "There's an interesting benefit you can get from using such a powerful
language as a version of Lisp as your primary extensibility language. You can
implement other languages by translating them into your primary language. If
your primary language is <acronym>TCL</acronym>, you can't very easily
implement Lisp by translating it into <acronym>TCL</acronym>. But if your
primary language is Lisp, it's not that hard to implement other things by
translating them. Our idea was that if each extensible application supported
Scheme, you could write an implementation of <acronym>TCL</acronym> or Python
or Perl in Scheme that translates that program into Scheme. Then you could load
that into any application and customize it in your favorite language and it
would work with other customizations as well."
-msgstr "Il y a un bénéfice intéressant à utiliser
un langage si puissant en tant que version de Lisp pour votre langage
d'extension primaire. Vous pouvezimplémenter d'autres langages en les
traduisant dans votre langage primaire. Si votre langage primaire était
TCL, vous ne pourriez implémenter facilement Lisp en le traduisant en
TCL. Mais si votre langage primaire est Lisp, il n'est pas difficile
d'implémenter d'autres choses en les traduisant. Notre idée
était que si chaque application extensible acceptait Scheme, vous
pourriez écrire une implé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 également avec d'autres configurations."
-
-# type: Content of: <p>
-msgid "As long as the extensibility languages are weak, the users have to use
only the language you provided them. Which means that people who love any given
language have to compete for the choice of the developers of applications
— 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."
-msgstr "Tant que l'extensibilité 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éveloppeurs d'application :
« S'il vous plaît Monsieur le
développeurd'applications, incluez mon langage dans votre application,
pas le sien ». Puis les autres utilisateurs n'ont plus le
choix : quelle que soit l'application qu'ils utilisent, elle arrive avec
un langage et ils sont limités à ce langage. Mais quand vous avez
un langage puissant qui peux implémenter les autres en lestraduisant,
alors vous donnez aux utilisateurs le choix du langage et vous n'avez plus de
guerre des langages du tout. Nous espérons que c'est ce que fera
« Guile », notre interpréteur Scheme. Nous avions
une personne travaillant l'été dernier à finir un
traducteur de Python vers Scheme. Je ne sais pas s'il est entièrement
fini maintenant, mais si quelqu'un est intéressé par ce projet,
contactez-moi. Donc c'est notre plan pour le futur."
-
-# type: Content of: <p>
-msgid "I haven't been speaking about free software, but let me briefly tell
you a little bit about what that means. Free software does not refer to price;
it doesn't mean that you get it for free. (You may have paid for a copy, or
gotten a copy gratis.) It means that you have freedom as a user. The crucial
thing is that you are free to run the program, free to study what it does, free
to change it to suit your needs, free to redistribute the copies of others and
free to publish improved, extended versions. This is what free software means.
If you are using a non-free program, you have lost crucial freedom, so don't
ever do that."
-msgstr "Je n'ai pas parlé de logiciel libre, mais laissez-moi vous dire
rapidement un petit peu ce que cela veut dire. Le logiciel libre ne se
réfère pas à un prix, cela ne veut pas dire que vous
l'obtiendrez gratuitement. (Vous pouvez avoir à payer pour une copie, ou
bien vous pouvez l'obtenir gratuitement.) Cela signifie que vous êtes
libre en tant qu'utilisateur. La chose capitale est que vous êtes libre
d'utilisez le programme, libre d'étudier ce qu'il fait, libre de le
modifier pour s'adapter à vos besoins, libre de redistribuer des copies
aux autres et libre de publier des versions améliorées ou
étendues. C'est ce que signifie logiciel libre. Si vous utilisez des
logiciels non-libres, vous perdez cette liberté capitale, donc ne le
faites jamais."
-
-# type: Content of: <p>
-msgid "The purpose of the GNU project is to make it easier for people to
reject freedom-trampling, user-dominating, non-free software by providing free
software to replace it. For those who don't have the moral courage to reject
the non-free software, when that means some practical inconvenience, what we
try to do is give a free alternative so that you can move to freedom with less
of a mess and less of a sacrifice in practical terms. The less sacrifice the
better. We want to make it easier for you to live in freedom, to cooperate."
-msgstr "Le but du projet GNU est de rendre facile pour les gens de rejeter les
logiciels dominateurs d'utilisateurs, piétineurs de liberté,
non-libres, en mettant à 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énient pratique, nous
essayons de donner une alternative libre pour que vous puissiez vous
libé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ération."
-
-# type: Content of: <p>
-msgid "This is a matter of the freedom to cooperate. We're used to thinking of
freedom and cooperation with society as if they are opposites. But here they're
on the same side. With free software you are free to cooperate with other
people as well as free to help yourself. With non-free software, somebody is
dominating you and keeping people divided. You're not allowed to share with
them, you're not free to cooperate or help society, anymore than you're free to
help yourself. Divided and helpless is the state of users using non-free
software."
-msgstr "C'est un problème de faire coopérer pour la
liberté. Nous avons l'habitude pour la société de penser
à la liberté et à la coopération en tant
qu'opposés. Mais elles sont dans le même camp. Avec le logiciel
libre vous êtes libres de coopérer avec d'autres personnes et
êtes libre de vous aider vous-même. Avec le logiciel non-libre,
quelqu'un vous domine et tient les gens divisés. Vous n'êtes pas
autorisés à partager avec eux, vous n'êtes pas libres de
coopérer avec ou d'aider la société, pas plus que vous
n'êtes autorisés à vous aider vous-même.
Divisés et impuissants, voilà l'état des utilisateurs de
logiciel non libre."
-
-# type: Content of: <p>
-msgid "We've produced a tremendous range of free software. We've done what
people said we could never do; we have two operating systems of free software.
We have many applications and we obviously have a lot farther to go. So we need
your help. I would like to ask you to volunteer for the GNU project; help us
develop free software for more jobs. Take a look at <a
href=\"/help/\">http://www.gnu.org/help</a> to find suggestions for how to
help. If you want to order things, there's a link to that from the home page.
If you want to read about philosophical issues, look in /philosophy. If you're
looking for free software to use, look in /directory, which lists about 1900
packages now (which is a fraction of all the free software out there). Please
write more and contribute to us. My book of essays, “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!"
-msgstr "Nous avons produit une variété énorme de
logiciels libres. Nous avons fait ce que les gens disaient que nous
n'arriverions jamais, nous avons deuxsystèmes d'exploitation en
logiciels libres. Nous avons de nombreuses applications et évidemment
avons encore beaucoup à faire. Donc nous avonsbesoin de votre aide.
J'aimerais vous demander d'être volontaire pour le projet GNU, aidez-nous
à développer le logiciel libre pour plus de travail. Allezvoir
sur <a href=\"/help/\">http://www.gnu.org/help</a> pour trouver des suggestions
sur la manière de nous aider. Si vous voulez commander des choses, il y
a un lien pour cela sur cette page. Si vous voulez lire à propos des
questions philosophiques, allez voir dans /philosophy. Si vous cherchez des
logiciels libres à utiliser, allez voir dans /directory, qui liste
environ 1900 paquets maintenant (ce qui représente une fraction de tout
le logiciel libre existant). S'il vous plaît, écrivez-en plus et
contribuez. Mon livre d'essais, « Free Software and Free
Society » (Logiciel libre et société libre), est en
vente et peut être acheté sur <a
href=\"http://www.gnu.org/\">www.gnu.org</a>. Happy hacking! (Codez
joyeusement !)."
+msgid ""
+"(Transcript of Richard Stallman's Speech, 28 Oct 2002, at the International "
+"Lisp Conference)."
+msgstr ""
+"(Transcription du discours de Richard Stallman, 28 octobre 2002, à la "
+"conférence internationale Lisp"
+
+# type: Content of: <p>
+msgid ""
+"Since none of my usual speeches have anything to do with Lisp, none of them "
+"were appropriate for today. So I'm going to have to wing it. Since I've "
+"done enough things in my career connected with Lisp I should be able to say "
+"something interesting."
+msgstr ""
+"Comme aucun de mes discours habituels n'a à voir avec Lisp, aucun ne "
+"serait approprié pour aujourd'hui. Donc je vais improviser. Comme "
+"j'ai fait suffisamment de choses dans ma carrière en relation avec "
+"Lisp, je devrais être capable de raconter quelque chose d'inté"
+"ressant."
+
+# type: Content of: <p>
+msgid ""
+"My first experience with Lisp was when I read the Lisp 1.5 manual in high "
+"school. That's when I had my mind blown by the idea that there could be a "
+"computer language like that. The first time I had a chance to do anything "
+"with Lisp was when I was a freshman at Harvard and I wrote a Lisp "
+"interpreter for the <abbr title=\"Programmed Data Processor\">PDP</abbr>-11. "
+"It was a very small machine — 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."
+msgstr ""
+"Ma première expérience avec Lisp a été de lire "
+"le manuel Lisp 1.5 au lycée. C'est à ce moment là que "
+"l'idée m'a frappé de plein fouet : qu'il puisse y avoir "
+"un langage informatique comme cela. La première fois que j'ai eu la "
+"chance de faire quelque chose avec Lisp fut quand je suis arrivé "
+"à Harvard et que j'ai écrit un interpréteur Lisp pour "
+"le <abbr title=\"Programmed Data Processor\">PDP</abbr>-11. C'était "
+"une toute petite machine, avec quelque chose comme 8 Ko de mémoire, "
+"et j'ai réussi à écrire l'interpréteur en un "
+"millier de lignes. Cela m'a laissé un peu de place pour quelques "
+"données. Tout cela était avant que je ne vois ce qu'est du "
+"vrai logiciel, qui exécute un vrai travail système"
+
+# type: Content of: <p>
+msgid ""
+"I began doing work on a real Lisp implementation with JonL White once I "
+"started working at <abbr title=\"Massachusetts Institute of Technology"
+"\">MIT</abbr>. I got hired at the Artificial Intelligence Lab not by JonL, "
+"but by Russ Noftsker, which was most ironic considering what was to come "
+"— he must have really regretted that day."
+msgstr ""
+"J'ai commencé à travailler sur une vraie implémentation "
+"de Lisp avec JonL White après avoir débuté au <acronym "
+"title=\"Massachusetts Institute of Technology\">M.I.T.</acronym> J'ai "
+"été engagé au laboratoire d'intelligence artificielle "
+"non pas par JonL, mais par Russ Noftsker, ce qui est plutôt ironique "
+"vu ce qui s'est passé par la suite : il a vraiment dû "
+"regretter ce jour-là."
+
+# type: Content of: <p>
+msgid ""
+"During the 1970s, before my life became politicized by horrible events, I "
+"was just going along making one extension after another for various "
+"programs, and most of them did not have anything to do with Lisp. But, along "
+"the way, I wrote a text editor, Emacs. The interesting idea about Emacs was "
+"that it had a programming language, and the user's editing commands would be "
+"written in that interpreted programming language, so that you could load new "
+"commands into your editor while you were editing. You could edit the "
+"programs you were using and then go on editing with them. So, we had a "
+"system that was useful for things other than programming, and yet you could "
+"program it while you were using it. I don't know if it was the first one of "
+"those, but it certainly was the first editor like that."
+msgstr ""
+"Pendant les années 70, avant que ma vie ne soit politisée par "
+"des événements horribles, je me contentais de faire une "
+"extension après l'autre pour des programmes variés, et la "
+"plupart d'entre eux n'avaient rien à voir avec Lisp. Mais, au fur et "
+"à mesure, j'ai écrit un éditeur de texte, Emacs. "
+"L'idée intéressante à propos d'Emacs était qu'il "
+"possédait un langage de programmation, et que les commandes d'é"
+"dition de l'utilisateur seraient écrites dans ce langage de "
+"programmation interprété, de telle sorte que vous pouviez "
+"charger de nouvelles commandes dans votre éditeur pendant que vous "
+"éditiez. Vous pouviez éditer les programmes que vous utilisiez "
+"et continuer à éditer avec eux. Donc, nous avions un "
+"système qui était utile à autre chose qu'à "
+"programmer, et que vous pouviez programmer pendant que vous l'utilisiez. Je "
+"ne sais pas si c'était le premier programme à le faire, mais "
+"c'était certainement le premier éditeur comme ça."
+
+# type: Content of: <p>
+#, fuzzy
+msgid ""
+"This spirit of building up gigantic, complicated programs to use in your own "
+"editing, and then exchanging them with other people, fueled the spirit of "
+"free-wheeling cooperation that we had at the AI Lab then. The idea was that "
+"you could give a copy of any program you had to someone who wanted a copy of "
+"it. We shared programs to whomever wanted to use them, they were human "
+"knowledge. So even though there was no organized political thought relating "
+"the way we shared software to the design of Emacs, I'm convinced that there "
+"was a connection between them, an unconscious connection perhaps. I think "
+"that it's the nature of the way we lived at the AI Lab that led to Emacs and "
+"made it what it was."
+msgstr ""
+"L'idée de construire des programmes gigantesques et compliqué"
+"s, à utiliser dans notre propre édition, et ensuite de les "
+"échanger avec d'autres personnes, a alimenté l'esprit de "
+"coopération sans contrainte que nous avions au labo d'<acronym title="
+"\"Intelligence Artificielle\">I.A.</acronym> à ce moment-là. "
+"L'idée était que vous pouviez donner une copie de n'importe "
+"quel programme que vous aviez à celui qui en voulait une copie. Nous "
+"partagions les programmes avec qui que soit voulant les utiliser, ils "
+"étaient de la connaissance, du savoir humain. Donc même s'il "
+"n'y avait pas de pensée politique organisée liée "
+"à la manière dont nous partagions du logiciel pour concevoir "
+"Emacs, je suis convaincu qu'il y avait une connexion entre eux, peut-ê"
+"tre une connexion inconsciente. Je pense que c'est la nature de notre "
+"façon de vivre au labo d'I.A. qui à mené à Emacs "
+"et l'a fait devenir ce qu'il était."
+
+# type: Content of: <p>
+msgid ""
+"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."
+msgstr ""
+"L'Emacs original ne contenait pas de Lisp. Le langage de bas-niveau, le "
+"langage non interprété, était de l'assembleur PDP-10. "
+"L'interpréteur dans lequel nous écrivions n'était en "
+"fait pas écrit pour Emacs, il était écrit pour TECO. "
+"C'était notre éditeur de texte, et était un langage de "
+"programmation extrêmement laid, le plus laid qu'il puisse exister. La "
+"raison en était qu'il n'était pas conçu pour être "
+"un langage de programmation, mais pour être un langage d'é"
+"dition et de commande. Il y avait des commandes comme « 5l "
+"», signifiant « avance de 5 lignes », ou bien "
+"« i » puis une chaîne de caractère et "
+"Échap pour insérer cette chaîne. Vous pouviez taper une "
+"chaîne de caractères qui était une série de "
+"commandes, ce quis'appelait une chaîne de commande. Vous la terminiez "
+"par Échap Échap, et elle était exécutée."
+
+# type: Content of: <p>
+msgid ""
+"Well, people wanted to extend this language with programming facilities, so "
+"they added some. For instance, one of the first was a looping construct, "
+"which was < >. 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-7\">(7)</a> added facilities to "
+"have subroutines with names. Before that, it was sort of like Basic, and the "
+"subroutines could only have single letters as their names. That was hard to "
+"program big programs with, so we added code so they could have longer names. "
+"Actually, there were some rather sophisticated facilities; I think that Lisp "
+"got its unwind-protect facility from <acronym>TECO</acronym>."
+msgstr ""
+"Eh bien, certaines personnes voulaient étendre ce langage avec des "
+"méthodes de programmation, donc ils en ont ajouté quelques-"
+"unes. Par exemple, l'une des premières fut une structure de boucle, "
+"qui était < >. Vous pouviez les placer autour de quelque chose, "
+"et cette chose s'exécutait en boucle. Il y avait d'autres commandes "
+"cryptiques qui pouvaient être utilisées pour sortir de la "
+"boucle en fonction de conditions. Pour faire Emacs, nous <a href=\"#foot-7\">"
+"(7)</a> avons ajouté des méthodes pour avoir des sous-routines "
+"avec des noms. Avant cela, c'était une sorte de Basic, et les sous-"
+"routines pouvaient uniquement avoir une seule lettre pour nom. Il é"
+"tait difficile de faire des gros programmes avec, donc nous avons "
+"ajouté du code pour qu'elles puissent avoir des noms plus long. En "
+"fait, il y avait des méthodes plutôt sophistiqué"
+"es : je pense que Lisp a hérité saméthode unwind-"
+"protect de TECO."
+
+# type: Content of: <p>
+msgid ""
+"We started putting in rather sophisticated facilities, all with the ugliest "
+"syntax you could ever think of, and it worked — people were able to "
+"write large programs in it anyway. The obvious lesson was that a language "
+"like <acronym>TECO</acronym>, which wasn't designed to be a programming "
+"language, was the wrong way to go. The language that you build your "
+"extensions on shouldn't be thought of as a programming language in "
+"afterthought; it should be designed as a programming language. In fact, we "
+"discovered that the best programming language for that purpose was Lisp."
+msgstr ""
+"Nous avons commencé à intégrer des méthodes "
+"plutôt sophistiquées, toutes avec la syntaxe la plus horrible "
+"que vous pouviez vous représenter, et cela marchait : les gens "
+"étaient capables d'écrire des programmes avec en tout cas. La "
+"leçon évidente était qu'un langage comme TECO, qui "
+"n'était pas conçu pour programmer, était la mauvaise "
+"direction. Le langage sur lequel vous construisez vos extensions ne devrait "
+"pas être vu en tant que langage de programmation après coup, il "
+"devrait être conçu en tant que langage de programmation. En "
+"fait, nous avons découvert que le meilleur langage de programmation "
+"pour faire cela était Lisp."
+
+# type: Content of: <p>
+msgid ""
+"It was Bernie Greenberg, who discovered that it was <a href=\"#foot-5\">(5)</"
+"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."
+msgstr ""
+"C'est Bernie Greenberg, qui a découvert qu'il l'était <a href="
+"\"#foot-5\">(5)</a>. Il a écrit une version d'Emacs en Multics "
+"MacLisp, et il écrivait ses commandes en MacLisp de façon "
+"très directe. L'éditeur lui-même était "
+"entièrement écrit en Lisp. Emacs Multics fut un grand "
+"succès : programmer de nouvelles commandes d'édition "
+"était si pratique que même les secrétaires dans son "
+"bureau ont commencé à apprendre à s'en servir. Elles "
+"utilisaient un manuel que quelqu'un avait écrit qui montrait comment "
+"étendre Emacs, mais qui ne disait pas qu'il s'agissait de "
+"programmation. Donc les secrétaires, qui croyaient qu'elles ne "
+"pouvaient pas programmer, n'ont pas été effrayées. "
+"Elles ont lu le manuel, découvert qu'elles pouvaient faire des choses "
+"utiles, et ont appris à programmer."
+
+# type: Content of: <p>
+msgid ""
+"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."
+msgstr ""
+"Donc Bernie à vu qu'une application (un programme qui fait quelque "
+"chose d'utile pour vous) qui avait Lisp à l'intérieur et que "
+"vous pouviez étendre en réécrivant les programmes Lisp, "
+"était réellement une très bonne manière pour les "
+"gens d'apprendre à programmer. Cela leur donnait la chance d'é"
+"crire de petits programmes qui leur é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'à ce qu'ils arrivent au point où ils sont "
+"devenus programmeurs."
+
+# type: Content of: <p>
+msgid ""
+"At that point, people began to wonder how they could get something like this "
+"on a platform where they didn't have full service Lisp implementation. "
+"Multics MacLisp had a compiler as well as an interpreter — 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."
+msgstr ""
+"À ce moment-là, les gens ont commencé à se "
+"demander comment ils pouvaient obtenir quelque chose de ce genre sur une "
+"plateforme sur laquelle ils ne disposaient pas de l'implémentation "
+"des services complets de Lisp. Multics MacLisp avait un compilateur aussi "
+"bien qu'un interpréteur (c'était un système Lisp "
+"complet) mais les gens voulaient implémenter quelque chose comme "
+"ça sur d'autres systèmes où ils n'avaient pas encore de "
+"compilateur Lisp. Car sans avoir le compilateur Lisp vous ne pouviez é"
+"crire l'éditeur entier en Lisp : ce serait trop lent, spé"
+"cialement l'affichage, s'il fallait faire tourner du Lisp interpré"
+"té. Donc nous avons développé une technique hybride. "
+"L'idée était d'écrire un interpréteur Lisp et "
+"les parties bas-niveau de l'éditeur ensemble, de telle sorte que des "
+"morceaux de l'éditeur étaient des méthodes inté"
+"grées Lisp. C'était toutes les parties dont nous avions le "
+"sentiment qu'il fallait les optimiser. C'est une technique que nous avions "
+"déjà consciemment pratiqué dans l'Emacs original, "
+"puisqu'il y avait certaines fonctionnalités de relativement haut-"
+"niveau que nous ré-implé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 étaient faites à un niveau supérieur "
+"par un programme TECO). Vous pouviez faire tout le travail en é"
+"crivant un programme TECO, mais c'était trop lent, doncnous l'avons "
+"optimisé en en mettant une partie en langage machine. Nous avons "
+"utilisé la même idée ici (dans la technique hybride), "
+"que la grosse partie de l'éditeur serait écrite en Lisp, mais "
+"que certaines parties ayant besoin de fonctionner particulièrement "
+"rapidement seraient écrites à un niveau inférieur."
+
+# type: Content of: <p>
+msgid ""
+"Therefore, when I wrote my second implementation of Emacs, I followed the "
+"same kind of design. The low level language was not machine language "
+"anymore, it was C. C was a good, efficient language for portable programs to "
+"run in a Unix-like operating system. There was a Lisp interpreter, but I "
+"implemented facilities for special purpose editing jobs directly in C "
+"— manipulating editor buffers, inserting leading text, reading and "
+"writing files, redisplaying the buffer on the screen, managing editor "
+"windows."
+msgstr ""
+"C'est pourquoi, quand j'ai écrit ma deuxième implé"
+"mentation d'Emacs, j'ai suivi le même concept.Le langage de bas niveau "
+"n'était plus du langage machine mais du C. C était un bon "
+"langage, efficace pour des programmes portables fonctionnant dans un "
+"système d'exploitation de type Unix. Il y avait un interpré"
+"teur Lisp, mais j'ai implémenté des méthodes pour des "
+"travaux d'édition spéciale directement en C : manipuler "
+"les piles de l'éditeur, insérer du « leading "
+"text », lire et écrire des fichiers, réafficher la "
+"pile à l'écran, gérer les fenêtres de l'é"
+"diteur."
+
+# type: Content of: <p>
+msgid ""
+"Now, this was not the first Emacs that was written in C and ran on Unix. The "
+"first was written by James Gosling, and was referred to as GosMacs. A "
+"strange thing happened with him. In the beginning, he seemed to be "
+"influenced by the same spirit of sharing and cooperation of the original "
+"Emacs. I first released the original Emacs to people at <abbr>MIT</abbr>. "
+"Someone wanted to port it to run on Twenex — 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."
+msgstr ""
+"Maintenant, ce n'était pas le premier Emacs écrit en C et "
+"fonctionnant sous Unix. Le premier a été écrit par "
+"James Gosling, et était appelé GosMac. Une chose é"
+"trange lui est arrivée. Au début, il semblait être "
+"influencé par le même esprit de partage et de coopé"
+"ration que celui de l'Emacs original. J'ai d'abord distribué l'Emacs "
+"original aux gens du M.I.T. Quelqu'un voulait le porter pour le faire "
+"fonctionner sur Twenex : il fonctionnait à l'origine sur "
+"l'Incompatible Timesharing System que nous utilisions au M.I.T. Ils l'ont "
+"porté sur Twenex, ce qui signifiait qu'il y avait quelques centaines "
+"d'installations dans le monde qui pouvaient potentiellement l'utiliser. Nous "
+"avons commencé à le leur distribuer, avec la règle que "
+"« vous aviez à renvoyer toutes vos amé"
+"liorations » pour que tout le monde en bénéficie. "
+"Personne n'a jamais essayé de surveiller son application, mais "
+"à ce que j'en sais les gens ont coopéré."
+
+# type: Content of: <p>
+msgid ""
+"Gosling did, at first, seem to participate in this spirit. He wrote in a "
+"manual that he called the program Emacs hoping that others in the community "
+"would improve it until it was worthy of that name. That's the right approach "
+"to take towards a community — to ask them to join in and make the "
+"program better. But after that he seemed to change the spirit, and sold it "
+"to a company."
+msgstr ""
+"Gosling avait l'air, au début, de participer à cet esprit. Il "
+"a écrit dans un manuel qu'il appelait le programme Emacs espé"
+"rant que d'autres dans la communauté l'améliore jusqu'à "
+"ce qu'il soit digne de ce nom. C'est la bonne approche pour créer une "
+"communauté : leur demander de se joindre et de participer "
+"à améliorer le programme. Mais après cela il a "
+"apparemment changé d'esprit, et a vendu le programme à une "
+"entreprise."
+
+# type: Content of: <p>
+msgid ""
+"At that time I was working on the GNU system (a free software Unix-like "
+"operating system that many people erroneously call “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."
+msgstr ""
+"À ce moment-là je travaillais sur le système GNU (un "
+"système d'exploitation libre de type Unix que beaucoup de personnes "
+"nomment par erreur « Linux »). Il n'y avait pas "
+"d'éditeur Emacs libre qui fonctionnait sur Unix. J'avais par contre "
+"un ami qui avait participé au développement de l'Emacs de "
+"Gosling. Gosling lui avait donné, par courriel, la permission de "
+"distribuer sa propre version. Il a proposé que j'utilise cette "
+"version. Puis j'ai découvert que l'Emacs de Gosling n'avait pas "
+"réellement de Lisp. Il avait un langage de programmation connu sous "
+"le nom de « mocklisp », qui ressemblait pour la "
+"syntaxe à Lisp, mais n'avait pas les structures de données de "
+"Lisp. Donc les programmes n'étaient pas des données, et des "
+"éléments vitaux de Lisp manquaient. Ses structures de "
+"données étaient les chaînes de caractères, les "
+"nombres et quelques autres choses spécialisées."
+
+# type: Content of: <p>
+msgid ""
+"I concluded I couldn't use it and had to replace it all, the first step of "
+"which was to write an actual Lisp interpreter. I gradually adapted every "
+"part of the editor based on real Lisp data structures, rather than ad hoc "
+"data structures, making the data structures of the internals of the editor "
+"exposable and manipulable by the user's Lisp programs."
+msgstr ""
+"J'ai conclu que je ne pouvais pas l'utiliser et que j'avais à tout "
+"remplacer, en commençant par écrire un vrai interpré"
+"teur Lisp. J'ai progressivement adapté toutes les parties de "
+"l'éditeur aux structures de données du vrai Lisp, plutôt "
+"qu'à des structures de données ad hoc, rendant les structures "
+"de données des parties internes de l'éditeur exposables et "
+"manipulables par les programmes Lisp des utilisateurs."
+
+# type: Content of: <p>
+msgid ""
+"The one exception was redisplay. For a long time, redisplay was sort of an "
+"alternate world. The editor would enter the world of redisplay and things "
+"would go on with very special data structures that were not safe for garbage "
+"collection, not safe for interruption, and you couldn't run any Lisp "
+"programs during that. We've changed that since — it's now possible to "
+"run Lisp code during redisplay. It's a quite a convenient thing."
+msgstr ""
+"L'unique exception était l'affichage. Pendant longtemps, le ré"
+"affichage était une sorte d'autre planète. L'éditeur "
+"entrait le mot pour réaffichage, et les choses continuaient avec des "
+"structures de données très spéciales qui n'é"
+"taient pas sûres pour l'interception des messages d'erreurs, pas "
+"sûres pour les interruptions, et vous ne pouviez lancer aucun "
+"programme Lisp pendant ce temps-là. Nous avons changé ç"
+"a depuis : il est maintenant possible de lancer du code Lisp pendant le "
+"réaffichage. C'est quelque chose d'assez pratique."
+
+# type: Content of: <p>
+msgid ""
+"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."
+msgstr ""
+"Ce second programme Emacs était du « logiciel libre "
+"» dans le sens moderne du terme : il faisait partie d'une "
+"campagne politique explicite pour libérer le logiciel. L'essence de "
+"cette campagne était que n'importe qui devrait ê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 : l'expé"
+"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 être en travers du chemin de qui "
+"que ce soit, et de disséminer de plus en plus le savoir."
+
+# type: Content of: <p>
+msgid ""
+"At the time, you could make a computer that was about the same price range "
+"as other computers that weren't meant for Lisp, except that it would run "
+"Lisp much faster than they would, and with full type checking in every "
+"operation as well. Ordinary computers typically forced you to choose between "
+"execution speed and good typechecking. So yes, you could have a Lisp "
+"compiler and run your programs fast, but when they tried to take <tt>car</"
+"tt> of a number, it got nonsensical results and eventually crashed at some "
+"point."
+msgstr ""
+"À cette époque, vous pouviez faire un ordinateur dans le "
+"même ordre de prix que d'autres non conçus pour Lisp, sauf "
+"qu'il ferait fonctionner Lisp beaucoup plus rapidement qu'ils ne le "
+"feraient, et avec en plus vérification complète de type. Les "
+"ordinateurs ordinaires vous forçaient typiquement à choisir "
+"entre vitesse d'exécution et bonne vérification de type. Donc "
+"oui, vous pouviez avoir un compilateur Lisp et faire fonctionner vos "
+"programmes rapidement, mais quand ils essayaient de prendre le « "
+"car » d'un nombre, il sortaient des résultats "
+"insensés et finalement plantaient au bout d'un moment."
+
+# type: Content of: <p>
+msgid ""
+"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."
+msgstr ""
+"La machine Lisp était capable d'exécuter des instructions "
+"presque aussi vite que ces autres machines, mais pour toutes les "
+"instructions (une instruction<tt>car</tt> fait de la vérification de "
+"type), donc quand vous essayiez d'obtenir le « car » "
+"d'un nombre dans un programme compilé, vous obteniez immé"
+"diatement l'erreur. Nous construisions la machine et avions un systè"
+"me d'exploitation Lisp pour elle. Il était presque entièrement "
+"écrit en Lisp, les seules exceptions étant certaines parties "
+"écrites dans le micro code. Des gens ont porté de l'inté"
+"rêt à leur fabrication, ce qui signifie qu'ils allaient lancer "
+"une entreprise."
+
+# type: Content of: <p>
+msgid ""
+"There were two different ideas about what this company should be like. "
+"Greenblatt wanted to start what he called a “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-1\">(1)</a>. Unfortunately, Greenblatt didn't have any business "
+"experience, so other people in the Lisp machine group said they doubted "
+"whether he could succeed. They thought that his plan to avoid outside "
+"investment wouldn't work."
+msgstr ""
+"Il y avait deux idées différentes à propos de comment "
+"cette société devrait être. Greenblatt voulait lancer ce "
+"qu'il appelait une entreprise de « hacker ». Cela "
+"signifie qu'il voulait une entreprise dirigée par des hackers et qui "
+"fonctionnerait d'une manière favorable aux hackers. Un autre but "
+"était de maintenir la culture du labo d'I.A. <a href=\"#foot-1\">(1)</"
+"a>. Malheureusement, Greenblatt n'avait aucune expérience des "
+"affaires, donc d'autres personnes dans le groupe de la machine Lisp ont dit "
+"qu'ils doutaient qu'il puisse réussir. Ils pensaient que son plan "
+"pour éviter les investissements extérieurs ne marcherait pas."
+
+# type: Content of: <p>
+msgid ""
+"Why did he want to avoid outside investment? Because when a company has "
+"outside investors, they take control and they don't let you have any "
+"scruples. And eventually, if you have any scruples, they also replace you as "
+"the manager."
+msgstr ""
+"Pourquoi voulait-il éviter les investissements exté"
+"rieurs ? Parce que quand une entreprise a des investisseurs exté"
+"rieurs, ils prennent le contrôle, et ne vous laissent pas avoir le "
+"moindre scrupule. Et finalement, si vous avez des scrupules, ils vous "
+"remplacent également en tant que directeur."
+
+# type: Content of: <p>
+msgid ""
+"So Greenblatt had the idea that he would find a customer who would pay in "
+"advance to buy the parts. They would build machines and deliver them; with "
+"profits from those parts, they would then be able to buy parts for a few "
+"more machines, sell those and then buy parts for a larger number of "
+"machines, and so on. The other people in the group thought that this "
+"couldn't possibly work."
+msgstr ""
+"Donc Greenblatt avait l'idée qu'il trouverait un client prêt "
+"à payer en avance pour acheter les composants. Ils construiraient les "
+"machines et les livreraient : avec le bénéfice ré"
+"alisé, 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."
+
+# type: Content of: <p>
+msgid ""
+"Greenblatt then recruited Russell Noftsker, the man who had hired me, who "
+"had subsequently left the AI Lab and created a successful company. Russell "
+"was believed to have an aptitude for business. He demonstrated this aptitude "
+"for business by saying to the other people in the group, “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."
+msgstr ""
+"Greenblatt a ensuite recruté Russel Noftsker, la personne qui m'avait "
+"engagé, et qui avait entre temps quitté le Labo d'I.A. et "
+"monté une entreprise florissante. Russel passait pour avoir des "
+"capacité pour les affaires. Il a démontré cette "
+"capacité pour les affaires en disant aux autres membres du "
+"groupe : « jetons Greenblatt, oublions son idée, et "
+"faisons une autre entreprise ». Poignarder dans le dos, "
+"clairement un vrai homme d'affaires. Ces personnes décidèrent "
+"qu'elles formeraient une société nommée Symbolics. Ils "
+"chercheraient des investissements extérieurs, n'auraient aucun "
+"scrupule, et feraient tout leur possible pour gagner."
+
+# type: Content of: <p>
+msgid ""
+"But Greenblatt didn't give up. He and the few people loyal to him decided to "
+"start Lisp Machines Inc. anyway and go ahead with their plans. And what do "
+"you know, they succeeded! They got the first customer and were paid in "
+"advance. They built machines and sold them, and built more machines and more "
+"machines. They actually succeeded even though they didn't have the help of "
+"most of the people in the group. Symbolics also got off to a successful "
+"start, so you had two competing Lisp machine companies. When Symbolics saw "
+"that LMI was not going to fall flat on its face, they started looking for "
+"ways to destroy it."
+msgstr ""
+"Mais Greenblatt n'a pas abandonné. Lui et les quelques personnes qui "
+"lui étaient restées loyales décidèrent de lancer "
+"tout de même Lisp Machines Inc. et de continuer sur leur plan "
+"original. Et devinez quoi, ils ont réussi ! Ils ont "
+"trouvé leur premier client et ont été payés en "
+"avance. Ils ont construit leurs machines et les ont vendues, construit plus "
+"de machines et encore plus. Ils ont effectivement réussi alors "
+"même qu'ils n'avaient pas l'aide de la plupart des personnes du "
+"groupe. Symbolics a aussi eu un départ réussi, donc vous aviez "
+"deux entreprises concurrentes de machines Lisp. Quand Symbolics a vu que LMI "
+"n'allait pas s'écrouler, ils ont commencé à chercher "
+"des moyens de le détruire."
+
+# type: Content of: <p>
+msgid ""
+"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."
+msgstr ""
+"Donc, l'abandon de notre labo fut suivi par une « guerre "
+"» dans notre labo. L'abandon s'est fait quand Symbolics a dé"
+"bauché tous les hackers, à l'exception de moi et des quelques-"
+"uns qui travaillaient à LMI à temps partiel. Puis ils ont "
+"invoqué une règle et éliminé les gens "
+"travaillant à temps partiel pour le M.I.T., les forçant "
+"à le quitter entièrement, ce qui m'a laissé seul. Le "
+"Labo d'I.A. était maintenant impuissant. Et le M.I.T. a passé "
+"un arrangement absurde avec ces deux entreprises. C'était un contrat "
+"entre eux trois dans lequel chaque entreprise licenciait l'utilisation des "
+"sources des systèmes de machine Lisp. Ces entreprises étaient "
+"forcé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èmes de machine Lisp que les deux entreprises "
+"avaient licenciées. Personne ne s'était rendu compte que le "
+"groupe de hacker du Labo d'I.A. avait disparu, mais c'était le cas."
+
+# type: Content of: <p>
+msgid ""
+"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.”"
+msgstr ""
+"Donc Symbolics à eu une idée <a href=\"#foot-4\">(4)</a>. Ils "
+"ont dit au labo : « Nous continuerons à mettre "
+"à votre disposition nos modifications du système pour votre "
+"utilisation, mais vous ne pouvez les utiliser dans le système de "
+"machine Lisp du M.I.T. À la place, nous vous donnerons accès "
+"au système de machine Lisp de Symbolics, et vous pourrez l'utiliser, "
+"mais c'est tout ce que vous pourrez faire »."
+
+# type: Content of: <p>
+msgid ""
+"This, in effect, meant that they demanded that we had to choose a side, and "
+"use either the <abbr>MIT</abbr> version of the system or the Symbolics "
+"version. Whichever choice we made determined which system our improvements "
+"went to. If we worked on and improved the Symbolics version, we would be "
+"supporting Symbolics alone. If we used and improved the <abbr>MIT</abbr> "
+"version of the system, we would be doing work available to both companies, "
+"but Symbolics saw that we would be supporting LMI because we would be "
+"helping them continue to exist. So we were not allowed to be neutral anymore."
+msgstr ""
+"Ceci, en pratique, voulait dire qu'ils demandaient que nous choisissions un "
+"camp, et utilisions soit la version du système du M.I.T., soit la "
+"version de Symbolics. Quel que soit notre choix cela déterminait "
+"à quel système iraient nos améliorations. Si nous "
+"travaillions et améliorions la version de Symbolics, nous "
+"soutiendrions uniquement Symbolics. Si nous utilisions et améliorions "
+"la version M.I.T. du système, nous réaliserions du travail "
+"disponible pour les deux entreprises, mais Symbolics verrait que nous "
+"soutiendrions LMI puisque nous les aiderions à exister. Donc nous ne "
+"pouvions plus rester neutres."
+
+# type: Content of: <p>
+msgid ""
+"Up until that point, I hadn't taken the side of either company, although it "
+"made me miserable to see what had happened to our community and the "
+"software. But now, Symbolics had forced the issue. So, in an effort to "
+"help keep Lisp Machines Inc. going <a href=\"#foot-2\">(2)</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)."
+msgstr ""
+"Jusqu'à ce moment, je n'avais pris parti pour aucune des deux "
+"entreprises, bien que cela me rendait malheureux de voir ce qui était "
+"arrivé à notrecommunauté et au logiciel. Mais "
+"maintenant, Symbolics avait forcé le problème. Donc, dans un "
+"effort pour aider à faire continuer Lisp Machines Inc. <a href="
+"\"#foot-2\">(2)</a>, j'ai commencé à dupliquer toutes les "
+"améliorations que Symbolics avait fait au système machine "
+"Lisp. J'ai écrit les améliorations équivalentes "
+"à neuf moi-même (c'est-à-dire avec mon propre code)."
+
+# type: Content of: <p>
+msgid ""
+"After a while <a href=\"#foot-3\">(3)</a>, I came to the conclusion that it "
+"would be best if I didn't even look at their code. When they made a beta "
+"announcement that gave the release notes, I would see what the features were "
+"and then implement them. By the time they had a real release, I did too."
+msgstr ""
+"Au bout d'un moment <a href=\"#foot-3\">(3)</a>, je suis arrivé "
+"à la conclusion que cela irait mieux si je ne regardais même "
+"pas leur code. Quand ils annonçaient une version bêta qui "
+"donnait les notes de versions, je pouvais voir quelles allaient être "
+"les fonctionnalités et les implémenter moi-même. Au "
+"moment où ils avaient une vraie version, j'avais la mienne é"
+"galement."
+
+# type: Content of: <p>
+msgid ""
+"In this way, for two years, I prevented them from wiping out Lisp Machines "
+"Incorporated, and the two companies went on. But, I didn't want to spend "
+"years and years punishing someone, just thwarting an evil deed. I figured "
+"they had been punished pretty thoroughly because they were stuck with "
+"competition that was not leaving or going to disappear<a href=\"#foot-6\">(6)"
+"</a>. Meanwhile, it was time to start building a new community to replace "
+"the one that their actions and others had wiped out."
+msgstr ""
+"De cette façon, et pendant deux ans, je les ai empêchés "
+"d'écraser Lisp Machines Incorporated, et les deux entreprises ont "
+"continué d'exister. Mais je ne voulais pas passer des années "
+"et des années à punir quelqu'un, uniquement à contrer "
+"une entreprise maléfique. J'imagine qu'ils ont été "
+"punis assez sévèrement parce qu'ils étaient "
+"bloqués avec de la concurrence qui n'avait ni l'intention de laisser "
+"tomber ni ne risquait de disparaître <a href=\"#foot-6\">(6)</a>. "
+"Entre temps, il était temps de commencer à bâtir une "
+"nouvelle communauté pour remplacer l'autre que leurs actions et "
+"d'autres avait rayé de la carte."
+
+# type: Content of: <p>
+msgid ""
+"The Lisp community in the 70s was not limited to the <abbr>MIT</abbr> AI "
+"Lab, and the hackers were not all at <abbr>MIT</abbr>. The war that "
+"Symbolics started was what wiped out <abbr>MIT</abbr>, but there were other "
+"events going on then. There were people giving up on cooperation and "
+"together, this wiped out the community and there wasn't much left."
+msgstr ""
+"La communauté Lisp des années 70 n'était pas "
+"limité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ée fut ce qui anéanti "
+"(la communauté au) M.I.T., mais il y avait d'autres évé"
+"nements en cours au même moment. Il y avait des gens qui abandonnaient "
+"la coopération, et tout cela détruisait la communauté, "
+"et il n'en restait pas grand chose."
+
+# type: Content of: <p>
+msgid ""
+"Once I stopped punishing Symbolics, I had to figure out what to do next. I "
+"had to make a free operating system, that was clear — the only way "
+"that people could work together and share was with a free operating system."
+msgstr ""
+"Après avoir arrêté de punir Symbolics, il a fallu "
+"réfléchir à quoi faire ensuite. Il fallait que je fasse "
+"un système d'exploitation libre, c'était clair : la seule "
+"façon de faire travailler des gens ensemble et de les faire partager "
+"était avec un système d'exploitation libre."
+
+# type: Content of: <p>
+msgid ""
+"At first, I thought of making a Lisp-based system, but I realized that "
+"wouldn't be a good idea technically. To have something like the Lisp machine "
+"system, you needed special purpose microcode. That's what made it possible "
+"to run programs as fast as other computers would run their programs and "
+"still get the benefit of typechecking. Without that, you would be reduced to "
+"something like the Lisp compilers for other machines. The programs would be "
+"faster, but unstable. Now that's okay if you're running one program on a "
+"timesharing system — if one program crashes, that's not a disaster, "
+"that's something your program occasionally does. But that didn't make it "
+"good for writing the operating system in, so I rejected the idea of making a "
+"system like the Lisp machine."
+msgstr ""
+"Au début, j'ai pensé faire un système basé sur "
+"Lisp, mais j'ai réalisé que techniquement ce n'était "
+"pas une très bonne idée. Pour avoir quelque chose comme le "
+"système machine Lisp, vous aviez besoin de micro code à but "
+"spé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ême le bénéfice de la "
+"vérification de type. Sans cela, vous seriez réduit à "
+"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ème à partage "
+"de temps : si un programme plante, ce n'est pas un désastre, "
+"c'est quelque chose que les programmes font occasionnellement. Mais cela ne "
+"le rendait pas bon pour écrire le système d'exploitation de "
+"cette façon, donc j'ai rejeté l'idée de faire un "
+"système comme la machine Lisp."
+
+# type: Content of: <p>
+msgid ""
+"I decided instead to make a Unix-like operating system that would have Lisp "
+"implementations to run as user programs. The kernel wouldn't be written in "
+"Lisp, but we'd have Lisp. So the development of that operating system, the "
+"GNU operating system, is what led me to write the GNU Emacs. In doing this, "
+"I aimed to make the absolute minimal possible Lisp implementation. The size "
+"of the programs was a tremendous concern."
+msgstr ""
+"J'ai décidé de faire un système d'exploitation de type "
+"Unix qui aurait des implémentations Lisp qui fonctionneraient en tant "
+"que programmes utilisateurs. Le noyau ne serait pas écrit en Lisp, "
+"mais nous aurions Lisp. Donc le développement de ce système "
+"d'exploitation, le système d'exploitation GNU, est ce qui m'a "
+"amené à écrire GNU Emacs. En faisant cela, j'ai "
+"cherché à faire le minimum d'implémentation Lisp "
+"possible. La taille des programmes était un souci énorme."
+
+# type: Content of: <p>
+msgid ""
+"There were people in those days, in 1985, who had one-megabyte machines "
+"without virtual memory. They wanted to be able to use GNU Emacs. This meant "
+"I had to keep the program as small as possible."
+msgstr ""
+"Il y avait des gens à cette époque, en 1985, qui avaient des "
+"machines d'un megaoctet sans mémoire virtuelle. Ils voulaient pouvoir "
+"utiliser GNU Emacs. Cequi signifie qu'il fallait que je garde le programme "
+"aussi petit que possible."
+
+# type: Content of: <p>
+msgid ""
+"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."
+msgstr ""
+"Par exemple, à ce moment-là, la seule construction de boucle "
+"était « while », qui était extrê"
+"mement simple. Il n'y avait pas de moyen de sortir de cette boucle «"
+" while », vous ne pouviez faire qu'un « "
+"catch » et un « throw », ou tester une "
+"variable dans la boucle. Cela montre à 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 : simplifier au maximum "
+"était l'esprit de GNU Emacs, l'esprit de Emacs Lisp, depuis le "
+"début."
+
+# type: Content of: <p>
+msgid ""
+"Obviously, machines are bigger now, and we don't do it that way anymore. 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. They "
+"don't seem quite Lispy to me; I'll do it sometimes but I minimize the times "
+"when I do that."
+msgstr ""
+"Évidemment les machines sont plus grosses maintenant, et nous ne le "
+"faisons plus de cette façon. Nous utilisons <tt>caar</tt> et "
+"<tt>cadr</tt> et caetera, et nous pourrions intégrer une autre "
+"construction de boucle un de ces jours. Nous sommes favorables à "
+"l'étendre un peu maintenant, mais nous ne voulons pas l'é"
+"tendre au niveau du Common Lisp. Une chose que je n'aime pas é"
+"normément sont les arguments mot-clefs. Il ne me semblent pas "
+"très Lisp : je le fais de temps à autre mais je minimise "
+"les fois où je le fais."
+
+# type: Content of: <p>
+msgid ""
+"That was not the end of the GNU projects involved with Lisp. Later on around "
+"1995, we were looking into starting a graphical desktop project. It was "
+"clear that for the programs on the desktop, we wanted a programming language "
+"to write a lot of it in to make it easily extensible, like the editor. The "
+"question was what it should be."
+msgstr ""
+"Ce n'était pas la fin de l'implication du projet GNU avec Lisp. Plus "
+"tard vers 1995, nous pensions à lancer un projet de bureau graphique. "
+"Il était clair que pour les programmes du bureau, nous voulions un "
+"langage de programmation afin d'en écrire une grande partie et de le "
+"rendre facilement extensible, comme l'éditeur. La question é"
+"tait lequel choisir."
+
+# type: Content of: <p>
+msgid ""
+"At the time, <acronym title=\"Tool Command Language\">TCL</acronym> was "
+"being pushed heavily for this purpose. I had a very low opinion of "
+"<acronym>TCL</acronym>, basically because it wasn't Lisp. It looks a tiny "
+"bit like Lisp, but semantically it isn't, and it's not as clean. Then "
+"someone showed me an ad where Sun was trying to hire somebody to work on "
+"<acronym>TCL</acronym> to make it the “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."
+msgstr ""
+"À ce moment, TCL était largement mis en avant pour ce genre "
+"d'applications. J'avais une très mauvaise opinion de TCL, avant tout "
+"parce que ce n'était pas du Lisp. Cela ressemblait un peu à "
+"Lisp, mais pas au niveau sémantique, et ce n'est pas aussi propre. "
+"Puis quelqu'un m'a montré une publicité dans laquelle Sun "
+"essayait de recruter quelqu'un pour travailler sur TCL afin de le rendre "
+"« de facto langage d'extension standard » mondial. Et "
+"j'ai pensé : « Nous devons empêcher cela "
+"». Donc nous avons commencé à rendre Scheme le langage "
+"d'extension standard pour GNU. Pas Common Lisp parce qu'il était trop "
+"gros. L'idée était d'avoir un interpréteur Scheme "
+"conçu pour être lié à des applications de la "
+"même manière que TCL était lié à d'autres "
+"applications. Nous allions donc recommander qu'il soit le paquet pour "
+"extension préféré pour tous les programmes GNU."
+
+# type: Content of: <p>
+msgid ""
+"There's an interesting benefit you can get from using such a powerful "
+"language as a version of Lisp as your primary extensibility language. You "
+"can implement other languages by translating them into your primary "
+"language. If your primary language is <acronym>TCL</acronym>, you can't very "
+"easily implement Lisp by translating it into <acronym>TCL</acronym>. But if "
+"your primary language is Lisp, it's not that hard to implement other things "
+"by translating them. Our idea was that if each extensible application "
+"supported Scheme, you could write an implementation of <acronym>TCL</"
+"acronym> or Python or Perl in Scheme that translates that program into "
+"Scheme. Then you could load that into any application and customize it in "
+"your favorite language and it would work with other customizations as well."
+msgstr ""
+"Il y a un bénéfice intéressant à utiliser un "
+"langage si puissant en tant que version de Lisp pour votre langage "
+"d'extension primaire. Vous pouvezimplémenter d'autres langages en les "
+"traduisant dans votre langage primaire. Si votre langage primaire é"
+"tait TCL, vous ne pourriez implémenter facilement Lisp en le "
+"traduisant en TCL. Mais si votre langage primaire est Lisp, il n'est pas "
+"difficile d'implémenter d'autres choses en les traduisant. Notre "
+"idée était que si chaque application extensible acceptait "
+"Scheme, vous pourriez écrire une implé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 également avec d'autres "
+"configurations."
+
+# type: Content of: <p>
+msgid ""
+"As long as the extensibility languages are weak, the users have to use only "
+"the language you provided them. Which means that people who love any given "
+"language have to compete for the choice of the developers of applications "
+"— 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."
+msgstr ""
+"Tant que l'extensibilité 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éveloppeurs d'application : «"
+" S'il vous plaît Monsieur le développeurd'applications, "
+"incluez mon langage dans votre application, pas le sien ». Puis "
+"les autres utilisateurs n'ont plus le choix : quelle que soit "
+"l'application qu'ils utilisent, elle arrive avec un langage et ils sont "
+"limités à ce langage. Mais quand vous avez un langage puissant "
+"qui peux implémenter les autres en lestraduisant, alors vous donnez "
+"aux utilisateurs le choix du langage et vous n'avez plus de guerre des "
+"langages du tout. Nous espérons que c'est ce que fera « "
+"Guile », notre interpréteur Scheme. Nous avions une "
+"personne travaillant l'été dernier à finir un "
+"traducteur de Python vers Scheme. Je ne sais pas s'il est entièrement "
+"fini maintenant, mais si quelqu'un est intéressé par ce "
+"projet, contactez-moi. Donc c'est notre plan pour le futur."
+
+# type: Content of: <p>
+msgid ""
+"I haven't been speaking about free software, but let me briefly tell you a "
+"little bit about what that means. Free software does not refer to price; it "
+"doesn't mean that you get it for free. (You may have paid for a copy, or "
+"gotten a copy gratis.) It means that you have freedom as a user. The crucial "
+"thing is that you are free to run the program, free to study what it does, "
+"free to change it to suit your needs, free to redistribute the copies of "
+"others and free to publish improved, extended versions. This is what free "
+"software means. If you are using a non-free program, you have lost crucial "
+"freedom, so don't ever do that."
+msgstr ""
+"Je n'ai pas parlé de logiciel libre, mais laissez-moi vous dire "
+"rapidement un petit peu ce que cela veut dire. Le logiciel libre ne se "
+"réfère pas à un prix, cela ne veut pas dire que vous "
+"l'obtiendrez gratuitement. (Vous pouvez avoir à payer pour une copie, "
+"ou bien vous pouvez l'obtenir gratuitement.) Cela signifie que vous ê"
+"tes libre en tant qu'utilisateur. La chose capitale est que vous êtes "
+"libre d'utilisez le programme, libre d'étudier ce qu'il fait, libre "
+"de le modifier pour s'adapter à vos besoins, libre de redistribuer "
+"des copies aux autres et libre de publier des versions amélioré"
+"es ou étendues. C'est ce que signifie logiciel libre. Si vous "
+"utilisez des logiciels non-libres, vous perdez cette liberté "
+"capitale, donc ne le faites jamais."
+
+# type: Content of: <p>
+msgid ""
+"The purpose of the GNU project is to make it easier for people to reject "
+"freedom-trampling, user-dominating, non-free software by providing free "
+"software to replace it. For those who don't have the moral courage to reject "
+"the non-free software, when that means some practical inconvenience, what we "
+"try to do is give a free alternative so that you can move to freedom with "
+"less of a mess and less of a sacrifice in practical terms. The less "
+"sacrifice the better. We want to make it easier for you to live in freedom, "
+"to cooperate."
+msgstr ""
+"Le but du projet GNU est de rendre facile pour les gens de rejeter les "
+"logiciels dominateurs d'utilisateurs, piétineurs de liberté, "
+"non-libres, en mettant à 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énient pratique, nous "
+"essayons de donner une alternative libre pour que vous puissiez vous "
+"libé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ération."
+
+# type: Content of: <p>
+msgid ""
+"This is a matter of the freedom to cooperate. We're used to thinking of "
+"freedom and cooperation with society as if they are opposites. But here "
+"they're on the same side. With free software you are free to cooperate with "
+"other people as well as free to help yourself. With non-free software, "
+"somebody is dominating you and keeping people divided. You're not allowed to "
+"share with them, you're not free to cooperate or help society, anymore than "
+"you're free to help yourself. Divided and helpless is the state of users "
+"using non-free software."
+msgstr ""
+"C'est un problème de faire coopérer pour la liberté. "
+"Nous avons l'habitude pour la société de penser à la "
+"liberté et à la coopération en tant qu'opposés. "
+"Mais elles sont dans le même camp. Avec le logiciel libre vous ê"
+"tes libres de coopérer avec d'autres personnes et êtes libre de "
+"vous aider vous-même. Avec le logiciel non-libre, quelqu'un vous "
+"domine et tient les gens divisés. Vous n'êtes pas "
+"autorisés à partager avec eux, vous n'êtes pas libres de "
+"coopérer avec ou d'aider la société, pas plus que vous "
+"n'êtes autorisés à vous aider vous-même. "
+"Divisés et impuissants, voilà l'état des utilisateurs "
+"de logiciel non libre."
+
+# type: Content of: <p>
+msgid ""
+"We've produced a tremendous range of free software. We've done what people "
+"said we could never do; we have two operating systems of free software. We "
+"have many applications and we obviously have a lot farther to go. So we need "
+"your help. I would like to ask you to volunteer for the GNU project; help us "
+"develop free software for more jobs. Take a look at <a href=\"/help/"
+"\">http://www.gnu.org/help</a> to find suggestions for how to help. If you "
+"want to order things, there's a link to that from the home page. If you want "
+"to read about philosophical issues, look in /philosophy. If you're looking "
+"for free software to use, look in /directory, which lists about 1900 "
+"packages now (which is a fraction of all the free software out there). "
+"Please write more and contribute to us. My book of essays, “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!"
+msgstr ""
+"Nous avons produit une variété énorme de logiciels "
+"libres. Nous avons fait ce que les gens disaient que nous n'arriverions "
+"jamais, nous avons deuxsystèmes d'exploitation en logiciels libres. "
+"Nous avons de nombreuses applications et évidemment avons encore "
+"beaucoup à faire. Donc nous avonsbesoin de votre aide. J'aimerais "
+"vous demander d'être volontaire pour le projet GNU, aidez-nous "
+"à développer le logiciel libre pour plus de travail. Allezvoir "
+"sur <a href=\"/help/\">http://www.gnu.org/help</a> pour trouver des "
+"suggestions sur la manière de nous aider. Si vous voulez commander "
+"des choses, il y a un lien pour cela sur cette page. Si vous voulez lire "
+"à propos des questions philosophiques, allez voir dans /philosophy. "
+"Si vous cherchez des logiciels libres à utiliser, allez voir dans /"
+"directory, qui liste environ 1900 paquets maintenant (ce qui repré"
+"sente une fraction de tout le logiciel libre existant). S'il vous plaî"
+"t, écrivez-en plus et contribuez. Mon livre d'essais, « "
+"Free Software and Free Society » (Logiciel libre et socié"
+"té libre), est en vente et peut être acheté sur <a href="
+"\"http://www.gnu.org/\">www.gnu.org</a>. Happy hacking! (Codez "
+"joyeusement !)."
# type: Content of: <div>
#. TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.
@@ -217,44 +1126,132 @@
msgstr " "
# type: Content of: <p>
-msgid "<a name=\"foot-1\">(1)</a> Greenblatt's plan, as I understood it, was
to hire lab people part time, so that they could continue working at the AI
Lab. Symbolics hired them full time instead, so they stopped working at MIT."
-msgstr "<a name=\"foot-1\">(1)</a> Le plan de Greenblatt, à ce que j'en
ai compris, était d'engager les gens du laboratoire à temps
partiel, afin qu'ils puissent continuer à travailler au Labo d'I.A..
Symbolics les a engagé à temps plein à la place, donc ils
ont arrêté de travailler au M.I.T."
-
-# type: Content of: <p>
-msgid "<a name=\"foot-2\">(2)</a> It was not that I cared particularly about
the fate of LMI, but rather I did not want to let Symbolics gain through its
aggression against the AI Lab."
-msgstr "<a name=\"foot-2\">(2)</a> Ce n'était pas que le sort de LMI
m'intéresse particulièrement, mais plutôt je ne voulais pas
laisser Symbolics gagner parson aggression contre le labo d'I.A."
-
-# type: Content of: <p>
-msgid "<a name=\"foot-3\">(3)</a> This statement has been misconstrued as
saying that I never, ever looked at Symbolics' code. Actually it says I did."
-msgstr "<a name=\"foot-3\">(3)</a> Cette phrase a été mal
interprétée, selon quoi je n'aurais jamais, jamais jeté un
œil sur le code de Symbolics. En réalité, je l'ai fait."
-
-# type: Content of: <p>
-msgid "The Symbolics source code was available at MIT, where I was entitled to
read it, and at first that's how I found out about their changes. But that
meant I had to make extra effort to solve each problem differently, in order to
avoid copying Symbolics code. After a while, I concluded it was better not to
even look. That way I could write code in whatever way was best, without
concern for what was in Symbolics' code."
-msgstr "Le code source de Symbolics était disponible au M.I.T.,
où j'étais en droit de le lire, et au début c'est ainsi
que je me suis rendu compte de leurschangements. Mais cela signifie que j'avais
l'effort supplémentaire de résoudre chaque problème
différemment, pour éviter de copier le code Symbolics.
Après un moment, j'ai conclu que c'était mieux de ne pas le
regarder du tout. De cette façon, je pouvais écrire le code de la
meilleure façon, sans me soucier de ce qui était dans le code
Symbolics."
-
-# type: Content of: <p>
-msgid "<a name=\"foot-4\">(4)</a> 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."
-msgstr "<a name=\"foot-4\">(4)</a> L'arrière pensée de ce plan,
que je n'ai pas explicité dans le discours, est que durant cette
période initiale les ex hackers du labo d'I.A., que ce soit chez
Symbolics ou chez LMI, ont continué à faire contribuer leurs
modifications au système machine Lisp du M.I.T., bien que le contrat ne
l'exigeait pas. Le plan de Symbolics était de briser cette
coopération unilatéralement."
-
-# type: Content of: <p>
-msgid "<a name=\"foot-5\">(5)</a> Bernie Greenberg says that Dan Weinreb's
implementation of Emacs for the Lisp Machine came before Greenberg's
implementation for Multics. I apologize for the mistake."
-msgstr "<a name=\"foot-5\">(5)</a> Bernie Greenberg dit que
l'implémentation de Dan Weinberg d'Emacs pour la machine Lisp est
arrivée avant l'implémentation deGreenberg pour Multics. Je
m'excuse pour cette erreur."
-
-# type: Content of: <p>
-msgid "<a name=\"foot-6\">(6)</a> Symbolics at one point protested to MIT that
my work, by thwarting their plan, had cost Symbolics a million dollars."
-msgstr "<a name=\"foot-6\">(6)</a> Symbolics a à un moment
protesté au M.I.T. que mon travail, en contrant leur plan, avait
couté à Symbolics un million de dollars."
-
-# type: Content of: <p>
-msgid "<a name=\"foot-7\">(7)</a> Guy Steele designed the original symmetrical
Emacs command set; then he and I began implementing Emacs (on top of TECO), but
after one long joint development session, Steele began drifting away, so I
finished Emacs. Others particularly including Eugene C. Cicciarelli and Mike
McMahon contributed substantially later on."
-msgstr "<a name=\"foot-7\">(7)</a> Guy Steele a conçu la
bibliothèque de commande de l'Emacs symétrique original, puis lui
et moi avons commencé à implémenter Emacs (par dessus
TECO), mais après une longue session de développement conjointe,
Steele a commencé à s'éloigner, donc j'ai fini Emacs.
D'autres incluant particulièrement Eugene C. Cicciarelli et Mike McMahon
ont par la suite contribué de manière substantielle."
+msgid ""
+"<a name=\"foot-1\">(1)</a> Greenblatt's plan, as I understood it, was to "
+"hire lab people part time, so that they could continue working at the AI "
+"Lab. Symbolics hired them full time instead, so they stopped working at MIT."
+msgstr ""
+"<a name=\"foot-1\">(1)</a> Le plan de Greenblatt, à ce que j'en ai "
+"compris, était d'engager les gens du laboratoire à temps "
+"partiel, afin qu'ils puissent continuer à travailler au Labo d'I.A.. "
+"Symbolics les a engagé à temps plein à la place, donc "
+"ils ont arrêté de travailler au M.I.T."
+
+# type: Content of: <p>
+msgid ""
+"<a name=\"foot-2\">(2)</a> It was not that I cared particularly about the "
+"fate of LMI, but rather I did not want to let Symbolics gain through its "
+"aggression against the AI Lab."
+msgstr ""
+"<a name=\"foot-2\">(2)</a> Ce n'était pas que le sort de LMI "
+"m'intéresse particulièrement, mais plutôt je ne voulais "
+"pas laisser Symbolics gagner parson aggression contre le labo d'I.A."
+
+# type: Content of: <p>
+msgid ""
+"<a name=\"foot-3\">(3)</a> This statement has been misconstrued as saying "
+"that I never, ever looked at Symbolics' code. Actually it says I did."
+msgstr ""
+"<a name=\"foot-3\">(3)</a> Cette phrase a été mal "
+"interprétée, selon quoi je n'aurais jamais, jamais jeté "
+"un œil sur le code de Symbolics. En réalité, je l'ai "
+"fait."
+
+# type: Content of: <p>
+msgid ""
+"The Symbolics source code was available at MIT, where I was entitled to read "
+"it, and at first that's how I found out about their changes. But that meant "
+"I had to make extra effort to solve each problem differently, in order to "
+"avoid copying Symbolics code. After a while, I concluded it was better not "
+"to even look. That way I could write code in whatever way was best, without "
+"concern for what was in Symbolics' code."
+msgstr ""
+"Le code source de Symbolics était disponible au M.I.T., où "
+"j'étais en droit de le lire, et au début c'est ainsi que je me "
+"suis rendu compte de leurschangements. Mais cela signifie que j'avais "
+"l'effort supplémentaire de résoudre chaque problème "
+"différemment, pour éviter de copier le code Symbolics. "
+"Après un moment, j'ai conclu que c'était mieux de ne pas le "
+"regarder du tout. De cette façon, je pouvais écrire le code de "
+"la meilleure façon, sans me soucier de ce qui était dans le "
+"code Symbolics."
+
+# type: Content of: <p>
+msgid ""
+"<a name=\"foot-4\">(4)</a> 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."
+msgstr ""
+"<a name=\"foot-4\">(4)</a> L'arrière pensée de ce plan, que je "
+"n'ai pas explicité dans le discours, est que durant cette pé"
+"riode initiale les ex hackers du labo d'I.A., que ce soit chez Symbolics ou "
+"chez LMI, ont continué à faire contribuer leurs modifications "
+"au système machine Lisp du M.I.T., bien que le contrat ne l'exigeait "
+"pas. Le plan de Symbolics était de briser cette coopération "
+"unilatéralement."
+
+# type: Content of: <p>
+msgid ""
+"<a name=\"foot-5\">(5)</a> Bernie Greenberg says that Dan Weinreb's "
+"implementation of Emacs for the Lisp Machine came before Greenberg's "
+"implementation for Multics. I apologize for the mistake."
+msgstr ""
+"<a name=\"foot-5\">(5)</a> Bernie Greenberg dit que l'implémentation "
+"de Dan Weinberg d'Emacs pour la machine Lisp est arrivée avant "
+"l'implémentation deGreenberg pour Multics. Je m'excuse pour cette "
+"erreur."
+
+# type: Content of: <p>
+msgid ""
+"<a name=\"foot-6\">(6)</a> Symbolics at one point protested to MIT that my "
+"work, by thwarting their plan, had cost Symbolics a million dollars."
+msgstr ""
+"<a name=\"foot-6\">(6)</a> Symbolics a à un moment protesté au "
+"M.I.T. que mon travail, en contrant leur plan, avait couté à "
+"Symbolics un million de dollars."
+
+# type: Content of: <p>
+msgid ""
+"<a name=\"foot-7\">(7)</a> Guy Steele designed the original symmetrical "
+"Emacs command set; then he and I began implementing Emacs (on top of TECO), "
+"but after one long joint development session, Steele began drifting away, so "
+"I finished Emacs. Others particularly including Eugene C. Cicciarelli and "
+"Mike McMahon contributed substantially later on."
+msgstr ""
+"<a name=\"foot-7\">(7)</a> Guy Steele a conçu la bibliothèque "
+"de commande de l'Emacs symétrique original, puis lui et moi avons "
+"commencé à implémenter Emacs (par dessus TECO), mais "
+"après une longue session de développement conjointe, Steele a "
+"commencé à s'éloigner, donc j'ai fini Emacs. D'autres "
+"incluant particulièrement Eugene C. Cicciarelli et Mike McMahon ont "
+"par la suite contribué de manière substantielle."
# type: Content of: <div><p>
-msgid "Please send FSF & GNU inquiries to <a
href=\"mailto:address@hidden"><em>address@hidden</em></a>. There are also <a
href=\"/contact/\">other ways to contact</a> the FSF. <br /> Please send
broken links and other corrections (or suggestions) to <a
href=\"mailto:address@hidden"><em>address@hidden</em></a>."
-msgstr "Veuillez envoyer les requêtes concernant la FSF et GNU à <a
href=\"mailto:address@hidden"><em>address@hidden</em></a>. Il existe aussi <a
href=\"/contact/\">d'autres moyens de contacter</a> la FSF. <br /> Veuillez
envoyer les liens orphelins ou d'autres suggestions sur cette page Web aux <a
href=\"/people/webmeisters.html\">webmestres de GNU</a> Ã l'adresse <a
href=\"mailto:address@hidden"><em>address@hidden</em></a>."
+msgid ""
+"Please send FSF & GNU inquiries to <a href=\"mailto:address@hidden"
+"\"><em>address@hidden</em></a>. There are also <a href=\"/contact/\">other "
+"ways to contact</a> the FSF. <br /> Please send broken links and other "
+"corrections (or suggestions) to <a href=\"mailto:address@hidden"
+"\"><em>address@hidden</em></a>."
+msgstr ""
+"Veuillez envoyer les requêtes concernant la FSF et GNU à <a href=\"mailto:"
+"address@hidden"><em>address@hidden</em></a>. Il existe aussi <a
href=\"/contact/"
+"\">d'autres moyens de contacter</a> la FSF. <br /> Veuillez envoyer les "
+"liens orphelins ou d'autres suggestions sur cette page Web aux <a href=\"/"
+"people/webmeisters.html\">webmestres de GNU</a> Ã l'adresse <a
href=\"mailto:"
+"address@hidden"><em>address@hidden</em></a>."
# type: Content of: <div><p>
-msgid "Please see the <a
href=\"/server/standards/README.translations.html\">Translations README</a> for
information on coordinating and submitting translations of this article."
-msgstr "Veuillez consulter le <a
href=\"/server/standards/README.translations.fr.html\">README des
traductions</a> pour des informations sur la coordination et la soumission de
traductions de cet article."
+msgid ""
+"Please see the <a href=\"/server/standards/README.translations.html"
+"\">Translations README</a> for information on coordinating and submitting "
+"translations of this article."
+msgstr ""
+"Veuillez consulter le <a href=\"/server/standards/README.translations.fr.html"
+"\">README des traductions</a> pour des informations sur la coordination et "
+"la soumission de traductions de cet article."
# type: Content of: <div><p>
msgid "Copyright © 2003, 2007 Free Software Foundation, Inc.,"
@@ -265,13 +1262,20 @@
msgstr "51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA"
# type: Content of: <div><p>
-msgid "Verbatim copying and distribution of this entire article is permitted
in any medium, provided this notice is preserved."
-msgstr "La reproduction exacte et la distribution intégrale de cet article
est permise sur n'importe quel support d'archivage, pourvu que cette notice
soit préservée."
+msgid ""
+"Verbatim copying and distribution of this entire article is permitted in any "
+"medium, provided this notice is preserved."
+msgstr ""
+"La reproduction exacte et la distribution intégrale de cet article est "
+"permise sur n'importe quel support d'archivage, pourvu que cette notice soit "
+"préservée."
# type: Content of: <div><div>
#. TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.
msgid "*GNUN-SLOT: TRANSLATOR'S CREDITS*"
-msgstr "Traduction : Marc de Maillard.<br /> Révision : <a
href=\"mailto:trad-gnu@april.org\">trad-gnu@april.org</a>"
+msgstr ""
+"Traduction : Marc de Maillard.<br /> Révision : <a href=\"mailto:"
+"trad-gnu@april.org\">trad-gnu@april.org</a>"
# type: Content of: <div><p>
#. timestamp start
@@ -281,4 +1285,3 @@
# type: Content of: <div><h4>
msgid "Translations of this page"
msgstr "Traductions de cette page"
-
Index: gnu/po/rms-lisp.pot
===================================================================
RCS file: /web/www/www/gnu/po/rms-lisp.pot,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- gnu/po/rms-lisp.pot 25 Aug 2008 20:29:56 -0000 1.2
+++ gnu/po/rms-lisp.pot 8 Apr 2009 08:27:33 -0000 1.3
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2008-08-25 16:25-0300\n"
+"POT-Creation-Date: 2009-04-08 04:27-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <address@hidden>\n"
"Language-Team: LANGUAGE <address@hidden>\n"
@@ -88,7 +88,7 @@
"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"
+"made it what it was."
msgstr ""
# type: Content of: <p>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- www home.it.shtml gnu/po/rms-lisp.fr.po gnu/po/...,
Yavor Doganov <=