My Lisp Experiences and the Development of GNU Emacs (2002)
gnu.org
gnu.org
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."
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
Thought you were going to say it was Learn You a Haskell For Great Good.
Maybe some people should just be reminded that programming is not fundamentally different from using a computer in general. Just that you have more fine-grained control.
A non-programmer, I'm sure making it a welcome checkpoint at a programming language is an incredibly stupid tradition. It should always be an one-liner that does something no app in the world can do, with clearly identified spots that a newcomer can tweak for their individual needs.
Similarly, Rational Software started out making ADA machines, and only survived and prospered after a total pivot away from hardware and ADA alike.
Which I don't say to be unfair, although I could see those who idolize him taking it that way.
Hardware targeted to a specific language only has advantage for a little while, until general purpose hardware catches up.
As for the economies of scale of UNIX workstations, former AT&T, Stanford and BSD students got lucky with their workstation startups.
They where also not quick enougth to get at least a subset of there software running on other hardware.
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.
http://www.tcl.tk/doc/scripting.html
There was some controversy around it at the time...
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]
(Unfortunately, the audio isn't great.)
"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.
We all had a good laugh. RMS is a funny guy and quick of his feet!
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.
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?
Funny this makes it sound like the emacs predecessor was closer to vim in editing style then modern emacs
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. :-)