<?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: Higher Order Objects</title>
	<atom:link href="http://codemonkeyism.com/higher-order-objects/feed/" rel="self" type="application/rss+xml" />
	<link>http://codemonkeyism.com/higher-order-objects/</link>
	<description></description>
	<lastBuildDate>Mon, 15 Mar 2010 13:03:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Matt</title>
		<link>http://codemonkeyism.com/higher-order-objects/comment-page-1/#comment-178498</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Sat, 11 Oct 2008 16:33:11 +0000</pubDate>
		<guid isPermaLink="false">http://stephan.reposita.org/archives/2008/09/23/higher-order-objects/#comment-178498</guid>
		<description>I don&#039;t know much about Steve Yegge, I&#039;m afraid. I liked his verb/noun metaphors as a slightly more colourful way of talking about how state and behaviour are treated in a programming language.

You&#039;re quite right to point out that objects bundle data together with actions on that data, and so might more accurately be considered verb/noun hybrids. I would still be rather hesitant to say that objects-calling-objects adequately corresponds to the notion of higher-order functions. 

In my view, higher-order functions are the FP equivalent of the Strategy Pattern in OO. When we say an object is a strategy, we really mean we&#039;re thinking about that object taking the role of a pure verb (even though in actual fact it could well contain state and be a verb/noun hybrid). But that an object is passed into a method does not make it, in general, a full-on strategy, even though the method might invoke behaviour on that object. In the same way, I&#039;d argue it&#039;s not necessarily &quot;higher-order&quot; in the functional-programming sense either.

I reckon &quot;verbing a verb&quot; is probably going to be a bit of a head-scratcher the first time you see it, regardless of OO or FP...</description>
		<content:encoded><![CDATA[<p>I don&#8217;t know much about Steve Yegge, I&#8217;m afraid. I liked his verb/noun metaphors as a slightly more colourful way of talking about how state and behaviour are treated in a programming language.</p>
<p>You&#8217;re quite right to point out that objects bundle data together with actions on that data, and so might more accurately be considered verb/noun hybrids. I would still be rather hesitant to say that objects-calling-objects adequately corresponds to the notion of higher-order functions. </p>
<p>In my view, higher-order functions are the FP equivalent of the Strategy Pattern in OO. When we say an object is a strategy, we really mean we&#8217;re thinking about that object taking the role of a pure verb (even though in actual fact it could well contain state and be a verb/noun hybrid). But that an object is passed into a method does not make it, in general, a full-on strategy, even though the method might invoke behaviour on that object. In the same way, I&#8217;d argue it&#8217;s not necessarily &#8220;higher-order&#8221; in the functional-programming sense either.</p>
<p>I reckon &#8220;verbing a verb&#8221; is probably going to be a bit of a head-scratcher the first time you see it, regardless of OO or FP&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tracy</title>
		<link>http://codemonkeyism.com/higher-order-objects/comment-page-1/#comment-178489</link>
		<dc:creator>Tracy</dc:creator>
		<pubDate>Sat, 11 Oct 2008 16:01:36 +0000</pubDate>
		<guid isPermaLink="false">http://stephan.reposita.org/archives/2008/09/23/higher-order-objects/#comment-178489</guid>
		<description>@Rick:  I think your view is actually pretty mainstream; after all &quot;function&quot;-al languages are based on functions (=actions -&gt; =verbs), whereas &quot;object&quot;-oriented languages are based on objects (=nouns).

Just to fling a sparkler into the crowd, I don&#039;t think that functional languages are going to be as &quot;big&quot; as OOP.  Functional languages seem mostly oriented towards data transformation, not data representation.  So yes, they&#039;re more powerful and compact than today&#039;s OOP languages for transforming a data set or filtering collections, but they seem kind of clumsy for (say) building a GUI.  Caveat: I haven&#039;t been following the new FP trend very closely, but I used Scheme and APL BITD.  I did start to read Steve Yegge&#039;s stuff but JFC he&#039;s got a lot of free time on his hands...</description>
		<content:encoded><![CDATA[<p>@Rick:  I think your view is actually pretty mainstream; after all &#8220;function&#8221;-al languages are based on functions (=actions -&gt; =verbs), whereas &#8220;object&#8221;-oriented languages are based on objects (=nouns).</p>
<p>Just to fling a sparkler into the crowd, I don&#8217;t think that functional languages are going to be as &#8220;big&#8221; as OOP.  Functional languages seem mostly oriented towards data transformation, not data representation.  So yes, they&#8217;re more powerful and compact than today&#8217;s OOP languages for transforming a data set or filtering collections, but they seem kind of clumsy for (say) building a GUI.  Caveat: I haven&#8217;t been following the new FP trend very closely, but I used Scheme and APL BITD.  I did start to read Steve Yegge&#8217;s stuff but JFC he&#8217;s got a lot of free time on his hands&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/higher-order-objects/comment-page-1/#comment-178387</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Sat, 11 Oct 2008 13:14:59 +0000</pubDate>
		<guid isPermaLink="false">http://stephan.reposita.org/archives/2008/09/23/higher-order-objects/#comment-178387</guid>
		<description>Sorry to disagree, if we should go into the shady noun/verb analogy then objects are verb/noun hybrids while functions are verbs. 

In OO this means objects are higher order objects, because they take objects (verb/noun hybrids) as arguments. Objects have 2 dimensions while functions have only one (being verbs). Objects would not be higher order objects if they would only take primitives (nouns) that hold state but do not have methods (verbs).

And sorry to not read Steve Yegge posts, those are zealot propaganda spewing posts I have no temper to read. I&#039;m very glad he lives in dynamic land - the land of fanatics and zealots - and not in Scala land. I&#039;m to old for that. Fanatics weren&#039;t funny in the end of the Amiga/ST days and are even less funny today (please ingore my posts to comp.sys.amiga.advocacy ;-) 

Those people have a rigid mindset with everything explained. They are opposite of what Zen calls beginners minds.</description>
		<content:encoded><![CDATA[<p>Sorry to disagree, if we should go into the shady noun/verb analogy then objects are verb/noun hybrids while functions are verbs. </p>
<p>In OO this means objects are higher order objects, because they take objects (verb/noun hybrids) as arguments. Objects have 2 dimensions while functions have only one (being verbs). Objects would not be higher order objects if they would only take primitives (nouns) that hold state but do not have methods (verbs).</p>
<p>And sorry to not read Steve Yegge posts, those are zealot propaganda spewing posts I have no temper to read. I&#8217;m very glad he lives in dynamic land &#8211; the land of fanatics and zealots &#8211; and not in Scala land. I&#8217;m to old for that. Fanatics weren&#8217;t funny in the end of the Amiga/ST days and are even less funny today (please ingore my posts to comp.sys.amiga.advocacy ;-) </p>
<p>Those people have a rigid mindset with everything explained. They are opposite of what Zen calls beginners minds.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt</title>
		<link>http://codemonkeyism.com/higher-order-objects/comment-page-1/#comment-178350</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Sat, 11 Oct 2008 11:28:19 +0000</pubDate>
		<guid isPermaLink="false">http://stephan.reposita.org/archives/2008/09/23/higher-order-objects/#comment-178350</guid>
		<description>Regardless of whether you&#039;re using an object-oriented or functional language, I think the idea of &quot;verbing a verb&quot;[1] is distinct to that of &quot;verbing a noun&quot;. To &quot;verb a verb&quot; in functional programming means higher order functions. In OO, it&#039;s &quot;the Strategy Pattern&quot;; passing a plain-old object into a method is still just &quot;verbing a noun&quot;. 

To be controversial, I&#039;d actually argue that &quot;verbing a verb&quot; is a more natural concept in functional programming than in OO, because FP is &quot;verb&quot;-oriented, whereas OO tends to be more &quot;noun&quot;-centric.

[1] Cheesy nouns/verbs stuff from http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html</description>
		<content:encoded><![CDATA[<p>Regardless of whether you&#8217;re using an object-oriented or functional language, I think the idea of &#8220;verbing a verb&#8221;[1] is distinct to that of &#8220;verbing a noun&#8221;. To &#8220;verb a verb&#8221; in functional programming means higher order functions. In OO, it&#8217;s &#8220;the Strategy Pattern&#8221;; passing a plain-old object into a method is still just &#8220;verbing a noun&#8221;. </p>
<p>To be controversial, I&#8217;d actually argue that &#8220;verbing a verb&#8221; is a more natural concept in functional programming than in OO, because FP is &#8220;verb&#8221;-oriented, whereas OO tends to be more &#8220;noun&#8221;-centric.</p>
<p>[1] Cheesy nouns/verbs stuff from <a href="http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html" rel="nofollow">http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/higher-order-objects/comment-page-1/#comment-178211</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Sat, 11 Oct 2008 06:05:06 +0000</pubDate>
		<guid isPermaLink="false">http://stephan.reposita.org/archives/2008/09/23/higher-order-objects/#comment-178211</guid>
		<description>Oh, there surely is a language which only takes primitives as parameters, and if I had written &quot;all&quot; then someone would have found the language and pointed it out ;-)</description>
		<content:encoded><![CDATA[<p>Oh, there surely is a language which only takes primitives as parameters, and if I had written &#8220;all&#8221; then someone would have found the language and pointed it out ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dumb Founded</title>
		<link>http://codemonkeyism.com/higher-order-objects/comment-page-1/#comment-178095</link>
		<dc:creator>Dumb Founded</dc:creator>
		<pubDate>Fri, 10 Oct 2008 23:44:21 +0000</pubDate>
		<guid isPermaLink="false">http://stephan.reposita.org/archives/2008/09/23/higher-order-objects/#comment-178095</guid>
		<description>&quot;Nearly all&quot; Okay, name one that doesn&#039;t.

I will never get this 30 seconds back.</description>
		<content:encoded><![CDATA[<p>&#8220;Nearly all&#8221; Okay, name one that doesn&#8217;t.</p>
<p>I will never get this 30 seconds back.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
