Lisp Celebrities and Computing History from Worse Is Better
Perm url with updates: http://xahlee.org/comp/lisp_celebrities_worse_is_better.html
Lisp Celebrities and Computing History from Worse Is Better
Xah Lee, 2011-07-24
I just discovered the identies of 2 semi-fictional character 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” (1991) By Richard P Gabriel. @ dreamsongs.com
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 this from Daniel's blog. The “Worse is Better” idea and the future of Lisp (2009-06-07) By Daniel Weinreb. @ Source danweinreb.org.
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 had 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 ◇ 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: Emergency vi (vi tutorial)) 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: Keyboard Hardware's Influence on Keyboard Shortcut Design.
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 on Parallel Programing: Get rid of 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's 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.
- Celebrity Programers with RSI (Repetitive Strain Injury)
- Internet History, Netscape, Dot Com, Code Rush
- GNU Emacs and Xemacs Schism, by Ben Wing
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.