<?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: Bob Ippolito on Erlang</title>
	<atom:link href="http://steve.vinoski.net/blog/2008/04/14/bob-ippolito-on-erlang/feed/" rel="self" type="application/rss+xml" />
	<link>http://steve.vinoski.net/blog/2008/04/14/bob-ippolito-on-erlang/</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 #15: Have you seen the latest &#8220;mesh&#8221;up from Microsoft? - Service Endpoint</title>
		<link>http://steve.vinoski.net/blog/2008/04/14/bob-ippolito-on-erlang/comment-page-1/#comment-850</link>
		<dc:creator>Weekly SOA crumbs #15: Have you seen the latest &#8220;mesh&#8221;up from Microsoft? - Service Endpoint</dc:creator>
		<pubDate>Wed, 30 Apr 2008 01:52:16 +0000</pubDate>
		<guid isPermaLink="false">http://steve.vinoski.net/blog/?p=60#comment-850</guid>
		<description>[...] interesting links Bob Ippolito on Erlang Dino Chiesa on Varying Content-Type according to the URL in a WCF REST [...]</description>
		<content:encoded><![CDATA[<p>[...] interesting links Bob Ippolito on Erlang Dino Chiesa on Varying Content-Type according to the URL in a WCF REST [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ulf Wiger</title>
		<link>http://steve.vinoski.net/blog/2008/04/14/bob-ippolito-on-erlang/comment-page-1/#comment-831</link>
		<dc:creator>Ulf Wiger</dc:creator>
		<pubDate>Sat, 19 Apr 2008 16:55:15 +0000</pubDate>
		<guid isPermaLink="false">http://steve.vinoski.net/blog/?p=60#comment-831</guid>
		<description>The claim that Erlang makes reuse hard comes up here and there in the blogosphere, but I don&#039;t recall hearing it from someone who&#039;s actually written serious code in Erlang.

I would claim the opposite, based on my experience from large software projects using Erlang during the past 12 years. Not only do I find reuse quite easy in Erlang - I believe that we practically always achieve a much higher degree of reuse than similar projects in C++ or Java. We have also found that it is  fairly easy to rewrite parts - even fairly large parts - without jeopardizing quality or performance. This is vitally important in long-running projects, and when building lots of different products on the same software base.

Things that greatly simplify reuse in Erlang are polymorphism and pattern-matching, of course, as well as the black-box style programming, but also the fact that it has a pretty clear idea of how software should be written. OTP takes this further and provides &#039;behaviours&#039; and libraries and a consistent notion of architecture and programming style.

My impression of reuse in C++ is that, while it is quite possible to achieve a high degree of reuse in you own code, reusing code from other projects is much more problematic.</description>
		<content:encoded><![CDATA[<p>The claim that Erlang makes reuse hard comes up here and there in the blogosphere, but I don&#8217;t recall hearing it from someone who&#8217;s actually written serious code in Erlang.</p>
<p>I would claim the opposite, based on my experience from large software projects using Erlang during the past 12 years. Not only do I find reuse quite easy in Erlang &#8211; I believe that we practically always achieve a much higher degree of reuse than similar projects in C++ or Java. We have also found that it is  fairly easy to rewrite parts &#8211; even fairly large parts &#8211; without jeopardizing quality or performance. This is vitally important in long-running projects, and when building lots of different products on the same software base.</p>
<p>Things that greatly simplify reuse in Erlang are polymorphism and pattern-matching, of course, as well as the black-box style programming, but also the fact that it has a pretty clear idea of how software should be written. OTP takes this further and provides &#8216;behaviours&#8217; and libraries and a consistent notion of architecture and programming style.</p>
<p>My impression of reuse in C++ is that, while it is quite possible to achieve a high degree of reuse in you own code, reusing code from other projects is much more problematic.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: steve</title>
		<link>http://steve.vinoski.net/blog/2008/04/14/bob-ippolito-on-erlang/comment-page-1/#comment-824</link>
		<dc:creator>steve</dc:creator>
		<pubDate>Tue, 15 Apr 2008 23:38:08 +0000</pubDate>
		<guid isPermaLink="false">http://steve.vinoski.net/blog/?p=60#comment-824</guid>
		<description>Cedric: how much production Erlang code have you written? I&#039;ve written quite a lot and I simply don&#039;t see the issues you claim are there.

I remember reading those blog entries you cite in your comment above, and I remember strongly disagreeing with them. The opinions you state there simply don&#039;t strike me as having been born of real in-depth experience with the language.

For example, if you didn&#039;t find that Erlang was head-and-shoulders above almost all other languages when it comes to concurrency, then I really do fear that you somehow got yourself onto a very wrong track. Erlang&#039;s concurrency support is easily and clearly superior to anything I&#039;ve seen before, and trust me, I&#039;ve been developing concurrent systems for a very long time.

At the end of the day, if you don&#039;t want to use Erlang, then that&#039;s your choice. It doesn&#039;t affect me one way or another, as I fully intend to continue to take full advantage of it.</description>
		<content:encoded><![CDATA[<p>Cedric: how much production Erlang code have you written? I&#8217;ve written quite a lot and I simply don&#8217;t see the issues you claim are there.</p>
<p>I remember reading those blog entries you cite in your comment above, and I remember strongly disagreeing with them. The opinions you state there simply don&#8217;t strike me as having been born of real in-depth experience with the language.</p>
<p>For example, if you didn&#8217;t find that Erlang was head-and-shoulders above almost all other languages when it comes to concurrency, then I really do fear that you somehow got yourself onto a very wrong track. Erlang&#8217;s concurrency support is easily and clearly superior to anything I&#8217;ve seen before, and trust me, I&#8217;ve been developing concurrent systems for a very long time.</p>
<p>At the end of the day, if you don&#8217;t want to use Erlang, then that&#8217;s your choice. It doesn&#8217;t affect me one way or another, as I fully intend to continue to take full advantage of it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cedric</title>
		<link>http://steve.vinoski.net/blog/2008/04/14/bob-ippolito-on-erlang/comment-page-1/#comment-823</link>
		<dc:creator>Cedric</dc:creator>
		<pubDate>Tue, 15 Apr 2008 15:56:02 +0000</pubDate>
		<guid isPermaLink="false">http://steve.vinoski.net/blog/?p=60#comment-823</guid>
		<description>Hi Steve,

Yes, I wrote a book as well (&quot;Next Generation Testing in Java&quot;).  Your point is well taken regarding the need to show self-contained examples to your readers.

I still stand by my claim that Erlang makes reuse difficult in general, but it&#039;s more due to pattern matching than Erlang per se.  The problem with pattern matching is that it&#039;s basically a glorified switch/case, and there is no easy way to reuse existing ones (another problem with pattern matching is that it completely breaks encapsulation, but that&#039;s a separate topic).

I agree that Erlang&#039;s syntax is easier than Perl and C++, but that&#039;s setting the bar a bit low, don&#039;t you think?  :-)  Personally, I found Erlang&#039;s terminators quite confusing, but that&#039;s fine, I can deal with esoteric syntaxes if it&#039;s worth it.  I just don&#039;t think Erlang is.

I took a deep dive into Erlang some time ago, and here are my impressions:

http://beust.com/weblog/archives/000461.html
http://beust.com/weblog/archives/000464.html

In a nutshell:  I enjoyed the book and I liked having my traditional conceptions of software engineering challenged, but Erlang suffers from too many deficiencies (detailed in my posts) to stand a chance of becoming mainstream any time soon.  I was particularly disappointed to realize that the claims about Erlang heling with concurrent programming extremely exaggerated.</description>
		<content:encoded><![CDATA[<p>Hi Steve,</p>
<p>Yes, I wrote a book as well (&#8220;Next Generation Testing in Java&#8221;).  Your point is well taken regarding the need to show self-contained examples to your readers.</p>
<p>I still stand by my claim that Erlang makes reuse difficult in general, but it&#8217;s more due to pattern matching than Erlang per se.  The problem with pattern matching is that it&#8217;s basically a glorified switch/case, and there is no easy way to reuse existing ones (another problem with pattern matching is that it completely breaks encapsulation, but that&#8217;s a separate topic).</p>
<p>I agree that Erlang&#8217;s syntax is easier than Perl and C++, but that&#8217;s setting the bar a bit low, don&#8217;t you think?  :-)  Personally, I found Erlang&#8217;s terminators quite confusing, but that&#8217;s fine, I can deal with esoteric syntaxes if it&#8217;s worth it.  I just don&#8217;t think Erlang is.</p>
<p>I took a deep dive into Erlang some time ago, and here are my impressions:</p>
<p><a href="http://beust.com/weblog/archives/000461.html" rel="nofollow">http://beust.com/weblog/archives/000461.html</a><br />
<a href="http://beust.com/weblog/archives/000464.html" rel="nofollow">http://beust.com/weblog/archives/000464.html</a></p>
<p>In a nutshell:  I enjoyed the book and I liked having my traditional conceptions of software engineering challenged, but Erlang suffers from too many deficiencies (detailed in my posts) to stand a chance of becoming mainstream any time soon.  I was particularly disappointed to realize that the claims about Erlang heling with concurrent programming extremely exaggerated.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: steve</title>
		<link>http://steve.vinoski.net/blog/2008/04/14/bob-ippolito-on-erlang/comment-page-1/#comment-818</link>
		<dc:creator>steve</dc:creator>
		<pubDate>Mon, 14 Apr 2008 22:32:29 +0000</pubDate>
		<guid isPermaLink="false">http://steve.vinoski.net/blog/?p=60#comment-818</guid>
		<description>Cedric: reuse does not require OO. I get quite a bit of reuse out of Erlang, and I get reuse out of emacs-lisp too. When I used to use C I got a fair bit of reuse out of it too, and many still do. What about reuse in Perl and Python? Check. Reuse comes from properly expressing abstractions with the appropriate facilities provided by the language at hand.

Have you ever written a book? &lt;a href=&quot;/blog/acpwc/&quot; rel=&quot;nofollow&quot;&gt;I have&lt;/a&gt;. One thing you have to do when writing a book is make the examples relatively self-contained, otherwise the readers send you unfriendly emails and write unfriendly reviews for making them page around to find the parts of the code you &quot;reused&quot; and thus left out of the example they happen to be staring at. The moral of the story is that you shouldn&#039;t judge whether Erlang allows for reusability only by looking at examples in a book.</description>
		<content:encoded><![CDATA[<p>Cedric: reuse does not require OO. I get quite a bit of reuse out of Erlang, and I get reuse out of emacs-lisp too. When I used to use C I got a fair bit of reuse out of it too, and many still do. What about reuse in Perl and Python? Check. Reuse comes from properly expressing abstractions with the appropriate facilities provided by the language at hand.</p>
<p>Have you ever written a book? <a href="/blog/acpwc/" rel="nofollow">I have</a>. One thing you have to do when writing a book is make the examples relatively self-contained, otherwise the readers send you unfriendly emails and write unfriendly reviews for making them page around to find the parts of the code you &#8220;reused&#8221; and thus left out of the example they happen to be staring at. The moral of the story is that you shouldn&#8217;t judge whether Erlang allows for reusability only by looking at examples in a book.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

