<?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: Named Parameters in Method Calls: Python Si, Ruby No</title>
	<atom:link href="http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/</link>
	<description>Tech Evangelist Joey deVilla on Shopify, startups, software development, tech news and other nerdy stuff</description>
	<lastBuildDate>Thu, 09 Feb 2012 21:18:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: David Janes</title>
		<link>http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/comment-page-1/#comment-4017</link>
		<dc:creator>David Janes</dc:creator>
		<pubDate>Wed, 18 Mar 2009 17:32:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/#comment-4017</guid>
		<description>Alas Blake, I was on an airplane. I&#039;m thinking of going to that Thursday night Python think that that Leah person was talking about at DemoCamp.</description>
		<content:encoded><![CDATA[<p>Alas Blake, I was on an airplane. I&#8217;m thinking of going to that Thursday night Python think that that Leah person was talking about at DemoCamp.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sven Aas</title>
		<link>http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/comment-page-1/#comment-4013</link>
		<dc:creator>Sven Aas</dc:creator>
		<pubDate>Tue, 17 Mar 2009 21:42:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/#comment-4013</guid>
		<description>Ruby doesn&#039;t do named parameters in this way, but it does support the idiom:

&lt;code&gt;
# Ruby 1.8.6
def test_named_params(params)
  puts &quot;#{params[:first]}\n#{params[:second]}&quot;
end

# irb session (Ruby 1.8.6)
irb(main):004:0&gt; test_named_params(:first =&gt; &#039;alpha&#039;, :second =&gt; &#039;beta&#039;)
alpha
beta
=&gt; nil
irb(main):005:0&gt; test_named_params(:second =&gt; &#039;alpha&#039;, :first =&gt; &#039;beta&#039;)
beta
alpha
=&gt; nil
irb(main):006:0&gt; test_named_params(:first =&gt; &#039;beta&#039;, :second =&gt; &#039;alpha&#039;)
beta
alpha
=&gt; nil
&lt;/code&gt;

Note that Ruby converts the method parameters into a single hash. This approach is used a lot in Rails, for example to simplify the process of associating form parameters with model attributes.</description>
		<content:encoded><![CDATA[<p>Ruby doesn&#8217;t do named parameters in this way, but it does support the idiom:</p>
<p><code><br />
# Ruby 1.8.6<br />
def test_named_params(params)<br />
  puts "#{params[:first]}\n#{params[:second]}"<br />
end</p>
<p># irb session (Ruby 1.8.6)<br />
irb(main):004:0&gt; test_named_params(:first =&gt; 'alpha', :second =&gt; 'beta')<br />
alpha<br />
beta<br />
=&gt; nil<br />
irb(main):005:0&gt; test_named_params(:second =&gt; 'alpha', :first =&gt; 'beta')<br />
beta<br />
alpha<br />
=&gt; nil<br />
irb(main):006:0&gt; test_named_params(:first =&gt; 'beta', :second =&gt; 'alpha')<br />
beta<br />
alpha<br />
=&gt; nil<br />
</code></p>
<p>Note that Ruby converts the method parameters into a single hash. This approach is used a lot in Rails, for example to simplify the process of associating form parameters with model attributes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Blake Winton</title>
		<link>http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/comment-page-1/#comment-4011</link>
		<dc:creator>Blake Winton</dc:creator>
		<pubDate>Tue, 17 Mar 2009 17:59:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/#comment-4011</guid>
		<description>@Carsten: Is 3 too many arguments to remember where they all go?

Hint: http://www.google.com/codesearch?hl=en&amp;lr=&amp;q=memset\s*\(.%2B%2C.%2B%2C0&amp;sbtn=Search  ;)

@David: Drop by PyGTA tonight, and I&#039;ll show you some of the Objective-C I&#039;ve been writing...

Later,
Blake.</description>
		<content:encoded><![CDATA[<p>@Carsten: Is 3 too many arguments to remember where they all go?</p>
<p>Hint: http://www.google.com/codesearch?hl=en&amp;lr=&amp;q=memset\s*\(.%2B%2C.%2B%2C0&amp;sbtn=Search  ;)</p>
<p>@David: Drop by PyGTA tonight, and I&#8217;ll show you some of the Objective-C I&#8217;ve been writing&#8230;</p>
<p>Later,<br />
Blake.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Cidade</title>
		<link>http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/comment-page-1/#comment-4009</link>
		<dc:creator>Mark Cidade</dc:creator>
		<pubDate>Tue, 17 Mar 2009 14:51:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/#comment-4009</guid>
		<description>Another great use for named arguments is that you can use boolean parameters that are otherwise opaque and without creating ad hoc two-member enumerations—doSomething(ansychronous: false) vs. doSomething(false) vs. doSomething(DoSomething.Synchronous).</description>
		<content:encoded><![CDATA[<p>Another great use for named arguments is that you can use boolean parameters that are otherwise opaque and without creating ad hoc two-member enumerations—doSomething(ansychronous: false) vs. doSomething(false) vs. doSomething(DoSomething.Synchronous).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Support Free Software</title>
		<link>http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/comment-page-1/#comment-4007</link>
		<dc:creator>Support Free Software</dc:creator>
		<pubDate>Tue, 17 Mar 2009 14:37:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/#comment-4007</guid>
		<description>Named Parameters are used Heavily in Smalltalk, Sometimes you have a very complicated interface that is best dealt with in one shot instead of dragging it out.

In OCaml if you have named parameters you can keep currying the function til you&#039;re done filling out the parameters.

In perl named parameters are just
sub { my %params = @_;  ... } and everything is in the params hash (really common place in perl)

Surely you could just pass a hash in ruby</description>
		<content:encoded><![CDATA[<p>Named Parameters are used Heavily in Smalltalk, Sometimes you have a very complicated interface that is best dealt with in one shot instead of dragging it out.</p>
<p>In OCaml if you have named parameters you can keep currying the function til you&#8217;re done filling out the parameters.</p>
<p>In perl named parameters are just<br />
sub { my %params = @_;  &#8230; } and everything is in the params hash (really common place in perl)</p>
<p>Surely you could just pass a hash in ruby</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Janes</title>
		<link>http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/comment-page-1/#comment-4005</link>
		<dc:creator>David Janes</dc:creator>
		<pubDate>Tue, 17 Mar 2009 14:31:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/#comment-4005</guid>
		<description>Arggg ... lengthy comment destroyed by hotel internet. 

Very useful info - esp since I may do some Objective C programming soon. &lt;a href=&quot;http://stackoverflow.com/questions/561185/optional-arguments-in-objective-c-2-0&quot; rel=&quot;nofollow&quot;&gt;Useful link&lt;/a&gt;. Anyone want to chime in about other languages. Lisp? Mathematica?</description>
		<content:encoded><![CDATA[<p>Arggg &#8230; lengthy comment destroyed by hotel internet. </p>
<p>Very useful info &#8211; esp since I may do some Objective C programming soon. <a href="http://stackoverflow.com/questions/561185/optional-arguments-in-objective-c-2-0" rel="nofollow">Useful link</a>. Anyone want to chime in about other languages. Lisp? Mathematica?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Syfuhs</title>
		<link>http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/comment-page-1/#comment-4002</link>
		<dc:creator>Steve Syfuhs</dc:creator>
		<pubDate>Tue, 17 Mar 2009 14:08:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/#comment-4002</guid>
		<description>By no means am I a Ruby guy, but in the non-sensical named parameters example there were some extra line breaks.  I suspect it&#039;s just formatting throw up.  Or is that the actual output?  Looks hinky if it&#039;s the actual output.</description>
		<content:encoded><![CDATA[<p>By no means am I a Ruby guy, but in the non-sensical named parameters example there were some extra line breaks.  I suspect it&#8217;s just formatting throw up.  Or is that the actual output?  Looks hinky if it&#8217;s the actual output.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joey deVilla</title>
		<link>http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/comment-page-1/#comment-4001</link>
		<dc:creator>Joey deVilla</dc:creator>
		<pubDate>Tue, 17 Mar 2009 13:50:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/#comment-4001</guid>
		<description>&lt;strong&gt;Jorg W Mittag:&lt;/strong&gt; Excellent point. And as he said, it&#039;s the same in Objective-C.</description>
		<content:encoded><![CDATA[<p><strong>Jorg W Mittag:</strong> Excellent point. And as he said, it&#8217;s the same in Objective-C.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jörg W Mittag</title>
		<link>http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/comment-page-1/#comment-4000</link>
		<dc:creator>Jörg W Mittag</dc:creator>
		<pubDate>Tue, 17 Mar 2009 11:22:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/#comment-4000</guid>
		<description>There is an important difference between multipart message selectors in Smalltalk (and of course also its derivatives Self, Newspeak and Objective-C) and keyword arguments: as Joey demonstrated, order of keyword arguments doesn&#039;t matter – that&#039;s more or less the &lt;em&gt;point&lt;/em&gt; of keyword arguments. In Smalltalk, however, there are no keyword arguments. Instead, the method name is broken into pieces, and the arguments are written in between the pieces. So, in Python, both &lt;code&gt;test_named_params(first = &quot;alpha&quot;, second = &quot;beta&quot;)&lt;/code&gt; and &lt;code&gt;test_named_params(second = &quot;beta&quot;, first = &quot;alpha&quot;)&lt;/code&gt; send the same message (&lt;em&gt;&lt;code&gt;test_named_params&lt;/code&gt;&lt;/em&gt;) and thus execute the same method. In Smalltalk, &lt;code&gt;self testNamedParamsFirst: &quot;alpha&quot; second: &quot;beta&quot;.&lt;/code&gt; and &lt;code&gt;self testNamedParamsSecond: &quot;beta&quot; first: &quot;alpha&quot;.&lt;/code&gt; send two &lt;em&gt;different&lt;/em&gt; messages: the first one sends &lt;em&gt;&lt;code&gt;testNamedParamsFirst:second:&lt;/code&gt;&lt;/em&gt; and the second one sends &lt;em&gt;&lt;code&gt;testNamedParamsSecond:first:&lt;/code&gt;&lt;/em&gt;, thus invoking two &lt;em&gt;different&lt;/em&gt; methods!

So, to regurgitate the infamous geometric shapes example: in Python, you would have a class &lt;code&gt;Rectangle&lt;/code&gt;, with a constructor that takes two keyword parameters, &lt;code&gt;width&lt;/code&gt; and &lt;code&gt;height&lt;/code&gt; and it wouldn&#039;t matter in which order you pass the arguments. In Smalltalk, instead of the constructor, you would have a factory method called &lt;code&gt;width:height:&lt;/code&gt; and trying to pass arguments the other way round would result in a No Method Exception, unless you &lt;em&gt;also&lt;/em&gt; define a &lt;code&gt;height:width:&lt;/code&gt; method.</description>
		<content:encoded><![CDATA[<p>There is an important difference between multipart message selectors in Smalltalk (and of course also its derivatives Self, Newspeak and Objective-C) and keyword arguments: as Joey demonstrated, order of keyword arguments doesn&#8217;t matter – that&#8217;s more or less the <em>point</em> of keyword arguments. In Smalltalk, however, there are no keyword arguments. Instead, the method name is broken into pieces, and the arguments are written in between the pieces. So, in Python, both <code>test_named_params(first = "alpha", second = "beta")</code> and <code>test_named_params(second = "beta", first = "alpha")</code> send the same message (<em><code>test_named_params</code></em>) and thus execute the same method. In Smalltalk, <code>self testNamedParamsFirst: "alpha" second: "beta".</code> and <code>self testNamedParamsSecond: "beta" first: "alpha".</code> send two <em>different</em> messages: the first one sends <em><code>testNamedParamsFirst:second:</code></em> and the second one sends <em><code>testNamedParamsSecond:first:</code></em>, thus invoking two <em>different</em> methods!</p>
<p>So, to regurgitate the infamous geometric shapes example: in Python, you would have a class <code>Rectangle</code>, with a constructor that takes two keyword parameters, <code>width</code> and <code>height</code> and it wouldn&#8217;t matter in which order you pass the arguments. In Smalltalk, instead of the constructor, you would have a factory method called <code>width:height:</code> and trying to pass arguments the other way round would result in a No Method Exception, unless you <em>also</em> define a <code>height:width:</code> method.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joey deVilla</title>
		<link>http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/comment-page-1/#comment-3995</link>
		<dc:creator>Joey deVilla</dc:creator>
		<pubDate>Mon, 16 Mar 2009 13:02:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/#comment-3995</guid>
		<description>Some thoughts on named parameters:
&lt;ul&gt;
&lt;li&gt;I suspect that they&#039;re included in Python because one of its core philosophies is &quot;Favour the explicit over the implicit.&quot; Named parameters make the meaning of each parameter very explicit.&lt;/li&gt;
&lt;li&gt;They&#039;re useful in cases where different cultures use different ordering, such as dates. There&#039;s no wondering if the argument order is month-day-year or day-month-year.&lt;/li&gt;
&lt;li&gt;With methods that have a large number of optional arguments, they&#039;re pretty handy. I&#039;ve seen method calls that have had to be written like &lt;code&gt;someMethod(5, &quot;fudge&quot;, , , , , True, , , &quot;x&quot;)&lt;/code&gt; when it would&#039;ve been nicer to just have &lt;code&gt;someMethod(iterations = 5, flavor = &quot;fudge&quot;, dontWhizOnElectricFence = True, discountCode = &quot;x&quot;)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The Ruby way (and especially the Rails way) of using named parameters is to accept a hash as an argument. From the caller&#039;s point of view, there isn&#039;t that much difference between &lt;code&gt;myMethod(flavor = &quot;fudge&quot;, sprinkles = False)&lt;/code&gt; and &lt;code&gt;myMethod :flavor =&gt; &quot;fudge&quot;, :sprinkles = false&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;</description>
		<content:encoded><![CDATA[<p>Some thoughts on named parameters:</p>
<ul>
<li>I suspect that they&#8217;re included in Python because one of its core philosophies is &#8220;Favour the explicit over the implicit.&#8221; Named parameters make the meaning of each parameter very explicit.</li>
<li>They&#8217;re useful in cases where different cultures use different ordering, such as dates. There&#8217;s no wondering if the argument order is month-day-year or day-month-year.</li>
<li>With methods that have a large number of optional arguments, they&#8217;re pretty handy. I&#8217;ve seen method calls that have had to be written like <code>someMethod(5, "fudge", , , , , True, , , "x")</code> when it would&#8217;ve been nicer to just have <code>someMethod(iterations = 5, flavor = "fudge", dontWhizOnElectricFence = True, discountCode = "x")</code></li>
<li>The Ruby way (and especially the Rails way) of using named parameters is to accept a hash as an argument. From the caller&#8217;s point of view, there isn&#8217;t that much difference between <code>myMethod(flavor = "fudge", sprinkles = False)</code> and <code>myMethod :flavor => "fudge", :sprinkles = false</code>.</li>
</ul>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Janes</title>
		<link>http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/comment-page-1/#comment-3994</link>
		<dc:creator>David Janes</dc:creator>
		<pubDate>Mon, 16 Mar 2009 12:21:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/#comment-3994</guid>
		<description>Django does in fact use named parameters - I just happen to have a copy of the source code with me here on vacation however did that happen ...

$ find . -name &quot;*.py&quot; &#124; xargs grep Paginator
./contrib/admin/views/main.py:from django.core.paginator import Paginator, InvalidPage
./contrib/admin/views/main.py:        paginator = Paginator(self.query_set, self.list_per_page)
./contrib/comments/views/moderation.py:from django.core.paginator import Paginator, InvalidPage
./contrib/comments/views/moderation.py:    paginator = Paginator(qs, 100)
./contrib/sitemaps/__init__.py:            self._paginator = paginator.Paginator(self.items(), self.limit)
./core/paginator.py:class Paginator(object):
./views/generic/list_detail.py:from django.core.paginator import Paginator, InvalidPage
./views/generic/list_detail.py:        paginator = Paginator(queryset, paginate_by, allow_empty_first_page=allow_empty)</description>
		<content:encoded><![CDATA[<p>Django does in fact use named parameters &#8211; I just happen to have a copy of the source code with me here on vacation however did that happen &#8230;</p>
<p>$ find . -name &#8220;*.py&#8221; | xargs grep Paginator<br />
./contrib/admin/views/main.py:from django.core.paginator import Paginator, InvalidPage<br />
./contrib/admin/views/main.py:        paginator = Paginator(self.query_set, self.list_per_page)<br />
./contrib/comments/views/moderation.py:from django.core.paginator import Paginator, InvalidPage<br />
./contrib/comments/views/moderation.py:    paginator = Paginator(qs, 100)<br />
./contrib/sitemaps/__init__.py:            self._paginator = paginator.Paginator(self.items(), self.limit)<br />
./core/paginator.py:class Paginator(object):<br />
./views/generic/list_detail.py:from django.core.paginator import Paginator, InvalidPage<br />
./views/generic/list_detail.py:        paginator = Paginator(queryset, paginate_by, allow_empty_first_page=allow_empty)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Janes</title>
		<link>http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/comment-page-1/#comment-3993</link>
		<dc:creator>David Janes</dc:creator>
		<pubDate>Mon, 16 Mar 2009 12:17:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/#comment-3993</guid>
		<description>I&#039;m a big fan of named parameters, because it simply makes the intention of the calling code clearer - it&#039;s easier for the _maintainer_, because you don&#039;t have to go around looking up function signatures.

You may also want to add in here Objective-C - iPhone programming - and Smalltalk, as if I remember correctly more or less all parameters are named. Javascript by convention uses passing in a dictionary to achieve a similar result. URL parameters to APIs are effectively RESTful named parameters.

You can use a dictionary to pass in named parameters in Python:

d = { &quot;second&quot; : &quot;alpha&quot;, &quot;first&quot; : &quot;beta&quot; }
test_named_params(**d)

Also see two blog posts, &lt;a href=&quot;http://code.davidjanes.com/blog/2008/11/25/the-anything-goes-pattern/&quot; rel=&quot;nofollow&quot;&gt;the anything goes pattern&lt;/a&gt; for specialized catchalls, and my &lt;a href=&quot;http://code.davidjanes.com/blog/2008/11/05/how-to-use-the-microsoft-virtual-earth-api/&quot; rel=&quot;nofollow&quot;&gt;bitching at MS&lt;/a&gt; for not using named parameters!

How would you make a _practical_ programming API to &lt;a href=&quot;http://www.flickr.com/services/api/flickr.photos.search.html&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; without named parameters. Hmmm. How does Ruby do it? (really)</description>
		<content:encoded><![CDATA[<p>I&#8217;m a big fan of named parameters, because it simply makes the intention of the calling code clearer &#8211; it&#8217;s easier for the _maintainer_, because you don&#8217;t have to go around looking up function signatures.</p>
<p>You may also want to add in here Objective-C &#8211; iPhone programming &#8211; and Smalltalk, as if I remember correctly more or less all parameters are named. Javascript by convention uses passing in a dictionary to achieve a similar result. URL parameters to APIs are effectively RESTful named parameters.</p>
<p>You can use a dictionary to pass in named parameters in Python:</p>
<p>d = { &#8220;second&#8221; : &#8220;alpha&#8221;, &#8220;first&#8221; : &#8220;beta&#8221; }<br />
test_named_params(**d)</p>
<p>Also see two blog posts, <a href="http://code.davidjanes.com/blog/2008/11/25/the-anything-goes-pattern/" rel="nofollow">the anything goes pattern</a> for specialized catchalls, and my <a href="http://code.davidjanes.com/blog/2008/11/05/how-to-use-the-microsoft-virtual-earth-api/" rel="nofollow">bitching at MS</a> for not using named parameters!</p>
<p>How would you make a _practical_ programming API to <a href="http://www.flickr.com/services/api/flickr.photos.search.html" rel="nofollow">this</a> without named parameters. Hmmm. How does Ruby do it? (really)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carsten Nielsen</title>
		<link>http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/comment-page-1/#comment-3991</link>
		<dc:creator>Carsten Nielsen</dc:creator>
		<pubDate>Mon, 16 Mar 2009 05:15:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.globalnerdy.com/2009/03/16/named-parameters-in-method-calls-python-si-ruby-no/#comment-3991</guid>
		<description>Who actually uses named parameters? If you have enough arguments that you can&#039;t remember what goes where then you&#039;re doing it wrong. Named parameters are a mitigation for poor design. I&#039;d be surprised to see any use of named parameters in Django&#039;s source.</description>
		<content:encoded><![CDATA[<p>Who actually uses named parameters? If you have enough arguments that you can&#8217;t remember what goes where then you&#8217;re doing it wrong. Named parameters are a mitigation for poor design. I&#8217;d be surprised to see any use of named parameters in Django&#8217;s source.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

