
My Lisp Experiences and the Development of GNU Emacs (2002) - shawndumas
http://www.gnu.org/gnu/rms-lisp.html
======
jarcane
"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."

That bit really jumped out at me, because it's something I've felt about
computers in general for a long time. People get it into their heads that
computers are hard/complicated/etc., and so they get scared of them, and so
then they don't do anything with them but a strict subset they've decided they
understand and wind up doing all sorts of things wrong or inefficiently.
Often, in trying to protect the computer and themselves from what they've
convinced themselves they don't understand, they wind up breaking it instead:
they don't know what they're doing because they think they can't learn. "It's
too complicated."

~~~
easytiger
I was reading a book on a long train journey from Paris to Nice by train that
I read usually once a year. My girlfriend couldn't understand why I was
reading a kids book as it had an elephant on the front. I told her it wasn't,
but was in fact one of the most profound books about teaching you to think in
a new way.

So I let her read it and she got about half way through and she totally got it
and loved it. No harder than doing a crossword or a sudoku for the first time.

The book is: [http://mitpress.mit.edu/books/little-
schemer](http://mitpress.mit.edu/books/little-schemer)

~~~
jarcane
I seriously need to get a copy of this book. I've been hearing about the
Little Schemer ever since I first entered the Lisp world; and one of the
authors of that edition even works on my favorite Lisp (Racket).

~~~
jwdunne
It's brilliant. By gradually building up to it, I started to really understand
recursion, the power of lambdas and closures, etc. I also started to get Lisp
and Scheme in the process. It's a great book, well worth it and if you're
venturing out into the Lisp world, I strongly recommend it. If you're not into
Scheme, I believe the book also contains equivalent Common Lisp code.

------
CurtMonash
The fate of Symbolics wound up having little to do with Stallman, Greenblatt,
or LMI. Sun et al. just blew away Symbolics with the economies of scale of
UNIX workstations, and the advantages of LISP didn't persuade many people to
go with LISP machines instead.

Similarly, Rational Software started out making ADA machines, and only
survived and prospered after a total pivot away from hardware and ADA alike.

~~~
oldmanjay
Stallman has the normal sort of blindness most zealots have for areas outside
of their zealotry. I have always found it a little bit fascinating to see what
a naive view of the world he really has for anything that isn't the politics
of software.

Which I don't say to be unfair, although I could see those who idolize him
taking it that way.

~~~
muyuu
I agree with your assessment but the comment you're replying to is making an
untrue assumption, he didn't say that he sunk Symbolics himself or anything
close to that. He said that he hindered their plan to drive LMI out of
business for some time.

------
bch
> At the time, TCL was being pushed heavily for this purpose. I had a very low
> opinion of TCL, basically because it wasn't Lisp.

I figured this was the case[1], but hadn't actually seen it stated explicitly.
His dislike usually seemed broached in hated of a commercial shepherd (Sun),
or going on about (perceived or real) technical shortcomings.

[1]
[https://news.ycombinator.com/item?id=3408617](https://news.ycombinator.com/item?id=3408617)

~~~
lispm
Ousterhout did some marketing pieces and he stated a lot of random things.

[http://www.tcl.tk/doc/scripting.html](http://www.tcl.tk/doc/scripting.html)

There was some controversy around it at the time...

~~~
bch
I didn't realize that was a very controversial paper.

If the timelines are correct though, that wouldn't have been offending rms
yet:

> rms: 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.
> [...]

>

> At the time, TCL was being pushed heavily for this purpose. I had a very low
> opinion of TCL...

\--

JOs paper appears to be published 1998, 3 years later, citing papers from
1996.

[edit: formatting]

~~~
lispm
There were similar earlier claims made by Osterhout. I just picked one which
demonstrated the topic.

------
ordinary
The video:
[https://www.youtube.com/watch?v=4Jjhmc3Txv0](https://www.youtube.com/watch?v=4Jjhmc3Txv0)

(Unfortunately, the audio isn't great.)

------
betteringred
I think it's interesting how he never explicitly says that he forked Gosling
Emacs (I think that's what he did, but if not please correct me!).

"Therefore, when I wrote my second implementation of Emacs, I followed the
same kind of design...Now, this [GNU Emacs] was not the first Emacs that was
written in C and ran on Unix. The first was written by James Gosling, ... 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... I concluded I couldn't use it
[it here means mocklisp, but can be confused to mean Gosling Emacs] 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...This second Emacs program was ‘free software’ in the
modern sense of the term"

Perhaps I'm reading too much into it.

~~~
hga
Yes, he did. At that time or a bit later I worked for UniPress; the owners
knew that taking any action about that beyond a polite request would untimely
be harmful. But it was seriously reckless of RMS to put his GNU effort in
jeopardy.

~~~
DonHopkins
Mike (the friend at UniPress who RMS mentioned) and I were wandering around an
SF convention and ran into RMS. Mike said, "Richard, I heard a rumor about
your house being burnt down. Is that true?" Richard immediately shot back
"Yes, but where you work, I'd have thought you'd have heard about it in
advance!"

We all had a good laugh. RMS is a funny guy and quick of his feet!

------
zvrba
"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."

This is so short-sighted hand-waving; it doesn't take into account the
existing ecosystem (libraries, tools, etc.) at all. Unlike lisps and schemes,
TCL is way less fragmented and has a bunch of libraries for everything. Not to
mention that libtcl can be used as a cross-platform layer for files,
filesystem, threads, networking, etc.

~~~
dbrower
At the time he said it, and about the time of the decision he was making, what
you say about the TCL ecosystem was not necessarily true. I was using TCL/TK
in '95, and it was clunky then. I have the same misgivings about LUA now, but
it seems a better choice for embedding than TCL at the moment.

I keep returning to the "I'd like an embedded scripting language in my C
environment" year after year, and there is nothing that has made me pull the
trigger yet. TCL is a non-starter for me; LUA is dubious; GUILE is a non-
starter with GPL licenseing. Java is clunky and heavyweight, but maybe
plausible, though it's more common to JNI C into your Java main. I think it'd
be nice to have an embeddable Javascript like v8 that can attach to C
underpinnings, but don't know if there is one. Maybe duktape?

------
rdc12
"The original Emacs did not have Lisp in it. The lower level language, the
non-interpreted language — was PDP-10 Assembler. The interpreter we wrote in
that actually wasn't written for Emacs, it was written for TECO. 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."

Funny this makes it sound like the emacs predecessor was closer to vim in
editing style then modern emacs

------
akater
Bravo, RMS.

I wish I could work on an OS written in Lisp, or in an equivalently expressive
language. It's so damn important to have a really user-friendly system easily
customizable by non-programmers. Actually, programmers should be routinely put
out of their jobs, essentially the same way programmers put others out of
theirs. :-)

------
radmuzom
After reading this article, I read up on the history of Lisp Machines, and the
conflict between Richard Greenblatt and Russell Noftsker. Interestingly,
Noftsker was himself forced out of Symbolics after a battle with their CEO.
Karma, I guess.

