<?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"
	>
<channel>
	<title>Comments on: Expessive Design - Slides</title>
	<atom:link href="http://fragmental.tw/2009/03/12/expessive-design-slides/feed/" rel="self" type="application/rss+xml" />
	<link>http://fragmental.tw/2009/03/12/expessive-design-slides/</link>
	<description>Repeat after me: Data is code, code is data.</description>
	<pubDate>Fri, 10 Sep 2010 18:44:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>By: Thoughts on Abstractions: Part 1 – Abstractions Everywhere at Fragmental.tw</title>
		<link>http://fragmental.tw/2009/03/12/expessive-design-slides/#comment-2425</link>
		<dc:creator>Thoughts on Abstractions: Part 1 – Abstractions Everywhere at Fragmental.tw</dc:creator>
		<pubDate>Tue, 17 Aug 2010 12:15:57 +0000</pubDate>
		<guid isPermaLink="false">http://fragmental.tw/?p=136#comment-2425</guid>
		<description>[...] Think of an abstraction as some new concept that you cannot express directly using the words you had (i.e. the primitives), something that needs completely new words to be described. This new level created by the abstraction must make it easier for you to describe your system as it gives you new words that let you express exactly what you want, with minimal noise. [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Think of an abstraction as some new concept that you cannot express directly using the words you had (i.e. the primitives), something that needs completely new words to be described. This new level created by the abstraction must make it easier for you to describe your system as it gives you new words that let you express exactly what you want, with minimal noise. [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam Aaron</title>
		<link>http://fragmental.tw/2009/03/12/expessive-design-slides/#comment-1791</link>
		<dc:creator>Sam Aaron</dc:creator>
		<pubDate>Fri, 12 Jun 2009 14:22:48 +0000</pubDate>
		<guid isPermaLink="false">http://fragmental.tw/?p=136#comment-1791</guid>
		<description>Nice slides :-)

I would also argue that for both types of DSLs, language isn't a tool for modelling the domain, rather it is a tool for communicating it. For me, this is one of the fundamental differences between DSLs and APIs; the intention is communication of functionality rather than the definition and modelling of it.</description>
		<content:encoded><![CDATA[<p>Nice slides <img src='http://fragmental.tw/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I would also argue that for both types of DSLs, language isn&#8217;t a tool for modelling the domain, rather it is a tool for communicating it. For me, this is one of the fundamental differences between DSLs and APIs; the intention is communication of functionality rather than the definition and modelling of it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tag Clouds: See How Noisy Your Code Is at Fragmental.tw</title>
		<link>http://fragmental.tw/2009/03/12/expessive-design-slides/#comment-1727</link>
		<dc:creator>Tag Clouds: See How Noisy Your Code Is at Fragmental.tw</dc:creator>
		<pubDate>Wed, 29 Apr 2009 07:13:38 +0000</pubDate>
		<guid isPermaLink="false">http://fragmental.tw/?p=136#comment-1727</guid>
		<description>[...] If you follow this blog then you probably know that one of current interests is expressive design, either using Domain-Driven Design or Domain-Specific Languages. Here is a presentation about this topic. [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] If you follow this blog then you probably know that one of current interests is expressive design, either using Domain-Driven Design or Domain-Specific Languages. Here is a presentation about this topic. [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rodrigo Yoshima</title>
		<link>http://fragmental.tw/2009/03/12/expessive-design-slides/#comment-1665</link>
		<dc:creator>Rodrigo Yoshima</dc:creator>
		<pubDate>Sat, 21 Mar 2009 17:30:27 +0000</pubDate>
		<guid isPermaLink="false">http://fragmental.tw/?p=136#comment-1665</guid>
		<description>Nice Presentation...

I agree. IMHO, "Standard Procedural" is a better choice for "Idiomatic Java".</description>
		<content:encoded><![CDATA[<p>Nice Presentation&#8230;</p>
<p>I agree. IMHO, &#8220;Standard Procedural&#8221; is a better choice for &#8220;Idiomatic Java&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim High</title>
		<link>http://fragmental.tw/2009/03/12/expessive-design-slides/#comment-1645</link>
		<dc:creator>Tim High</dc:creator>
		<pubDate>Thu, 12 Mar 2009 17:28:28 +0000</pubDate>
		<guid isPermaLink="false">http://fragmental.tw/?p=136#comment-1645</guid>
		<description>Still thinking... I would propose "Procedural", since it's about the procedure, or the steps involved in getting the job done (again, about the "how"). But we know that can also be misleading in an OO language. "Functional" would be a parallel, but with the same problems. How about "Operational Java"?</description>
		<content:encoded><![CDATA[<p>Still thinking&#8230; I would propose &#8220;Procedural&#8221;, since it&#8217;s about the procedure, or the steps involved in getting the job done (again, about the &#8220;how&#8221;). But we know that can also be misleading in an OO language. &#8220;Functional&#8221; would be a parallel, but with the same problems. How about &#8220;Operational Java&#8221;?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim High</title>
		<link>http://fragmental.tw/2009/03/12/expessive-design-slides/#comment-1644</link>
		<dc:creator>Tim High</dc:creator>
		<pubDate>Thu, 12 Mar 2009 17:23:08 +0000</pubDate>
		<guid isPermaLink="false">http://fragmental.tw/?p=136#comment-1644</guid>
		<description>API-Driven Design?
Inexpressive Design?
Literal Java?
Java-Driven Java?

I'm sure I can come up with something better than that...

To some degree, this reminds me of the difference between what is considered "bad" inline comments and "good" inline comments. One describes what you are doing, while the other describes why. And so, "Expressive Design" eliminates the need for even the latter category.

It's also a bit of the hunt n' peck style of Java: Ok, how do I do this? Now, what's the next command I need? Now how do I create an attachment? Looks like the developer is trying to figure it out as they go along, like they're reading it out of a Java-in-21-days book. If I were a driving instructor, I'd tell them to "Aim high in steering".</description>
		<content:encoded><![CDATA[<p>API-Driven Design?<br />
Inexpressive Design?<br />
Literal Java?<br />
Java-Driven Java?</p>
<p>I&#8217;m sure I can come up with something better than that&#8230;</p>
<p>To some degree, this reminds me of the difference between what is considered &#8220;bad&#8221; inline comments and &#8220;good&#8221; inline comments. One describes what you are doing, while the other describes why. And so, &#8220;Expressive Design&#8221; eliminates the need for even the latter category.</p>
<p>It&#8217;s also a bit of the hunt n&#8217; peck style of Java: Ok, how do I do this? Now, what&#8217;s the next command I need? Now how do I create an attachment? Looks like the developer is trying to figure it out as they go along, like they&#8217;re reading it out of a Java-in-21-days book. If I were a driving instructor, I&#8217;d tell them to &#8220;Aim high in steering&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rafael Peixoto de Azevedo</title>
		<link>http://fragmental.tw/2009/03/12/expessive-design-slides/#comment-1643</link>
		<dc:creator>Rafael Peixoto de Azevedo</dc:creator>
		<pubDate>Thu, 12 Mar 2009 14:48:54 +0000</pubDate>
		<guid isPermaLink="false">http://fragmental.tw/?p=136#comment-1643</guid>
		<description>I promptly understood the term "Idiomatic Java" to refer to techniques with excessive focus on the Java language syntax itself, which is detrimental to expressing the domain concepts.

In that sense, in my reading, the term didn't add noise to your presentation.

I think what might be missing in the term is the crucial distinction between business idioms and Java or object oriented idioms. This would clearly separate semantics from syntax, purpose from tools and value from noise.</description>
		<content:encoded><![CDATA[<p>I promptly understood the term &#8220;Idiomatic Java&#8221; to refer to techniques with excessive focus on the Java language syntax itself, which is detrimental to expressing the domain concepts.</p>
<p>In that sense, in my reading, the term didn&#8217;t add noise to your presentation.</p>
<p>I think what might be missing in the term is the crucial distinction between business idioms and Java or object oriented idioms. This would clearly separate semantics from syntax, purpose from tools and value from noise.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
