<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Lisp50 Notes part V: Interlisp, PARC, and the Common Lisp Consolidation Wars</title>
	<atom:link href="http://lispy.wordpress.com/2008/10/24/lisp50-notes-part-v-interlisp-parc-and-the-common-lisp-consolidation-wars/feed/" rel="self" type="application/rss+xml" />
	<link>http://lispy.wordpress.com/2008/10/24/lisp50-notes-part-v-interlisp-parc-and-the-common-lisp-consolidation-wars/</link>
	<description>(notes from an average programmer studying the hard stuff)</description>
	<lastBuildDate>Thu, 21 May 2009 01:17:58 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Dan Weinreb</title>
		<link>http://lispy.wordpress.com/2008/10/24/lisp50-notes-part-v-interlisp-parc-and-the-common-lisp-consolidation-wars/#comment-2513</link>
		<dc:creator>Dan Weinreb</dc:creator>
		<pubDate>Sat, 20 Dec 2008 23:00:28 +0000</pubDate>
		<guid isPermaLink="false">http://lispy.wordpress.com/?p=416#comment-2513</guid>
		<description>I loved Warren Teitelman&#039;s talk.  I realize now, more than ever, that he practically invented the whole idea of an interactive development environment, including inventing dynamic spelling correctors.

About Kent Pitman, keep in mind that he is not talking about the process that led from many Lisp dialects to the original &quot;Common Lisp: The Lanaguage&quot;.  Rather, he&#039;s talking about what happened later, when CLTL was being turned into an official ANSI specification.  The two processes were vastly different.  The former was informal, orchestrated by Guy Steele, and very pleasant.  The latter was run according to official ANSI and X3 rules, and was very painful and unpleasant, at least as far as I was concerned.

It&#039;s too bad people don&#039;t know about all the fine researchers and developers who were at Xerox PARC in its heyday.  Mark Miller, above, mentioned Dan Ingalls, Larry Tesler, and Adele Goldberg.  Yes, L. Peter Deutsch did work there.  He was one of the most brilliant people in the software world.  He had a lot to do with the invention of time-sharing, Lisp, JIT compilers, and so much more.  Gregor did indeed work at PARC.  And then there&#039;s Danny Bobrow, Johan DeKleer, Larry Masinter, Alice Harley, Bob Taylor, Butler Lampson, Chuck Thacker, Bob Metcalfe, Brian Williams, Lucy Suchman, Rick Cattell, John Warnock, Charles Geschke... So much of the computing environment/infrastructure/ecosystem that we all take for granted today emerged from the work of these people!</description>
		<content:encoded><![CDATA[<p>I loved Warren Teitelman&#8217;s talk.  I realize now, more than ever, that he practically invented the whole idea of an interactive development environment, including inventing dynamic spelling correctors.</p>
<p>About Kent Pitman, keep in mind that he is not talking about the process that led from many Lisp dialects to the original &#8220;Common Lisp: The Lanaguage&#8221;.  Rather, he&#8217;s talking about what happened later, when CLTL was being turned into an official ANSI specification.  The two processes were vastly different.  The former was informal, orchestrated by Guy Steele, and very pleasant.  The latter was run according to official ANSI and X3 rules, and was very painful and unpleasant, at least as far as I was concerned.</p>
<p>It&#8217;s too bad people don&#8217;t know about all the fine researchers and developers who were at Xerox PARC in its heyday.  Mark Miller, above, mentioned Dan Ingalls, Larry Tesler, and Adele Goldberg.  Yes, L. Peter Deutsch did work there.  He was one of the most brilliant people in the software world.  He had a lot to do with the invention of time-sharing, Lisp, JIT compilers, and so much more.  Gregor did indeed work at PARC.  And then there&#8217;s Danny Bobrow, Johan DeKleer, Larry Masinter, Alice Harley, Bob Taylor, Butler Lampson, Chuck Thacker, Bob Metcalfe, Brian Williams, Lucy Suchman, Rick Cattell, John Warnock, Charles Geschke&#8230; So much of the computing environment/infrastructure/ecosystem that we all take for granted today emerged from the work of these people!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kent Pitman</title>
		<link>http://lispy.wordpress.com/2008/10/24/lisp50-notes-part-v-interlisp-parc-and-the-common-lisp-consolidation-wars/#comment-2489</link>
		<dc:creator>Kent Pitman</dc:creator>
		<pubDate>Mon, 24 Nov 2008 07:54:14 +0000</pubDate>
		<guid isPermaLink="false">http://lispy.wordpress.com/?p=416#comment-2489</guid>
		<description>I spent about two hours writing a long reply here expressing my dismay/distress with the summary that is offered of my talk, which contains either errors of fact or confusions in a number of places and gives what I regard are a number of material misconceptions about what I said.  But after pressing &quot;submit&quot; it just gave me a page saying the word &quot;discarded&quot;.  I had a backup of only about half of what I wrote and am not up to writing again this evening and it may be some time before I get a chance to try again.  But I wanted to at least note that I tried to respond.</description>
		<content:encoded><![CDATA[<p>I spent about two hours writing a long reply here expressing my dismay/distress with the summary that is offered of my talk, which contains either errors of fact or confusions in a number of places and gives what I regard are a number of material misconceptions about what I said.  But after pressing &#8220;submit&#8221; it just gave me a page saying the word &#8220;discarded&#8221;.  I had a backup of only about half of what I wrote and am not up to writing again this evening and it may be some time before I get a chance to try again.  But I wanted to at least note that I tried to respond.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Miller</title>
		<link>http://lispy.wordpress.com/2008/10/24/lisp50-notes-part-v-interlisp-parc-and-the-common-lisp-consolidation-wars/#comment-2371</link>
		<dc:creator>Mark Miller</dc:creator>
		<pubDate>Sun, 26 Oct 2008 19:46:09 +0000</pubDate>
		<guid isPermaLink="false">http://lispy.wordpress.com/?p=416#comment-2371</guid>
		<description>@Diogo:

Oh, and I think Teitelman was joking when he said &quot;seven&quot;, like he was just throwing a number out there to get under Dijkstra&#039;s skin. :)</description>
		<content:encoded><![CDATA[<p>@Diogo:</p>
<p>Oh, and I think Teitelman was joking when he said &#8220;seven&#8221;, like he was just throwing a number out there to get under Dijkstra&#8217;s skin. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Miller</title>
		<link>http://lispy.wordpress.com/2008/10/24/lisp50-notes-part-v-interlisp-parc-and-the-common-lisp-consolidation-wars/#comment-2370</link>
		<dc:creator>Mark Miller</dc:creator>
		<pubDate>Sun, 26 Oct 2008 19:41:49 +0000</pubDate>
		<guid isPermaLink="false">http://lispy.wordpress.com/?p=416#comment-2370</guid>
		<description>@Diogo:

Okay, but if we&#039;re going to just stick to what can be proven, then should there be no such things as operating systems?

I understand what you&#039;re saying, but context matters. If you watch Kay&#039;s 1997 speech &quot;The Computer Revolution Hasn&#039;t Happened Yet&quot;, you can see the incident I&#039;m talking about. He gives some of the context for his theory of computing. He talked about an essay Dijkstra wrote called &quot;On the fact that the Atlantic has two sides&quot;. He talked about how in his classes CS is based on classical mathematics, and that his program is recognized by royalty. Kay wrote a response paper called, &quot;On the fact that most of the software is written on one side of the Atlantic&quot;. He said, &quot;Computers form a new kind of math. They don&#039;t really fit well into classical math,&quot; implying that Dijkstra was missing the point, and lacking in vision. To back up his point he said that Euler wrote many volumes filled with proofs, and speculations about what might be true, many of which turned out to be true. On later inspection, however, most of his proofs were found to be flawed, and he said that many Ph.D&#039;s have been granted on the basis of students finding flaws in Eulers proofs, but thinking that his speculations were true, and finding proofs that actually work to prove Euler correct. He said, &quot;So debugging actually goes on in mathematics as well.&quot;

Kay has long advocated for late-binding, self-reflective systems, because this enables debugging, and even changing the design while the program is &quot;alive&quot;. You can repair the flaw and continue execution where a thread halted, or change the design while the program is running without halting anything. The point is the program and/or the system doesn&#039;t have to stop. This is how Erlang works. A bug doesn&#039;t bring the system down. So bugs become &quot;tolerable&quot; because they&#039;re less disruptive.

A key difference I think between Dijkstra and Kay is Dijkstra saw CS as purely a form of math (based on classical math, that is), whereas Kay sees CS as a fusion of math and science. In science we come up with hypotheses and test them. Science is a philosophy of discovery. So we don&#039;t know what&#039;s true ahead of time, and most hypotheses don&#039;t pan out. I think Kay sees programming as a process of experimentation. Just as in science, you work with real things, see how they respond to experiments, and then you learn something about them. You can then build on this knowledge.

I&#039;m not sure if Dijkstra would agree on this, but a key thing Kay has said for years is, &quot;We haven&#039;t figured out what computing is yet.&quot; Dijkstra liked to stick to what could be proven. Kay, like Euler I guess, likes to speculate on &quot;what might be true&quot; and hopes that a good proof will come along later.</description>
		<content:encoded><![CDATA[<p>@Diogo:</p>
<p>Okay, but if we&#8217;re going to just stick to what can be proven, then should there be no such things as operating systems?</p>
<p>I understand what you&#8217;re saying, but context matters. If you watch Kay&#8217;s 1997 speech &#8220;The Computer Revolution Hasn&#8217;t Happened Yet&#8221;, you can see the incident I&#8217;m talking about. He gives some of the context for his theory of computing. He talked about an essay Dijkstra wrote called &#8220;On the fact that the Atlantic has two sides&#8221;. He talked about how in his classes CS is based on classical mathematics, and that his program is recognized by royalty. Kay wrote a response paper called, &#8220;On the fact that most of the software is written on one side of the Atlantic&#8221;. He said, &#8220;Computers form a new kind of math. They don&#8217;t really fit well into classical math,&#8221; implying that Dijkstra was missing the point, and lacking in vision. To back up his point he said that Euler wrote many volumes filled with proofs, and speculations about what might be true, many of which turned out to be true. On later inspection, however, most of his proofs were found to be flawed, and he said that many Ph.D&#8217;s have been granted on the basis of students finding flaws in Eulers proofs, but thinking that his speculations were true, and finding proofs that actually work to prove Euler correct. He said, &#8220;So debugging actually goes on in mathematics as well.&#8221;</p>
<p>Kay has long advocated for late-binding, self-reflective systems, because this enables debugging, and even changing the design while the program is &#8220;alive&#8221;. You can repair the flaw and continue execution where a thread halted, or change the design while the program is running without halting anything. The point is the program and/or the system doesn&#8217;t have to stop. This is how Erlang works. A bug doesn&#8217;t bring the system down. So bugs become &#8220;tolerable&#8221; because they&#8217;re less disruptive.</p>
<p>A key difference I think between Dijkstra and Kay is Dijkstra saw CS as purely a form of math (based on classical math, that is), whereas Kay sees CS as a fusion of math and science. In science we come up with hypotheses and test them. Science is a philosophy of discovery. So we don&#8217;t know what&#8217;s true ahead of time, and most hypotheses don&#8217;t pan out. I think Kay sees programming as a process of experimentation. Just as in science, you work with real things, see how they respond to experiments, and then you learn something about them. You can then build on this knowledge.</p>
<p>I&#8217;m not sure if Dijkstra would agree on this, but a key thing Kay has said for years is, &#8220;We haven&#8217;t figured out what computing is yet.&#8221; Dijkstra liked to stick to what could be proven. Kay, like Euler I guess, likes to speculate on &#8220;what might be true&#8221; and hopes that a good proof will come along later.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Diogo Lisboa</title>
		<link>http://lispy.wordpress.com/2008/10/24/lisp50-notes-part-v-interlisp-parc-and-the-common-lisp-consolidation-wars/#comment-2368</link>
		<dc:creator>Diogo Lisboa</dc:creator>
		<pubDate>Sun, 26 Oct 2008 14:19:01 +0000</pubDate>
		<guid isPermaLink="false">http://lispy.wordpress.com/?p=416#comment-2368</guid>
		<description>About the Dijkstra-Kay feud. Kay once said: &quot;Arrogance in Computer Science is measured in nano-Dijkstras&quot;.

Dijkstra, however, was right in what he said: programs should be bug-free, and to get there you should prove it mathematically. But he came from a theoretical background (he graduated a &#039;theoretical physicist&#039;), and the industry didn&#039;t see (and still doesn&#039;t) the problem with tolerable bugs and incremental software releases. You can see that by the reaction people got when Teitelman said &quot;Seven&quot; bugs were tolerable. Seven bugs in a big program are tolerable by everyone&#039;s standard.

Poor Pitman, bad luck every time.</description>
		<content:encoded><![CDATA[<p>About the Dijkstra-Kay feud. Kay once said: &#8220;Arrogance in Computer Science is measured in nano-Dijkstras&#8221;.</p>
<p>Dijkstra, however, was right in what he said: programs should be bug-free, and to get there you should prove it mathematically. But he came from a theoretical background (he graduated a &#8216;theoretical physicist&#8217;), and the industry didn&#8217;t see (and still doesn&#8217;t) the problem with tolerable bugs and incremental software releases. You can see that by the reaction people got when Teitelman said &#8220;Seven&#8221; bugs were tolerable. Seven bugs in a big program are tolerable by everyone&#8217;s standard.</p>
<p>Poor Pitman, bad luck every time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lispy</title>
		<link>http://lispy.wordpress.com/2008/10/24/lisp50-notes-part-v-interlisp-parc-and-the-common-lisp-consolidation-wars/#comment-2363</link>
		<dc:creator>lispy</dc:creator>
		<pubDate>Sat, 25 Oct 2008 22:08:37 +0000</pubDate>
		<guid isPermaLink="false">http://lispy.wordpress.com/?p=416#comment-2363</guid>
		<description>@Mark

&gt;&gt; Teitelman said that we’ve got to strive to separate the business process from the code.

This is what I think he meant:

That&#039;s sort of the dynamic corollary to not hard coding your data base connection string and stuff like that.  Make everything data driven that you can.  Have every setting you can think of be set from a configuration file.  What&#039;s left after that?  There&#039;s the pain of having to recompile and redeploy your binaries for every little change.  It&#039;s the same sort of problem those guys at the DSM workshop were trying to deal with when they were emphasizing their &quot;declarative and interpretative approaches&quot; to coding.  It&#039;s the same problem that Lisp solved long ago, as demonstrated when they debugged running code on a satellite zillions of miles away.

&quot;Late binding self-reflexive&quot; systems are more maleable at run-time... and let you get away with &quot;hard coding&quot; even less than you would otherwise....</description>
		<content:encoded><![CDATA[<p>@Mark</p>
<p>&gt;&gt; Teitelman said that we’ve got to strive to separate the business process from the code.</p>
<p>This is what I think he meant:</p>
<p>That&#8217;s sort of the dynamic corollary to not hard coding your data base connection string and stuff like that.  Make everything data driven that you can.  Have every setting you can think of be set from a configuration file.  What&#8217;s left after that?  There&#8217;s the pain of having to recompile and redeploy your binaries for every little change.  It&#8217;s the same sort of problem those guys at the DSM workshop were trying to deal with when they were emphasizing their &#8220;declarative and interpretative approaches&#8221; to coding.  It&#8217;s the same problem that Lisp solved long ago, as demonstrated when they debugged running code on a satellite zillions of miles away.</p>
<p>&#8220;Late binding self-reflexive&#8221; systems are more maleable at run-time&#8230; and let you get away with &#8220;hard coding&#8221; even less than you would otherwise&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: akopa</title>
		<link>http://lispy.wordpress.com/2008/10/24/lisp50-notes-part-v-interlisp-parc-and-the-common-lisp-consolidation-wars/#comment-2362</link>
		<dc:creator>akopa</dc:creator>
		<pubDate>Sat, 25 Oct 2008 20:13:15 +0000</pubDate>
		<guid isPermaLink="false">http://lispy.wordpress.com/?p=416#comment-2362</guid>
		<description>Gregor Kiczales, the infamous &quot;AspectJ Guy&quot;, was also at PARC.  In fact Common LOOPS, a predecessor to CLOS, was developed at PARC.</description>
		<content:encoded><![CDATA[<p>Gregor Kiczales, the infamous &#8220;AspectJ Guy&#8221;, was also at PARC.  In fact Common LOOPS, a predecessor to CLOS, was developed at PARC.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Miller</title>
		<link>http://lispy.wordpress.com/2008/10/24/lisp50-notes-part-v-interlisp-parc-and-the-common-lisp-consolidation-wars/#comment-2350</link>
		<dc:creator>Mark Miller</dc:creator>
		<pubDate>Fri, 24 Oct 2008 23:59:46 +0000</pubDate>
		<guid isPermaLink="false">http://lispy.wordpress.com/?p=416#comment-2350</guid>
		<description>Re: How many other people can you name who worked at PARC

Three: Dan Ingalls, Larry Tesler, Adele Goldberg. That&#039;s just the Learning Research Group. That&#039;s where my main focus was when I learned about their work. I forget, but did Peter Deutsch work there?

The part about Dijkstra (that&#039;s how his name was spelled) was hilarious! :) I have a good idea about what was going on. I read a few of Dijkstra&#039;s speeches. He believed that all programs should be proved correct mathematically before they were implemented on a computer, thereby removing all bugs before implementation. He even said that in his freshman classes they would devise their own simple programming language that they would use on the chalkboard and on paper. The programs they wrote in it would just be exercises for mathematic proof. And he made sure the language didn&#039;t exist on any of the computers at the school so that students &quot;would not be tempted to test their programs&quot;. He was totally against testing programs. He saw CS as purely a mathematical discipline (I think), and he wanted the discipline to only focus on programming that could be proved mathematically, to even get away from artifacts like operating systems, because they could not be proved correct, and disciplines like software engineering which he thought was a sham (actually I think his opinion about the latter has had validity). So the idea of writing a program before it was proven, thereby permitting bugs, was terrible practice to him.

Apparently Alan Kay and Dijkstra had a long feud. In one of his speeches from 1997 I talk about in one of my posts Kay just rips Dijkstra up one side and down the other. Kay, and it sounds like Teitleman, and Dijkstra just came from two completely opposite schools of thought as far as what should be studied in CS, and to a lesser extent what programming was.

I vaguely remember reading about the Durado in Kay&#039;s &quot;The Early History of Smalltalk&quot;. It was a model that Xerox made in the 70s.

&lt;i&gt;Teitelman said that we’ve got to strive to separate the business process from the code.&lt;/i&gt;

Huh. It would be interesting to hear more of what he really meant by this. Perhaps he was talking more about the philosophy of human-computer symbiosis, that computers should be tools for helping people understand complexity and work together more effectively, not automate what people already do.</description>
		<content:encoded><![CDATA[<p>Re: How many other people can you name who worked at PARC</p>
<p>Three: Dan Ingalls, Larry Tesler, Adele Goldberg. That&#8217;s just the Learning Research Group. That&#8217;s where my main focus was when I learned about their work. I forget, but did Peter Deutsch work there?</p>
<p>The part about Dijkstra (that&#8217;s how his name was spelled) was hilarious! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I have a good idea about what was going on. I read a few of Dijkstra&#8217;s speeches. He believed that all programs should be proved correct mathematically before they were implemented on a computer, thereby removing all bugs before implementation. He even said that in his freshman classes they would devise their own simple programming language that they would use on the chalkboard and on paper. The programs they wrote in it would just be exercises for mathematic proof. And he made sure the language didn&#8217;t exist on any of the computers at the school so that students &#8220;would not be tempted to test their programs&#8221;. He was totally against testing programs. He saw CS as purely a mathematical discipline (I think), and he wanted the discipline to only focus on programming that could be proved mathematically, to even get away from artifacts like operating systems, because they could not be proved correct, and disciplines like software engineering which he thought was a sham (actually I think his opinion about the latter has had validity). So the idea of writing a program before it was proven, thereby permitting bugs, was terrible practice to him.</p>
<p>Apparently Alan Kay and Dijkstra had a long feud. In one of his speeches from 1997 I talk about in one of my posts Kay just rips Dijkstra up one side and down the other. Kay, and it sounds like Teitleman, and Dijkstra just came from two completely opposite schools of thought as far as what should be studied in CS, and to a lesser extent what programming was.</p>
<p>I vaguely remember reading about the Durado in Kay&#8217;s &#8220;The Early History of Smalltalk&#8221;. It was a model that Xerox made in the 70s.</p>
<p><i>Teitelman said that we’ve got to strive to separate the business process from the code.</i></p>
<p>Huh. It would be interesting to hear more of what he really meant by this. Perhaps he was talking more about the philosophy of human-computer symbiosis, that computers should be tools for helping people understand complexity and work together more effectively, not automate what people already do.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob Bane</title>
		<link>http://lispy.wordpress.com/2008/10/24/lisp50-notes-part-v-interlisp-parc-and-the-common-lisp-consolidation-wars/#comment-2343</link>
		<dc:creator>Bob Bane</dc:creator>
		<pubDate>Fri, 24 Oct 2008 21:19:29 +0000</pubDate>
		<guid isPermaLink="false">http://lispy.wordpress.com/?p=416#comment-2343</guid>
		<description>From 1986 - 88, I worked at Xerox AI Systems.  We were the people down the hill from PARC who sold Interlisp-D and products related to it.  I was there during the effort to add Common Lisp to the Lyric release of Interlisp-D.

I can tell you that the &quot;dark rumors about computing nightmares caused by DWIM&quot; had grounding in fact.  We tried, VERY hard, to keep DWIM in Lyric and make it work in the combined IL/CL environment, but were defeated ultimately by Teitelman&#039;s impenetrable DWIM code.

Larry Masinter (PARC Interlisp wizard, creator of Masterscope) couldn&#039;t do it, and ultimately settled for reducing DWIM&#039;s scope to simple spelling correction and package guessing.</description>
		<content:encoded><![CDATA[<p>From 1986 &#8211; 88, I worked at Xerox AI Systems.  We were the people down the hill from PARC who sold Interlisp-D and products related to it.  I was there during the effort to add Common Lisp to the Lyric release of Interlisp-D.</p>
<p>I can tell you that the &#8220;dark rumors about computing nightmares caused by DWIM&#8221; had grounding in fact.  We tried, VERY hard, to keep DWIM in Lyric and make it work in the combined IL/CL environment, but were defeated ultimately by Teitelman&#8217;s impenetrable DWIM code.</p>
<p>Larry Masinter (PARC Interlisp wizard, creator of Masterscope) couldn&#8217;t do it, and ultimately settled for reducing DWIM&#8217;s scope to simple spelling correction and package guessing.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
