<story><title>Pissed off about functional programming (2005)</title><url>http://www.perlmonks.org/?node_id=450922</url></story><parent_chain></parent_chain><comment><author>viraptor</author><text>Maybe I&amp;#x27;m missing something, but points 3 and 4 don&amp;#x27;t make much sense to me. Could someone tell me why I&amp;#x27;m wrong here?&lt;p&gt;In myth 3 he seems to mix words of description and the words describing logical equivalence. &amp;quot;even though equals(&amp;#x27;three&amp;#x27;,3) is true, length(&amp;#x27;three&amp;#x27;) does not equal length(3)&amp;quot; - while this is correct, it only seems to say anything about the myth because of the function name. Try this instead &amp;quot;even though foobar(&amp;#x27;three&amp;#x27;,3) is true, length(&amp;#x27;three&amp;#x27;) does not equal length(3)&amp;quot; - does this really prove anything? You could never substitute &amp;quot;three&amp;quot; with 3 at any point in the first place.&lt;p&gt;Specifically he hid a &amp;quot;$lut{ $str }&amp;quot; in equals(). It&amp;#x27;s not that 3 can be substituted with &amp;quot;three&amp;quot; - it can be substituted with &amp;quot;$lut{&amp;quot;three&amp;quot;}&amp;quot;.&lt;p&gt;In myth 4 he seems to play a similar trick of talking about the variable names. Sure, perl allows you to create a new block with a new variable of the same name. I&amp;#x27;m not sure what does that have to do with functional programming as a whole. It&amp;#x27;s just the language implementation that allowed you to play this trick - referring to a new thing by a name you used before.</text></comment>
<story><title>Pissed off about functional programming (2005)</title><url>http://www.perlmonks.org/?node_id=450922</url></story><parent_chain></parent_chain><comment><author>judk</author><text>I assume this post is here to show us that the stupid argumentation about FP vs OOP vs DWIM have been going in circles forever and we should just stop and get back to work.</text></comment>