<?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/"
		>
<channel>
	<title>Comments on: Extensible Programming Slashdotted (Unfortunately)</title>
	<atom:link href="http://third-bit.com/blog/archives/173.html/feed" rel="self" type="application/rss+xml" />
	<link>http://third-bit.com/blog/archives/173.html</link>
	<description>Data is ones and zeroes &#124; Software is ones and zeroes and hard work.</description>
	<lastBuildDate>Fri, 03 Feb 2012 17:07:30 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Adrian</title>
		<link>http://third-bit.com/blog/archives/173.html#comment-136</link>
		<dc:creator>Adrian</dc:creator>
		<pubDate>Wed, 19 Jan 2005 18:37:09 +0000</pubDate>
		<guid isPermaLink="false">http://pyre.third-bit.com/blog/?p=173#comment-136</guid>
		<description>Just a few of concerns about your article:

1. I don&#039;t see how it solves the problem of having to look at machine generated XML code when something goes wrong. You say that this is a major problem of many systems. For example, if I was to write a languag extension in an extensible programming language, and due to some error in my code it translates to something that doesn&#039;t make sense in the language/mode I view my programs in, how do I debug it without looking at the generated XML? Such an error might be caused by a macro generating XML that violates the schema that the system stores its programs in.

2. A related point: how are we to write such macros? Are they written in whatever way we like to view our programs, or do we need to use a special transformer language? (e.g. Scheme&#039;s hygienic macros not being normal scheme code. (BTW, your Scheme example is not of hygienic macros as you seem to imply.)) As far as I can tell, macro code would have to both consume and produce the underlying XML code in order to be independent of the programers&#039; choice of language representation. A language handy for such manipulations would invariably come out to be lispy, IMO.

3. And now to contradict myself: Is it really so bad that programmers should look at their programs as a tree structure (whether it&#039;s in s-expressions or XML)? Sure, it&#039;s strange and unpopular, but it does have its advantages. The reason Lisp is so powerful is that its programs and macros are written in the same language as the data they operate on and it&#039;s primitives are handy for doing so. In the system you describe, there seems to be a disconnect between the way a normal program works and looks and the way macros work and look. I think that the underlying program representation (XML data) will always be in some way more powerful than the programmer&#039;s specific view of the program.

IIRC, I read on Paul Graham&#039;s website that there was once an early Lisp system that was supposed to have a syntax built on top of it that was more like the languages that programmers were acustomed to at the time. However, no one got around to making it because all the programmers got hooked on writing s-expressions, finding it to be better.

4. You say that using XML will make it popular amoung programmers. If the irrational reaction on slashdot means anything, I think it means that this point is not true. I think it is more popular with PHBs, managers, and marketers than with programmers. It gets overused so much, that there is a backlash against &quot;XML everything&quot;. I do see the advantage of XML, namely the huge number of tools already in existance that help use it, but how many of these would be really useful in writing programs, rather than munging loads of uniform data? Perhaps one could invent a data format that is in some way superior to both XML and s-expressions that people would not mind looking at directly.

It&#039;s quite an interesting proposal and I would like to see what comes from it.</description>
		<content:encoded><![CDATA[<p>Just a few of concerns about your article:</p>
<p>1. I don&#8217;t see how it solves the problem of having to look at machine generated XML code when something goes wrong. You say that this is a major problem of many systems. For example, if I was to write a languag extension in an extensible programming language, and due to some error in my code it translates to something that doesn&#8217;t make sense in the language/mode I view my programs in, how do I debug it without looking at the generated XML? Such an error might be caused by a macro generating XML that violates the schema that the system stores its programs in.</p>
<p>2. A related point: how are we to write such macros? Are they written in whatever way we like to view our programs, or do we need to use a special transformer language? (e.g. Scheme&#8217;s hygienic macros not being normal scheme code. (BTW, your Scheme example is not of hygienic macros as you seem to imply.)) As far as I can tell, macro code would have to both consume and produce the underlying XML code in order to be independent of the programers&#8217; choice of language representation. A language handy for such manipulations would invariably come out to be lispy, IMO.</p>
<p>3. And now to contradict myself: Is it really so bad that programmers should look at their programs as a tree structure (whether it&#8217;s in s-expressions or XML)? Sure, it&#8217;s strange and unpopular, but it does have its advantages. The reason Lisp is so powerful is that its programs and macros are written in the same language as the data they operate on and it&#8217;s primitives are handy for doing so. In the system you describe, there seems to be a disconnect between the way a normal program works and looks and the way macros work and look. I think that the underlying program representation (XML data) will always be in some way more powerful than the programmer&#8217;s specific view of the program.</p>
<p>IIRC, I read on Paul Graham&#8217;s website that there was once an early Lisp system that was supposed to have a syntax built on top of it that was more like the languages that programmers were acustomed to at the time. However, no one got around to making it because all the programmers got hooked on writing s-expressions, finding it to be better.</p>
<p>4. You say that using XML will make it popular amoung programmers. If the irrational reaction on slashdot means anything, I think it means that this point is not true. I think it is more popular with PHBs, managers, and marketers than with programmers. It gets overused so much, that there is a backlash against &#8220;XML everything&#8221;. I do see the advantage of XML, namely the huge number of tools already in existance that help use it, but how many of these would be really useful in writing programs, rather than munging loads of uniform data? Perhaps one could invent a data format that is in some way superior to both XML and s-expressions that people would not mind looking at directly.</p>
<p>It&#8217;s quite an interesting proposal and I would like to see what comes from it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrian</title>
		<link>http://third-bit.com/blog/archives/173.html#comment-135</link>
		<dc:creator>Adrian</dc:creator>
		<pubDate>Wed, 19 Jan 2005 06:04:26 +0000</pubDate>
		<guid isPermaLink="false">http://pyre.third-bit.com/blog/?p=173#comment-135</guid>
		<description>Is a prototype system in the works?</description>
		<content:encoded><![CDATA[<p>Is a prototype system in the works?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vlad</title>
		<link>http://third-bit.com/blog/archives/173.html#comment-134</link>
		<dc:creator>Vlad</dc:creator>
		<pubDate>Wed, 19 Jan 2005 04:42:52 +0000</pubDate>
		<guid isPermaLink="false">http://pyre.third-bit.com/blog/?p=173#comment-134</guid>
		<description>Not only is the proposal itself fascinating (extensible languages) but the reaction on Slashdot as well.  I&#039;ve heard Greg talk about this a few times already in various places (studygroup, etc.) so I have an idea of what it involves.  But the replies on Slashdot had *nothing* to do with the core concept _whatsoever_.  They all latched onto the &quot;XML is ugly and typing tags are evil&quot; thing and kept flogging that particular dead horse (actually, one person near the bottom of the page had the right idea).

This really puts most of the other Slashdot articles and responses in perspective.  I wonder, what is the demographic markup of the Slashdot response posters anyway?  Is it because these particularly-minded people will tend to congregate in such areas, or simply that posting a reply anonymously to an article by a person you&#039;ve probably never met allows your ego free rein?</description>
		<content:encoded><![CDATA[<p>Not only is the proposal itself fascinating (extensible languages) but the reaction on Slashdot as well.  I&#8217;ve heard Greg talk about this a few times already in various places (studygroup, etc.) so I have an idea of what it involves.  But the replies on Slashdot had *nothing* to do with the core concept _whatsoever_.  They all latched onto the &#8220;XML is ugly and typing tags are evil&#8221; thing and kept flogging that particular dead horse (actually, one person near the bottom of the page had the right idea).</p>
<p>This really puts most of the other Slashdot articles and responses in perspective.  I wonder, what is the demographic markup of the Slashdot response posters anyway?  Is it because these particularly-minded people will tend to congregate in such areas, or simply that posting a reply anonymously to an article by a person you&#8217;ve probably never met allows your ego free rein?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

