<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Bruce Williams - Latest Comments in Revisiting Python</title><link>http://codefluency.disqus.com/</link><description></description><atom:link href="https://codefluency.disqus.com/revisiting_python/latest.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Sun, 15 Feb 2009 15:56:11 -0000</lastBuildDate><item><title>Re: Revisiting Python</title><link>http://codefluency.com/articles/2008/12/26/revisiting-python/#comment-6279427</link><description>&lt;p&gt;You may want to take a look at Lazydoc (&lt;a href="http://tap.rubyforge.org/lazydoc/)" rel="nofollow noopener" target="_blank" title="http://tap.rubyforge.org/lazydoc/)"&gt;http://tap.rubyforge.org/la...&lt;/a&gt; as a way to access documentation in ruby.  It's not the snippet you wrote, but perhaps it could be extended that way.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Simon</dc:creator><pubDate>Sun, 15 Feb 2009 15:56:11 -0000</pubDate></item><item><title>Re: Revisiting Python</title><link>http://codefluency.com/articles/2008/12/26/revisiting-python/#comment-5058010</link><description>&lt;p&gt;Mike, I can understand you on properties.  I guess Ruby took the approach due to the fact you invoke a method far more often than you need to get ahold of the method itself.  The property approach to this problem is interesting.&lt;/p&gt;&lt;p&gt;In practice, I tend to use parenthesis for invocation anyhow, unless there are no parameters or I'm writing in a more fluent, DSL style.  I think this is the case for many Ruby developers.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bruce Williams</dc:creator><pubDate>Sun, 11 Jan 2009 11:58:14 -0000</pubDate></item><item><title>Re: Revisiting Python</title><link>http://codefluency.com/articles/2008/12/26/revisiting-python/#comment-5056465</link><description>&lt;p&gt;I've added some updates to the article that address many of the comments made so far (closures, tabs, whitespace).&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bruce Williams</dc:creator><pubDate>Sun, 11 Jan 2009 09:52:31 -0000</pubDate></item><item><title>Re: Revisiting Python</title><link>http://codefluency.com/articles/2008/12/26/revisiting-python/#comment-5054950</link><description>&lt;p&gt;Great article. I too used to do a lot of Python development including writing about it. I always liked it and still do. But I prefer Ruby, as you do. I think Ruby code is more beautiful, but that's just my personal preference.&lt;br&gt;I agree with you about the "self" in Python. This should really have been removed for Python 3. It's just annoying.&lt;br&gt;Beside this, I think Python has a great feature, especially with stuff like Django and SQLAlchemy.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Markus Jais</dc:creator><pubDate>Sun, 11 Jan 2009 05:04:41 -0000</pubDate></item><item><title>Re: Revisiting Python</title><link>http://codefluency.com/articles/2008/12/26/revisiting-python/#comment-5051918</link><description>&lt;p&gt;"People tend to focus on little details like whitespace sensitivity when they complain about Python. Especially Rubyists"&lt;/p&gt;&lt;p&gt;I am a Rubyist and I really wonder who complains about this. Do you know any Rubyist blogger who does?&lt;/p&gt;&lt;p&gt;I feel the whole complaining about whitespace sensitivity is brown out of proportion without data-proof of it.&lt;/p&gt;&lt;p&gt;I for example always felt that python code feels very clean that way.&lt;/p&gt;&lt;p&gt;That being said, the need to use : really is annoying. I wonder why the : is needed.&lt;/p&gt;&lt;p&gt;Without : it would be better.&lt;/p&gt;&lt;p&gt;&amp;gt; A good developer is going to indent correctly and consistently anyway.&lt;/p&gt;&lt;p&gt;I agree with you, and see above. However, on a purely aesthetical language, I think the better programming language, the parser, simply should not care at all about the indent, and it should try to run and make things work. This is the year 2009. This is an advanced language.&lt;br&gt;Why need a parser be so concerned with something as stupid as wrong indents? That is a general question, not one aimed against python.&lt;/p&gt;&lt;p&gt;I feel that a language with indent problems is of suboptimal design, especially when one needs to use : anyway&lt;/p&gt;&lt;p&gt;&amp;gt; If you don’t have a standard way of indenting your code— or if, God forfend, you use _tabs_— someone should shake the crap out of you.&lt;/p&gt;&lt;p&gt;I agree about tabs. I indent with 2 spaces always, and I indent heavily. But again, I think the parser should never care about the &lt;br&gt;indent... it just feels silly in the year 2009 to have a parser fail due to indent.&lt;/p&gt;&lt;p&gt;&amp;gt; I love my end keyword.&lt;br&gt;I never loved it. It gets very annoying for multiple ends... would be nicer to be able to omit them. But I dont want to use : all over the &lt;br&gt;place to end definitions of methods... that would feel wrong too. Two wrongs dont make a right... they keep being two wrongs.&lt;/p&gt;&lt;p&gt;&amp;gt; Lose it, and if you have to re-indent code manually it’s a serious pain in the ass.&lt;/p&gt;&lt;p&gt;Well, maybe we have a language with pseudo-indent, and indent one can choose to have (or not have)&lt;/p&gt;&lt;p&gt;&amp;gt;  The fluttering, anchor-less statements of Python rely on a single colon to indicate an upcoming indentation, and that’s not enough&lt;br&gt;&amp;gt; for my poor eyes.&lt;/p&gt;&lt;p&gt;Agreed.&lt;/p&gt;&lt;p&gt;&amp;gt;  It is a bit nice to lose an extra line every time, but I’ll happily refer to it as the Clarity Tax.&lt;/p&gt;&lt;p&gt;Well, I agree too, somewhat. As said, if I could ignore multiple end's, i would happily do so. &lt;br&gt;But using : is annoying.&lt;/p&gt;&lt;p&gt;Anyway, it really is minor compared to other issues. Whatever language comes, it needs to beat BOTH python and ruby.&lt;/p&gt;&lt;p&gt;With ease.&lt;/p&gt;&lt;p&gt;That is a BIG task for future programmers. They will have to think a lot.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mark</dc:creator><pubDate>Sat, 10 Jan 2009 23:26:52 -0000</pubDate></item><item><title>Re: Revisiting Python</title><link>http://codefluency.com/articles/2008/12/26/revisiting-python/#comment-5049943</link><description>&lt;p&gt;&amp;gt; I do think the new with keyword is an interesting approach towards “cleanup blocks” (eg, &lt;a href="http://File.open" rel="nofollow noopener" target="_blank" title="File.open"&gt;File.open&lt;/a&gt;), though they feel a bit like hidden magic and a bit hackish to implement.&lt;/p&gt;&lt;p&gt;The contextlib.contextmanager decorator can simplify the implementation of many context managers: &lt;a href="http://docs.python.org/library/contextlib.html" rel="nofollow noopener" target="_blank" title="http://docs.python.org/library/contextlib.html"&gt;http://docs.python.org/libr...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Philip Jenvey</dc:creator><pubDate>Sat, 10 Jan 2009 19:36:51 -0000</pubDate></item><item><title>Re: Revisiting Python</title><link>http://codefluency.com/articles/2008/12/26/revisiting-python/#comment-5049514</link><description>&lt;p&gt;Closures are used heavily in most Python programs. Like many Ruby programmers, you are confusing/conflating the concepts of anonymous blocks and closures. Like many things in Python, the explicitness of named closures is preferred.&lt;/p&gt;&lt;p&gt;Properties are part of the larger concept of descriptors, which seem to me largely just for designing cleaner APIs.&lt;/p&gt;&lt;p&gt;Generators are very, very easy to use once you understand them. They can be used for implementing event handling, co-routines, infinite sequences, etc.&lt;/p&gt;&lt;p&gt;&amp;gt; if, God forfend, you use _spaces_— someone should shake the crap out of you&lt;/p&gt;&lt;p&gt;Looks like you had a typo in there, fixed.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Name</dc:creator><pubDate>Sat, 10 Jan 2009 18:51:46 -0000</pubDate></item><item><title>Re: Revisiting Python</title><link>http://codefluency.com/articles/2008/12/26/revisiting-python/#comment-5048150</link><description>&lt;p&gt;I don't see anything wrong with python's closures, other than the lame way assigning to a symbol anywhere changes its scope.  You seem to imply that it doesn't have closures, which I don't understand at all.  Generators can be awesome, both for saving resources and as coroutines.  I also prefer python's properties (though I rarely use them) and method binding to the way Ruby calls methods when you drop parens.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mike</dc:creator><pubDate>Sat, 10 Jan 2009 16:40:13 -0000</pubDate></item><item><title>Re: Revisiting Python</title><link>http://codefluency.com/articles/2008/12/26/revisiting-python/#comment-5045008</link><description>&lt;p&gt;At the threat of being hanged by python fanatics have you written a very nice review of both languages. The only thing i would say is missing is to show code examples so someone standing at a fork in the road would be great so someone can choose from himself.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Suits</dc:creator><pubDate>Sat, 10 Jan 2009 12:13:22 -0000</pubDate></item><item><title>Re: Revisiting Python</title><link>http://codefluency.com/articles/2008/12/26/revisiting-python/#comment-4864260</link><description>&lt;p&gt;Thanks; that's worth a read.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bruce Williams</dc:creator><pubDate>Sat, 03 Jan 2009 04:07:45 -0000</pubDate></item><item><title>Re: Revisiting Python</title><link>http://codefluency.com/articles/2008/12/26/revisiting-python/#comment-4863671</link><description>&lt;p&gt;As far as self goes, from the Benevolent Dictator himself: &lt;a href="http://neopythonic.blogspot.com/2008/10/why-explicit-self-has-to-stay.html" rel="nofollow noopener" target="_blank" title="http://neopythonic.blogspot.com/2008/10/why-explicit-self-has-to-stay.html"&gt;http://neopythonic.blogspot...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">@jcsalterego</dc:creator><pubDate>Sat, 03 Jan 2009 03:10:29 -0000</pubDate></item><item><title>Re: Revisiting Python</title><link>http://codefluency.com/articles/2008/12/26/revisiting-python/#comment-4805760</link><description>&lt;p&gt;It's a viewpoint I can understand, especially in April of 2007, though I can't completely discount "pilot error" in some of the cases he mentions.  With recent improvements to the VM, and with 1.9, JRuby, and other implementations having made significant progress, I see the "bad VM" argument fading away.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bruce Williams</dc:creator><pubDate>Wed, 31 Dec 2008 18:35:30 -0000</pubDate></item><item><title>Re: Revisiting Python</title><link>http://codefluency.com/articles/2008/12/26/revisiting-python/#comment-4800857</link><description>&lt;p&gt;F.Y.I...&lt;br&gt;  &lt;a href="http://cbcg.net/2007/04/22/python-up-ruby-down-if-that-runtime-dont-work-then-its-bound-to-drizzown.html" rel="nofollow noopener" target="_blank" title="http://cbcg.net/2007/04/22/python-up-ruby-down-if-that-runtime-dont-work-then-its-bound-to-drizzown.html"&gt;http://cbcg.net/2007/04/22/...&lt;/a&gt;&lt;br&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Paddy3118</dc:creator><pubDate>Wed, 31 Dec 2008 13:46:08 -0000</pubDate></item></channel></rss>