<?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: &#8230; and all remnants of literature disappeared&#8230;</title>
	<atom:link href="http://lispy.wordpress.com/2007/11/30/and-all-remnants-of-literature-disappeared/feed/" rel="self" type="application/rss+xml" />
	<link>http://lispy.wordpress.com/2007/11/30/and-all-remnants-of-literature-disappeared/</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: Mark Miller</title>
		<link>http://lispy.wordpress.com/2007/11/30/and-all-remnants-of-literature-disappeared/#comment-1206</link>
		<dc:creator>Mark Miller</dc:creator>
		<pubDate>Fri, 14 Dec 2007 06:47:14 +0000</pubDate>
		<guid isPermaLink="false">http://lispy.wordpress.com/2007/11/30/and-all-remnants-of-literature-disappeared/#comment-1206</guid>
		<description>Okay. I thought of some more stuff.

Re: Changing interfaces

I think you might&#039;ve missed the point there. What they were talking about was developing systems that are similar to the way databases are structured. A database is an indexing system with some metadata used to keep track of the schemata. When you create tables, indexes, etc. you are creating a schema &lt;i&gt;on top of&lt;/i&gt; the database. In turn, what they were advocating was that systems be developed such that programmers can create schemata to modify them. So they&#039;re not going in and modifying the base system the way software is modified now by directly and fundamentally changing it. Instead you change it &lt;i&gt;in effect&lt;/i&gt; by taking advantage of an abstraction layer the system provides. It&#039;s like Lisp with macros. You&#039;re not fundamentally changing how Lisp operates, but from your POV, you are changing it.</description>
		<content:encoded><![CDATA[<p>Okay. I thought of some more stuff.</p>
<p>Re: Changing interfaces</p>
<p>I think you might&#8217;ve missed the point there. What they were talking about was developing systems that are similar to the way databases are structured. A database is an indexing system with some metadata used to keep track of the schemata. When you create tables, indexes, etc. you are creating a schema <i>on top of</i> the database. In turn, what they were advocating was that systems be developed such that programmers can create schemata to modify them. So they&#8217;re not going in and modifying the base system the way software is modified now by directly and fundamentally changing it. Instead you change it <i>in effect</i> by taking advantage of an abstraction layer the system provides. It&#8217;s like Lisp with macros. You&#8217;re not fundamentally changing how Lisp operates, but from your POV, you are changing it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Miller</title>
		<link>http://lispy.wordpress.com/2007/11/30/and-all-remnants-of-literature-disappeared/#comment-1204</link>
		<dc:creator>Mark Miller</dc:creator>
		<pubDate>Fri, 14 Dec 2007 06:13:29 +0000</pubDate>
		<guid isPermaLink="false">http://lispy.wordpress.com/2007/11/30/and-all-remnants-of-literature-disappeared/#comment-1204</guid>
		<description>I thought it was interesting that Gabriel and Goldman also complained that programming languages were being treated as re-usable &quot;universals&quot;--all of which have been some variant of Fortran and assembly language. A corollary to this is the cop-out that &quot;All languages are basically the same because they&#039;re all Turing Complete&quot;. This is its own self-fulfilling prophecy. To most programmers all languages appear to have the same basic root, because the ones that don&#039;t fit are rejected.

My take on the computing &quot;pop culture&quot;, which you referred to, is just that. It has more in common with this statement by Gabriel and Goldman: &quot;Open-source projects tend to be convergent: Each project is aimed at a particular artifact in the end.&quot; This is how commercial software is, too. There&#039;s an emphasis on features rather than the whole computing experience.

Alan Kay had his own take, which had more in common with the article&#039;s criticism of the web, saying it&#039;s a mediocre technology that became popular because it was accessible. The authors took this one step further than Kay, saying that people from outside the computing field turned it into something beautiful, despite its shortcomings.

Kay has been concerned with the current perception and practice of programming, but he&#039;s also been concerned with system design. My article on &quot;pop culture&quot; was more in this vein.

I think Gabriel and Goldman make an interesting point in saying that progress in computer science was frozen when the &quot;literature of software&quot; was killed by commercialization. They said the closed-source nature of commercial software is what did in CS. I think it&#039;s plausible it contributed to the freezing, or even the retrogression of CS, but it&#039;s not a strong argument, IMO. One of the things Alan Kay complained about when Smalltalk became commercialized was that it became frozen. Here&#039;s the thing though. The literature was all there for developers to find and use. Smalltalk has an inherent open source nature about it. Secondly, Kay has complained that there&#039;s been plenty of groundbreaking research that was done in the 1960s that was published, but has been completely ignored by the programming culture. Instead they&#039;ve been content to reinvent the wheel, but they haven&#039;t done as good a job at it.

Commercial implementations of Smalltalk closed off some of the VM code, but a lot of the code was there for the reading. Secondly, the Xerox team published the &quot;Blue Book&quot; on Smalltalk, which had a complete description of the language, and a complete description, with source code, of the VM. The development community that grew up around Smalltalk chose by and large to ignore the literature. The programming culture treated Smalltalk like it was a communication protocol, like TCP/IP. It was treated like a standard. It evolved in some ways over time. The Smalltalk community created innovations that are in mainstream use today in developer tools and methodologies (though the mainstream VMs and languages still fall short), but they failed to recognized Alan Kay&#039;s vision for Smalltalk, which was a system for bootstrapping other, better systems. Instead, Smalltalk-80 (created in 1980) did not change in fundamental system design for about 20 years.

Squeak is the first version of Smalltalk to begin this process anew. For example, Alan Kay and some fellow researchers created Croquet using Squeak. It was in effect a project bootstrapped from Squeak. Croquet has similar qualities to it, but it&#039;s a 3D user interaction/simulation system that promotes group collaboration, similar to Second Life, whereas Squeak/Smalltalk was single-user/P2P-oriented. Scratch, and some commercial software have been bootstrapped from it as well. I think what&#039;s different now is a different culture was built up around Squeak. Alan Kay has had more of a say in its development as well.

The way the Squeak community is organized is similar to the way Gabriel and Goldman describe mob software. It is focused on the user, making it cater to them, not just professional developers. There&#039;s no fixed organization, and no standard. There&#039;s a lot of forking going on in it. A lot of Smalltalkers complain about this, but it&#039;s what Kay wanted.

I&#039;ll get to some of your other points later, I think. Interesting post.</description>
		<content:encoded><![CDATA[<p>I thought it was interesting that Gabriel and Goldman also complained that programming languages were being treated as re-usable &#8220;universals&#8221;&#8211;all of which have been some variant of Fortran and assembly language. A corollary to this is the cop-out that &#8220;All languages are basically the same because they&#8217;re all Turing Complete&#8221;. This is its own self-fulfilling prophecy. To most programmers all languages appear to have the same basic root, because the ones that don&#8217;t fit are rejected.</p>
<p>My take on the computing &#8220;pop culture&#8221;, which you referred to, is just that. It has more in common with this statement by Gabriel and Goldman: &#8220;Open-source projects tend to be convergent: Each project is aimed at a particular artifact in the end.&#8221; This is how commercial software is, too. There&#8217;s an emphasis on features rather than the whole computing experience.</p>
<p>Alan Kay had his own take, which had more in common with the article&#8217;s criticism of the web, saying it&#8217;s a mediocre technology that became popular because it was accessible. The authors took this one step further than Kay, saying that people from outside the computing field turned it into something beautiful, despite its shortcomings.</p>
<p>Kay has been concerned with the current perception and practice of programming, but he&#8217;s also been concerned with system design. My article on &#8220;pop culture&#8221; was more in this vein.</p>
<p>I think Gabriel and Goldman make an interesting point in saying that progress in computer science was frozen when the &#8220;literature of software&#8221; was killed by commercialization. They said the closed-source nature of commercial software is what did in CS. I think it&#8217;s plausible it contributed to the freezing, or even the retrogression of CS, but it&#8217;s not a strong argument, IMO. One of the things Alan Kay complained about when Smalltalk became commercialized was that it became frozen. Here&#8217;s the thing though. The literature was all there for developers to find and use. Smalltalk has an inherent open source nature about it. Secondly, Kay has complained that there&#8217;s been plenty of groundbreaking research that was done in the 1960s that was published, but has been completely ignored by the programming culture. Instead they&#8217;ve been content to reinvent the wheel, but they haven&#8217;t done as good a job at it.</p>
<p>Commercial implementations of Smalltalk closed off some of the VM code, but a lot of the code was there for the reading. Secondly, the Xerox team published the &#8220;Blue Book&#8221; on Smalltalk, which had a complete description of the language, and a complete description, with source code, of the VM. The development community that grew up around Smalltalk chose by and large to ignore the literature. The programming culture treated Smalltalk like it was a communication protocol, like TCP/IP. It was treated like a standard. It evolved in some ways over time. The Smalltalk community created innovations that are in mainstream use today in developer tools and methodologies (though the mainstream VMs and languages still fall short), but they failed to recognized Alan Kay&#8217;s vision for Smalltalk, which was a system for bootstrapping other, better systems. Instead, Smalltalk-80 (created in 1980) did not change in fundamental system design for about 20 years.</p>
<p>Squeak is the first version of Smalltalk to begin this process anew. For example, Alan Kay and some fellow researchers created Croquet using Squeak. It was in effect a project bootstrapped from Squeak. Croquet has similar qualities to it, but it&#8217;s a 3D user interaction/simulation system that promotes group collaboration, similar to Second Life, whereas Squeak/Smalltalk was single-user/P2P-oriented. Scratch, and some commercial software have been bootstrapped from it as well. I think what&#8217;s different now is a different culture was built up around Squeak. Alan Kay has had more of a say in its development as well.</p>
<p>The way the Squeak community is organized is similar to the way Gabriel and Goldman describe mob software. It is focused on the user, making it cater to them, not just professional developers. There&#8217;s no fixed organization, and no standard. There&#8217;s a lot of forking going on in it. A lot of Smalltalkers complain about this, but it&#8217;s what Kay wanted.</p>
<p>I&#8217;ll get to some of your other points later, I think. Interesting post.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
