Lisp Celebrities and Computing History from “Worse Is Better”

By Xah Lee. Date:

I just discovered the identies of 2 semi-fictional characters in lisp lore.

There's a infamous article, known as Worse is Better. Very popular in the 1990s, and still so among lisp circles. The article is:

[The Rise of “Worse is Better” By Richard P Gabriel. At http://dreamsongs.com/RiseOfWorseIsBetter.html]

In the article, there's this passage:

Two famous people, one from MIT and another from Berkeley (but working on Unix) once met to discuss operating system issues. The person from MIT was knowledgeable about ITS (the MIT AI Lab operating system) and had been reading the Unix sources. He was interested in how Unix solved the PC loser-ing problem. The PC loser-ing problem occurs when a user program invokes a system routine to perform a lengthy operation that might have significant state, such as IO buffers. If an interrupt occurs during the operation, the state of the user program must be saved. Because the invocation of the system routine is usually a single instruction, the PC of the user program does not adequately capture the state of the process. The system routine must either back out or press forward. The right thing is to back out and restore the user program PC to the instruction that invoked the system routine so that resumption of the user program after the interrupt, for example, re-enters the system routine. It is called PC loser-ing because the PC is being coerced into loser mode, where loser is the affectionate name for user at MIT.

The MIT guy did not see any code that handled this case and asked the New Jersey guy how the problem was handled. The New Jersey guy said that the Unix folks were aware of the problem, but the solution was for the system routine to always finish, but sometimes an error code would be returned that signaled that the system routine had failed to complete its action. A correct user program, then, had to check the error code to determine whether to simply try the system routine again. The MIT guy did not like this solution because it was not the right thing.

The New Jersey guy said that the Unix solution was right because the design philosophy of Unix was simplicity and that the right thing was too complex. Besides, programmers could easily insert this extra test and loop. The MIT guy pointed out that the implementation was simple but the interface to the functionality was complex. The New Jersey guy said that the right tradeoff has been selected in Unix -- namely, implementation simplicity was more important than interface simplicity.

I discovered, that the MIT guy is Daniel Weinreb (creator of first emacs written in lisp) , and the New Jersey guy is Bill Joy (creator vi editor). I discovered this from Daniel's blog. [The “Worse is Better” idea and the future of Lisp By Daniel Weinreb. At http://danweinreb.org/blog/the-worse-is-better-idea-and-the-future-of-lisp] [see Lisp Programer Daniel Weinreb Died (1959 to 2012)]

The Worse Is Better is a characterization of software success. It is a seminal article, and in my opinion one of the best essay on the topic. See also: The Nature of the Unix Philosophy .

When you look at computing history, many well-known figures have various connections. Daniel and Gabriel are both from the lisp circle. There are many blogs i've written in the past involving these programing celebrities from my diggings of computing history, especially involving lisp, emacs, unix. Following is a summary.

• I do a lot provocative writings. Around 2000, one time Richard P Gabriel made some posts to comp.lang.lisp, and i criticized one of his post about software engineering. He politely asked what's my opinion. See: What and Why of Math. (this is the period when i was reading comp.lang.lisp mostly for Erik Naggum's posts. See: Death of a Troll, My Memory of Erik Naggum (1965 to 2009)Why do I Rant In comp.lang.lisp )

• My review of Richard Gabriel's 1996 book. It's quite scathing. Book Review: Patterns of Software .

• Sometimes in 2007, lisp cons cropped up again in comp.lang.lisp. I usually attack it to no ends. Daniel kindly asked what's my objection to lisp's cons. Here's my reply among other meandering rants on lisp's cons: Lisp's List Problem. See also: Programing Language: The Glory of Lisp's cons .

• Bill Joy, is a founder of Sun Microsystems, and is the author of vi. (See: vim Basics) In 2000, he wrote a popular essay titled “Why the future doesn't need us”. I wrote a blog about it: Futuristic Calamity .

For how vi's keys began, in particular the H J K L keys for cursor movement, see History of vi Keys

In GNU Emacs Manual, it began thus:

Emacs is the extensible, customizable, self-documenting real-time display editor. This is the Sixteenth edition of the GNU Emacs Manual, updated for Emacs version 23.3.

Wonder why it calls itself “real-time display editor”? Why “real-time”? Why “display”? And how vi's “modal” operation came to be? See bottom of: GNU Emacs and XEmacs Schism, by Ben Wing .

• Both Daniel and Gabriel are emacs users, of course, and it is a major cause of RSI. Daniel has mentioned how emacs's keys began, to a article i posted in a newsgroup post. Search for “daniel” in: Why Emacs's Keyboard Shortcuts Are Painful .

• In discussing how emacs keybinding came to be, Daniel mentioned Guy Steele (most famous for being the co-inventor of Scheme Lisp.). See: Guy Steele Says: Don't Iterate, Recurse, and Get rid of lisp cons! .

• Jamie W Zawinski (JWZ) is hired by Gabriel to work in his company Lucid Inc, and one of the product is a IDE based on emacs, which eventually became XEmacs when the company disbanded. It was JWZ who is responsible for spreading the article Worse Is Better. (Since the beginning of the web (~1994), the most popular website that hosted the “Worse Is Better” article is JWZ's website. Only till ~2007 that Gabriel started to have a website and hosted his own article.).

Most of today's programers might have heard of Jamie, if you've heard one of them at all. He's the star back in Netscape days (1990s). He's one of the more provocative types and writes non-stop. There are plenty articles in mainstream media written about him. Richard Stallman, blames Jamie as the one who cause the emacs vs xemacs schism. Both Jamie and Stallman suffered severe RSI due to emacs.

lisp history, MULTICS vs UNIX, PL/I, …

Got this accolade; made my day:

The original version of MULTICS (the predecessor of UNIX (TM) , the precedessor of Linux) was written in PL/I. (Yes, I'm as old as that.......) kind regards, andy

PS. and one more note: Xah Lee wrote very well about the history of LISP/AI/functional programming, to my opinion.

From this thread:

Newsgroups: comp.lang.lisp
From: “Antti Ylikoski” [antti.yliko…@elisanet.fi]
Date: Sun, 31 Jul 2011 18:14:23 +0300
Local: Sun, Jul 31 2011 8:14 am
Subject: Re: Lisp Celebrities and Computing History from “Worse Is Better”

Source groups.google.com

It was a comment to my article: Lisp Celebrities from Worse Is Better. Mark Tarver, the elusive computer scientist who created the Qi language, also commented.

See also: