<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: &#8220;I don&#8217;t know Perl but&#8230;&#8221;</title>
	<atom:link href="http://curiousprogrammer.wordpress.com/2011/03/07/i-dont-know-perl-but/feed/" rel="self" type="application/rss+xml" />
	<link>http://curiousprogrammer.wordpress.com/2011/03/07/i-dont-know-perl-but/</link>
	<description>Leveraging Perl and Emacs</description>
	<lastBuildDate>Tue, 07 May 2013 11:25:25 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Todd</title>
		<link>http://curiousprogrammer.wordpress.com/2011/03/07/i-dont-know-perl-but/#comment-8874</link>
		<dc:creator><![CDATA[Todd]]></dc:creator>
		<pubDate>Wed, 09 Mar 2011 04:44:58 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/?p=1505#comment-8874</guid>
		<description><![CDATA[@Perigrin: My experience with Python has been similar.

I know plenty of languages and have been programming for close to 30 years, but write mostly Perl.  I&#039;ve spent about 30 hours with Python for a client project (running on Google App Engine), and have come to the conclusion that Python is indeed a write-only language.]]></description>
		<content:encoded><![CDATA[<p>@Perigrin: My experience with Python has been similar.</p>
<p>I know plenty of languages and have been programming for close to 30 years, but write mostly Perl.  I&#8217;ve spent about 30 hours with Python for a client project (running on Google App Engine), and have come to the conclusion that Python is indeed a write-only language.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ronald Woan</title>
		<link>http://curiousprogrammer.wordpress.com/2011/03/07/i-dont-know-perl-but/#comment-8873</link>
		<dc:creator><![CDATA[Ronald Woan]]></dc:creator>
		<pubDate>Tue, 08 Mar 2011 18:18:01 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/?p=1505#comment-8873</guid>
		<description><![CDATA[I know I am very guilty of writing a lot of less than easily understandable Perl in the early 90s. Coming from a systems programming background, I was very terse and used a lot of complicated regular expressions that I didn&#039;t factor cleanly. A lot of it also ported from sh/sed/awk/grep/find for performance which were complex in syntax and approached train of thought programming.

I suspect many folks just starting out at the same time with similar backgrounds.]]></description>
		<content:encoded><![CDATA[<p>I know I am very guilty of writing a lot of less than easily understandable Perl in the early 90s. Coming from a systems programming background, I was very terse and used a lot of complicated regular expressions that I didn&#8217;t factor cleanly. A lot of it also ported from sh/sed/awk/grep/find for performance which were complex in syntax and approached train of thought programming.</p>
<p>I suspect many folks just starting out at the same time with similar backgrounds.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Harsh</title>
		<link>http://curiousprogrammer.wordpress.com/2011/03/07/i-dont-know-perl-but/#comment-8872</link>
		<dc:creator><![CDATA[Harsh]]></dc:creator>
		<pubDate>Tue, 08 Mar 2011 17:13:51 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/?p=1505#comment-8872</guid>
		<description><![CDATA[I do not know Perl, but I&#039;ve had to modify some existing, non-authored scripts at work at times (and outside work, as well). At first it always looks unreadable to me with the &#039;$&#039;s, but once my eyes adjust to that, its very easy to read and understand - as is using CPAN.]]></description>
		<content:encoded><![CDATA[<p>I do not know Perl, but I&#8217;ve had to modify some existing, non-authored scripts at work at times (and outside work, as well). At first it always looks unreadable to me with the &#8216;$&#8217;s, but once my eyes adjust to that, its very easy to read and understand &#8211; as is using CPAN.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sanity</title>
		<link>http://curiousprogrammer.wordpress.com/2011/03/07/i-dont-know-perl-but/#comment-8871</link>
		<dc:creator><![CDATA[Sanity]]></dc:creator>
		<pubDate>Tue, 08 Mar 2011 14:38:56 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/?p=1505#comment-8871</guid>
		<description><![CDATA[The lady doth protest too much, methinks.  No one goes on and on about how unreadable Python, Java, C#, etc. are.  It&#039;s mainly perl and php.  So I wonder... is the problem everyone else, or is it these two languages?]]></description>
		<content:encoded><![CDATA[<p>The lady doth protest too much, methinks.  No one goes on and on about how unreadable Python, Java, C#, etc. are.  It&#8217;s mainly perl and php.  So I wonder&#8230; is the problem everyone else, or is it these two languages?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sue D. Nymme</title>
		<link>http://curiousprogrammer.wordpress.com/2011/03/07/i-dont-know-perl-but/#comment-8870</link>
		<dc:creator><![CDATA[Sue D. Nymme]]></dc:creator>
		<pubDate>Tue, 08 Mar 2011 04:19:03 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/?p=1505#comment-8870</guid>
		<description><![CDATA[This is nonsense.  I very often take a look at strange Perl code -- usually peeking under the covers of a CPAN module, to see how it does stuff, to see if it has undocumented features, to fill in gaps in the documentation.  I can get the gist of what&#039;s going on almost immediately, and the details with a few minutes&#039; study.

Granted, I&#039;ve used Perl for many years, but come on -- Perl&#039;s idioms aren&#039;t bizarre or obtuse (for the most part!).  Read The Perl Cookbook and Effective Perl Programming, and you&#039;ll be able to grok 75% of CPAN in short order.

It&#039;s like anything else: The more you use it, and the more you read others&#039; code, the easier it becomes.  And if you&#039;re a professional software engineer with half a clue about effective, efficient style, your code will be readable to others (and to yourself) as well.  This goes for any modern language -- or, I daresay, the classics of the previous generation (C, Lisp, Forth, Pascal, etc).]]></description>
		<content:encoded><![CDATA[<p>This is nonsense.  I very often take a look at strange Perl code &#8212; usually peeking under the covers of a CPAN module, to see how it does stuff, to see if it has undocumented features, to fill in gaps in the documentation.  I can get the gist of what&#8217;s going on almost immediately, and the details with a few minutes&#8217; study.</p>
<p>Granted, I&#8217;ve used Perl for many years, but come on &#8212; Perl&#8217;s idioms aren&#8217;t bizarre or obtuse (for the most part!).  Read The Perl Cookbook and Effective Perl Programming, and you&#8217;ll be able to grok 75% of CPAN in short order.</p>
<p>It&#8217;s like anything else: The more you use it, and the more you read others&#8217; code, the easier it becomes.  And if you&#8217;re a professional software engineer with half a clue about effective, efficient style, your code will be readable to others (and to yourself) as well.  This goes for any modern language &#8212; or, I daresay, the classics of the previous generation (C, Lisp, Forth, Pascal, etc).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Ihnen</title>
		<link>http://curiousprogrammer.wordpress.com/2011/03/07/i-dont-know-perl-but/#comment-8869</link>
		<dc:creator><![CDATA[David Ihnen]]></dc:creator>
		<pubDate>Mon, 07 Mar 2011 22:00:52 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/?p=1505#comment-8869</guid>
		<description><![CDATA[@Jared - yes.  Few are sure, that is why few use it and reap the benefits.  A shame.  It will reduce the fundamental complexity to units of a size that are manageable.  That may not reduce the fundamental complexity, but it does reduce the complexity you have to deal with at any particular moment.  Low point complexity leads to quick comprehension.]]></description>
		<content:encoded><![CDATA[<p>@Jared &#8211; yes.  Few are sure, that is why few use it and reap the benefits.  A shame.  It will reduce the fundamental complexity to units of a size that are manageable.  That may not reduce the fundamental complexity, but it does reduce the complexity you have to deal with at any particular moment.  Low point complexity leads to quick comprehension.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jared</title>
		<link>http://curiousprogrammer.wordpress.com/2011/03/07/i-dont-know-perl-but/#comment-8868</link>
		<dc:creator><![CDATA[Jared]]></dc:creator>
		<pubDate>Mon, 07 Mar 2011 21:18:06 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/?p=1505#comment-8868</guid>
		<description><![CDATA[@Leandro - Well said.

I assumed that Murdock and his chums put the same effort into learning Perl as I did into my french (5 years study and I can&#039;t remember a word of it)

@David - I&#039;m not sure functional programming is a panacea.  Sure many developers tend to overuse state now, but will removing the state get rid of the fundamental complexity of a particular program?

Having said that, I tend to understand the code I wrote better than other people&#039;s code, even after the magic 3 month period.  I rarely have a problem recalling what I was thinking at the time.

@Tom - you mean to say that Python doesn&#039;t magically fix crufty cut-and-paste code? ;)

And yes, even my own code quality is adversely affected if it is required in production ASAP.  I don&#039;t have a problem understanding it though.  It&#039;s more I groan when I need to extend it to do something far from what was intended.

@Perigrin - yes you&#039;re right.  Calling French a &quot;speak-only&quot; language is closer to a write-only programming language.  I was thinking that listen-only was even further down on the scale.  I can listen to chinese without understanding a word for example.  Mind you, some folks seem to be able to write perl without understanding a word too ;)]]></description>
		<content:encoded><![CDATA[<p>@Leandro &#8211; Well said.</p>
<p>I assumed that Murdock and his chums put the same effort into learning Perl as I did into my french (5 years study and I can&#8217;t remember a word of it)</p>
<p>@David &#8211; I&#8217;m not sure functional programming is a panacea.  Sure many developers tend to overuse state now, but will removing the state get rid of the fundamental complexity of a particular program?</p>
<p>Having said that, I tend to understand the code I wrote better than other people&#8217;s code, even after the magic 3 month period.  I rarely have a problem recalling what I was thinking at the time.</p>
<p>@Tom &#8211; you mean to say that Python doesn&#8217;t magically fix crufty cut-and-paste code? <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>And yes, even my own code quality is adversely affected if it is required in production ASAP.  I don&#8217;t have a problem understanding it though.  It&#8217;s more I groan when I need to extend it to do something far from what was intended.</p>
<p>@Perigrin &#8211; yes you&#8217;re right.  Calling French a &#8220;speak-only&#8221; language is closer to a write-only programming language.  I was thinking that listen-only was even further down on the scale.  I can listen to chinese without understanding a word for example.  Mind you, some folks seem to be able to write perl without understanding a word too <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Perigrin</title>
		<link>http://curiousprogrammer.wordpress.com/2011/03/07/i-dont-know-perl-but/#comment-8867</link>
		<dc:creator><![CDATA[Perigrin]]></dc:creator>
		<pubDate>Mon, 07 Mar 2011 16:46:34 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/?p=1505#comment-8867</guid>
		<description><![CDATA[Wouldn&#039;t the argument be that French is a &quot;Speak Only&quot; language? My wife used to describe her French as being able to perfectly ask a question and not understand the answer.

That certainly sounds like my experience with Python.]]></description>
		<content:encoded><![CDATA[<p>Wouldn&#8217;t the argument be that French is a &#8220;Speak Only&#8221; language? My wife used to describe her French as being able to perfectly ask a question and not understand the answer.</p>
<p>That certainly sounds like my experience with Python.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom Legrady</title>
		<link>http://curiousprogrammer.wordpress.com/2011/03/07/i-dont-know-perl-but/#comment-8866</link>
		<dc:creator><![CDATA[Tom Legrady]]></dc:creator>
		<pubDate>Mon, 07 Mar 2011 15:29:02 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/?p=1505#comment-8866</guid>
		<description><![CDATA[I&#039;ve seen some beautiful Perl code, in articles, books, tutorials.

I&#039;ve seen some ugly code in production, usually old code  that has been maintained with a &quot;priority speed&quot;, &quot;cut-paste-modify&quot; attitude. Among other things, the code was characterized by &quot;revision control by commenting out old code&quot;.

I&#039;ve seen some reasonable code from teams who discuss standards, where more experienced members share with newer people, where there is a vision of what the code should become, and every revision is an opportunity to evolve in the right direction.]]></description>
		<content:encoded><![CDATA[<p>I&#8217;ve seen some beautiful Perl code, in articles, books, tutorials.</p>
<p>I&#8217;ve seen some ugly code in production, usually old code  that has been maintained with a &#8220;priority speed&#8221;, &#8220;cut-paste-modify&#8221; attitude. Among other things, the code was characterized by &#8220;revision control by commenting out old code&#8221;.</p>
<p>I&#8217;ve seen some reasonable code from teams who discuss standards, where more experienced members share with newer people, where there is a vision of what the code should become, and every revision is an opportunity to evolve in the right direction.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Ihnen</title>
		<link>http://curiousprogrammer.wordpress.com/2011/03/07/i-dont-know-perl-but/#comment-8865</link>
		<dc:creator><![CDATA[David Ihnen]]></dc:creator>
		<pubDate>Mon, 07 Mar 2011 15:03:42 +0000</pubDate>
		<guid isPermaLink="false">http://curiousprogrammer.wordpress.com/?p=1505#comment-8865</guid>
		<description><![CDATA[How easy is it supposed to be?  Start out with the understanding that it is ALWAYS going to take some effort to understand code, even your own.  The problem is only exacerbated by the nature of our typical syntactical construction which is the mutation of states within a finite state machine.  This will always be a struggle to understand even when we&#039;re used to it.  The more functional and/or declarative it gets - where the code says what it is doing instead of being a sequence of derivative mutation operations that result in the goal - the more obvious it is what the code does.  You don&#039;t have to figure out &#039;what does this pattern of changes result in&#039; - it is stated.  Find the innermost function that doesn&#039;t return what its supposed to, and you&#039;ve got the location of the problem.

Essentially, we create our own comprehension problems by trying to express the solution in terms of its operations instead of in terms of its logical constructions.]]></description>
		<content:encoded><![CDATA[<p>How easy is it supposed to be?  Start out with the understanding that it is ALWAYS going to take some effort to understand code, even your own.  The problem is only exacerbated by the nature of our typical syntactical construction which is the mutation of states within a finite state machine.  This will always be a struggle to understand even when we&#8217;re used to it.  The more functional and/or declarative it gets &#8211; where the code says what it is doing instead of being a sequence of derivative mutation operations that result in the goal &#8211; the more obvious it is what the code does.  You don&#8217;t have to figure out &#8216;what does this pattern of changes result in&#8217; &#8211; it is stated.  Find the innermost function that doesn&#8217;t return what its supposed to, and you&#8217;ve got the location of the problem.</p>
<p>Essentially, we create our own comprehension problems by trying to express the solution in terms of its operations instead of in terms of its logical constructions.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
