<?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: RESTful Data</title>
	<atom:link href="http://steve.vinoski.net/blog/2008/02/28/restful-data/feed/" rel="self" type="application/rss+xml" />
	<link>http://steve.vinoski.net/blog/2008/02/28/restful-data/</link>
	<description>Ask forgiveness, not permission.</description>
	<lastBuildDate>Sun, 06 Nov 2011 14:09:37 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Weekly SOA crumbs #10 - Service Endpoint</title>
		<link>http://steve.vinoski.net/blog/2008/02/28/restful-data/comment-page-1/#comment-729</link>
		<dc:creator>Weekly SOA crumbs #10 - Service Endpoint</dc:creator>
		<pubDate>Mon, 10 Mar 2008 05:26:29 +0000</pubDate>
		<guid isPermaLink="false">http://steve.vinoski.net/blog/2008/02/28/restful-data/#comment-729</guid>
		<description>[...] REST RESTful Data Idempotency of PUT, and common mistakes (via Stefan Tilkov) [...]</description>
		<content:encoded><![CDATA[<p>[...] REST RESTful Data Idempotency of PUT, and common mistakes (via Stefan Tilkov) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adam Burry</title>
		<link>http://steve.vinoski.net/blog/2008/02/28/restful-data/comment-page-1/#comment-720</link>
		<dc:creator>Adam Burry</dc:creator>
		<pubDate>Thu, 28 Feb 2008 18:38:46 +0000</pubDate>
		<guid isPermaLink="false">http://steve.vinoski.net/blog/2008/02/28/restful-data/#comment-720</guid>
		<description>I liked your description of C-like structs as describing the shape of bit sequences. I also liked the idea of contrasting this with self-describing data. It reminds me of the well-known statement by Hoare, &quot;We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.&quot;

Compilers are able to optimize monolithic programs because at compile time they have the complete definition of the system. Therefore, they know which registers have to be pushed before a function call, and which don&#039;t, and they know that everyone is in agreement about the &quot;shape&quot; of the data.

However, in the distributed case, the notion of a compiler, a process with a complete view of the system, is not desirable. Or at least, not realistic. In this case, optimizing the data by obscuring its shape appears to be a premature optimization. We need flexibility there because we do not have all the information about what happens to the data next.

Sections 2.4, 2.5 and 5.5 of &quot;Structure and Interpretation of Computer Programs&quot; by Abelson and Sussman applies here. I think even clearer than the text might be lectures 4b and 10a by the same authors found here: http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/</description>
		<content:encoded><![CDATA[<p>I liked your description of C-like structs as describing the shape of bit sequences. I also liked the idea of contrasting this with self-describing data. It reminds me of the well-known statement by Hoare, &#8220;We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.&#8221;</p>
<p>Compilers are able to optimize monolithic programs because at compile time they have the complete definition of the system. Therefore, they know which registers have to be pushed before a function call, and which don&#8217;t, and they know that everyone is in agreement about the &#8220;shape&#8221; of the data.</p>
<p>However, in the distributed case, the notion of a compiler, a process with a complete view of the system, is not desirable. Or at least, not realistic. In this case, optimizing the data by obscuring its shape appears to be a premature optimization. We need flexibility there because we do not have all the information about what happens to the data next.</p>
<p>Sections 2.4, 2.5 and 5.5 of &#8220;Structure and Interpretation of Computer Programs&#8221; by Abelson and Sussman applies here. I think even clearer than the text might be lectures 4b and 10a by the same authors found here: <a href="http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/" rel="nofollow">http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>

