<?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: James Bennett: “Let&#8217;s talk about Python 3.0”</title>
	<atom:link href="http://jens.mooseyard.com/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/feed/" rel="self" type="application/rss+xml" />
	<link>http://jens.mooseyard.com/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/</link>
	<description>Little boxes made of words, by Jens Alfke</description>
	<lastBuildDate>Sun, 02 May 2010 05:43:47 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Chris Gonnerman</title>
		<link>http://jens.mooseyard.com/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/comment-page-1/#comment-2898</link>
		<dc:creator>Chris Gonnerman</dc:creator>
		<pubDate>Fri, 26 Jun 2009 14:01:52 +0000</pubDate>
		<guid isPermaLink="false">http://mooseyard.com/Jens/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/#comment-2898</guid>
		<description>I maintain a few, quite small, libraries for Python (including the never-quite-dead gdmodule, which I took over with Richard&#039;s blessing some years back).  Many people have asked me when I&#039;ll have 3.0 versions of the various libraries.

At this rate, never.

I have no incentive to do it.  Perhaps I&#039;m a strange old fogie, but I found the *language* nearly perfect back around 2.2... I never use list comprehensions in my code (I find them hard to read, so I don&#039;t write them), nor do I use iterators or any other of the new syntax.  Certainly, the semantics were impure, but they were *simple*, and I&#039;m a bear of little brain.  I far prefer a language I can hold entirely within my head to one I have to strain to read.  If I were the other way around, I&#039;d write Perl.

I do understand the motivations for the changes in 3.0, though I disagree with some of them; but what I have never understood is the farkling of the language, adding semantics borrowed from elsewhere to do things we can *already do just fine without them.*

(A &quot;farkle&quot; is a shiny bit you add to a motorcycle, sports car, etc.   A luggage rack or a spoiler, for instance.  Things not really needed, but which are &quot;cool&quot; to have.)

This isn&#039;t just my natural reactionism.  I truly believe that a simpler language breaks in simpler ways, just as any simpler system tends to break in simpler ways, so that the programmer can better understand why things go wrong (and more importantly, can more easily write error-free code the first time, an experience I never had before Python).</description>
		<content:encoded><![CDATA[<p>I maintain a few, quite small, libraries for Python (including the never-quite-dead gdmodule, which I took over with Richard&#8217;s blessing some years back).  Many people have asked me when I&#8217;ll have 3.0 versions of the various libraries.</p>
<p>At this rate, never.</p>
<p>I have no incentive to do it.  Perhaps I&#8217;m a strange old fogie, but I found the *language* nearly perfect back around 2.2&#8230; I never use list comprehensions in my code (I find them hard to read, so I don&#8217;t write them), nor do I use iterators or any other of the new syntax.  Certainly, the semantics were impure, but they were *simple*, and I&#8217;m a bear of little brain.  I far prefer a language I can hold entirely within my head to one I have to strain to read.  If I were the other way around, I&#8217;d write Perl.</p>
<p>I do understand the motivations for the changes in 3.0, though I disagree with some of them; but what I have never understood is the farkling of the language, adding semantics borrowed from elsewhere to do things we can *already do just fine without them.*</p>
<p>(A &#8220;farkle&#8221; is a shiny bit you add to a motorcycle, sports car, etc.   A luggage rack or a spoiler, for instance.  Things not really needed, but which are &#8220;cool&#8221; to have.)</p>
<p>This isn&#8217;t just my natural reactionism.  I truly believe that a simpler language breaks in simpler ways, just as any simpler system tends to break in simpler ways, so that the programmer can better understand why things go wrong (and more importantly, can more easily write error-free code the first time, an experience I never had before Python).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mithrandi.net</title>
		<link>http://jens.mooseyard.com/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/comment-page-1/#comment-2887</link>
		<dc:creator>mithrandi.net</dc:creator>
		<pubDate>Sat, 13 Dec 2008 19:00:20 +0000</pubDate>
		<guid isPermaLink="false">http://mooseyard.com/Jens/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/#comment-2887</guid>
		<description>I&#039;ve blogged my own response here: http://mithrandi.vox.com/library/post/more-on-python-3.html</description>
		<content:encoded><![CDATA[<p>I&#8217;ve blogged my own response here: <a href="http://mithrandi.vox.com/library/post/more-on-python-3.html" rel="nofollow">http://mithrandi.vox.com/library/post/more-on-python-3.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Bergman</title>
		<link>http://jens.mooseyard.com/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/comment-page-1/#comment-2897</link>
		<dc:creator>Steve Bergman</dc:creator>
		<pubDate>Tue, 09 Dec 2008 14:15:28 +0000</pubDate>
		<guid isPermaLink="false">http://mooseyard.com/Jens/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/#comment-2897</guid>
		<description>&quot;&quot;&quot;
I suspect foljs is complaining about the fact that you can’t alter bindings within the enclosed scope.
&quot;&quot;&quot;

But doesn&#039;t the &quot;nonlocal&quot; statement  in 3.0 allow just that?

http://docs.python.org/dev/3.0/reference/simple_stmts.html#nonlocal</description>
		<content:encoded><![CDATA[<p>&#8221;&#8221;&#8220;<br />
I suspect foljs is complaining about the fact that you can’t alter bindings within the enclosed scope.<br />
&#8220;&#8221;&#8220;</p>
<p>But doesn&#8217;t the &#8220;nonlocal&#8221; statement  in 3.0 allow just that?</p>
<p><a href="http://docs.python.org/dev/3.0/reference/simple_stmts.html#nonlocal" rel="nofollow">http://docs.python.org/dev/3.0/reference/simple_stmts.html#nonlocal</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: http://www.b-list.org/</title>
		<link>http://jens.mooseyard.com/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/comment-page-1/#comment-2896</link>
		<dc:creator>http://www.b-list.org/</dc:creator>
		<pubDate>Tue, 09 Dec 2008 06:23:57 +0000</pubDate>
		<guid isPermaLink="false">http://mooseyard.com/Jens/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/#comment-2896</guid>
		<description>I suspect foljs is complaining about the fact that you can&#039;t alter bindings within the enclosed scope. To which I usually reply that Python&#039;s closures are simply on par with Haskell&#039;s ;)

(since in a strict single-assignment language like Haskell you can&#039;t rebind &lt;em&gt;any&lt;/em&gt; variable once you&#039;ve assigned something to it, the analogy holds up; also, I find it curious that people who complain about Python lacking &quot;real closures&quot; never extend their complaint to single-assignment languages, but that&#039;s a story for another day...)</description>
		<content:encoded><![CDATA[<p>I suspect foljs is complaining about the fact that you can&#8217;t alter bindings within the enclosed scope. To which I usually reply that Python&#8217;s closures are simply on par with Haskell&#8217;s ;)</p>
<p>(since in a strict single-assignment language like Haskell you can&#8217;t rebind <em>any</em> variable once you&#8217;ve assigned something to it, the analogy holds up; also, I find it curious that people who complain about Python lacking &#8220;real closures&#8221; never extend their complaint to single-assignment languages, but that&#8217;s a story for another day&#8230;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Bergman</title>
		<link>http://jens.mooseyard.com/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/comment-page-1/#comment-2895</link>
		<dc:creator>Steve Bergman</dc:creator>
		<pubDate>Mon, 08 Dec 2008 20:24:27 +0000</pubDate>
		<guid isPermaLink="false">http://mooseyard.com/Jens/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/#comment-2895</guid>
		<description>Kelsey,

Well... yes and no.  Entirely too much attention is being focused upon 3.0.

The big news in the Python world is really 2.6.  And that is what new users should target. New users targeting 3.0 in the next year or so are in for a disappointment.  The comprehensive library support will just not be there for them.  And top level projects, like web frameworks, are planning on taking their time... maybe one or two years... to transition.  A lot of projects want to maintain 2.3 and 2.4 compatibility a while longer, and 2.3 to 3.x is just a bit of a stretch.

Some of the &quot;old hands&quot; with large code-bases which are their responsibility are panicking.  But they shouldn&#039;t be.  2.x will be around, and even dominant, for a long while.

The 3.0 release represents something new appearing on the horizon.  And that&#039;s all.  Pick up a book on 2.x for now; 3.x is really *not* that different, unless you already have a zillion lines of code that you feel that you have to convert right now for some reason.</description>
		<content:encoded><![CDATA[<p>Kelsey,</p>
<p>Well&#8230; yes and no.  Entirely too much attention is being focused upon 3.0.</p>
<p>The big news in the Python world is really 2.6.  And that is what new users should target. New users targeting 3.0 in the next year or so are in for a disappointment.  The comprehensive library support will just not be there for them.  And top level projects, like web frameworks, are planning on taking their time&#8230; maybe one or two years&#8230; to transition.  A lot of projects want to maintain 2.3 and 2.4 compatibility a while longer, and 2.3 to 3.x is just a bit of a stretch.</p>
<p>Some of the &#8220;old hands&#8221; with large code-bases which are their responsibility are panicking.  But they shouldn&#8217;t be.  2.x will be around, and even dominant, for a long while.</p>
<p>The 3.0 release represents something new appearing on the horizon.  And that&#8217;s all.  Pick up a book on 2.x for now; 3.x is really *not* that different, unless you already have a zillion lines of code that you feel that you have to convert right now for some reason.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kelsey</title>
		<link>http://jens.mooseyard.com/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/comment-page-1/#comment-2894</link>
		<dc:creator>Kelsey</dc:creator>
		<pubDate>Mon, 08 Dec 2008 19:54:26 +0000</pubDate>
		<guid isPermaLink="false">http://mooseyard.com/Jens/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/#comment-2894</guid>
		<description>On popularity: Keep in mind that this update is an improvement in nearly every respect to new users. I don&#039;t even know Python, but I&#039;m thrilled about the update because it&#039;ll make Python so much easier and funner to learn and use when I get around to it. My respect for the developers and designers of the language has also increased immensely. I predict that Python will gain more users than it&#039;ll lose with this update.

As an outsider, of course, I&#039;m predisposed to these opinions.</description>
		<content:encoded><![CDATA[<p>On popularity: Keep in mind that this update is an improvement in nearly every respect to new users. I don&#8217;t even know Python, but I&#8217;m thrilled about the update because it&#8217;ll make Python so much easier and funner to learn and use when I get around to it. My respect for the developers and designers of the language has also increased immensely. I predict that Python will gain more users than it&#8217;ll lose with this update.</p>
<p>As an outsider, of course, I&#8217;m predisposed to these opinions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lennart Regebro</title>
		<link>http://jens.mooseyard.com/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/comment-page-1/#comment-2886</link>
		<dc:creator>Lennart Regebro</dc:creator>
		<pubDate>Mon, 08 Dec 2008 12:25:04 +0000</pubDate>
		<guid isPermaLink="false">http://mooseyard.com/Jens/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/#comment-2886</guid>
		<description>&quot;Why keep *so much* language crap?&quot;

I suspect we are in the realm of personal tastes here. I don&#039;t think it keeps very much language crap. The only thing I don&#039;t like in python 3 is that there *still* is no &quot;Until&quot; statement, for what I find dogmatic reasons. And I really don&#039;t like comprehensions, although admittedly I use them all the time, so I&#039;m a hypocrite on that part.

Other than that, it is pretty damn close to perfection, and if I was asked to design my perfect language, it would more or less be python 3.</description>
		<content:encoded><![CDATA[<p>&#8220;Why keep *so much* language crap?&#8221;</p>
<p>I suspect we are in the realm of personal tastes here. I don&#8217;t think it keeps very much language crap. The only thing I don&#8217;t like in python 3 is that there *still* is no &#8220;Until&#8221; statement, for what I find dogmatic reasons. And I really don&#8217;t like comprehensions, although admittedly I use them all the time, so I&#8217;m a hypocrite on that part.</p>
<p>Other than that, it is pretty damn close to perfection, and if I was asked to design my perfect language, it would more or less be python 3.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lennart Regebro</title>
		<link>http://jens.mooseyard.com/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/comment-page-1/#comment-2893</link>
		<dc:creator>Lennart Regebro</dc:creator>
		<pubDate>Mon, 08 Dec 2008 12:21:04 +0000</pubDate>
		<guid isPermaLink="false">http://mooseyard.com/Jens/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/#comment-2893</guid>
		<description>&quot;Any time I want to use a library I’ll have to check whether it works with the version of Python I’m on. &quot;

Yes, this is correct. For any python version. Obvously, for Python 3, it will take much longer before most libraries are available, and for the nearest 1-2 years, if you wnat to use Python 3 you will have to make more checks to see if the libraries are available or not before the project starts. If you don&#039;t want to do that, stay with Python 2 for the time being.

I can&#039;t shake the feeling that you are basically upset with Python 3 because you can&#039;t use it NOW, IMMEDIATELY, because the libraries aren&#039;t ready. That somehow you are miffed that you can&#039;t use the latest (and greatest) version of Python because its incompatibiliets means it will take a while for libraries to catch up.

This is true, and understandable, but you have to also remember that the version hadn&#039;t been as great if it was compatible.

The alternative would have been to introduce incompatibilities step by step, in a series of new releases. But that would just prolong the pain, so I&#039;m not sure that is a good idea.</description>
		<content:encoded><![CDATA[<p>&#8220;Any time I want to use a library I’ll have to check whether it works with the version of Python I’m on. &#8220;</p>
<p>Yes, this is correct. For any python version. Obvously, for Python 3, it will take much longer before most libraries are available, and for the nearest 1-2 years, if you wnat to use Python 3 you will have to make more checks to see if the libraries are available or not before the project starts. If you don&#8217;t want to do that, stay with Python 2 for the time being.</p>
<p>I can&#8217;t shake the feeling that you are basically upset with Python 3 because you can&#8217;t use it NOW, IMMEDIATELY, because the libraries aren&#8217;t ready. That somehow you are miffed that you can&#8217;t use the latest (and greatest) version of Python because its incompatibiliets means it will take a while for libraries to catch up.</p>
<p>This is true, and understandable, but you have to also remember that the version hadn&#8217;t been as great if it was compatible.</p>
<p>The alternative would have been to introduce incompatibilities step by step, in a series of new releases. But that would just prolong the pain, so I&#8217;m not sure that is a good idea.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Bergman</title>
		<link>http://jens.mooseyard.com/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/comment-page-1/#comment-2892</link>
		<dc:creator>Steve Bergman</dc:creator>
		<pubDate>Mon, 08 Dec 2008 00:58:52 +0000</pubDate>
		<guid isPermaLink="false">http://mooseyard.com/Jens/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/#comment-2892</guid>
		<description>What would you consider a &quot;real closure&quot;?</description>
		<content:encoded><![CDATA[<p>What would you consider a &#8220;real closure&#8221;?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: foljs</title>
		<link>http://jens.mooseyard.com/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/comment-page-1/#comment-2885</link>
		<dc:creator>foljs</dc:creator>
		<pubDate>Sun, 07 Dec 2008 19:30:16 +0000</pubDate>
		<guid isPermaLink="false">http://mooseyard.com/Jens/2008/12/james-bennett-%e2%80%9clets-talk-about-python-30%e2%80%9d/#comment-2885</guid>
		<description>Well, my problem is:

Since Python 3K is breaking backwards compatibility anyways.

Why keep *so much* language crap?

It was time to fix the syntax (get rid of this underscore nonsense), add some nice things as real closures, etc...

Instead we just get a fix for Unicode (ok, this is big, but almost all modern languages have this by now (Ruby 2, Groovy, the .NET scripting languages, Perl), it&#039;s not like it would be a huge differentiator in the future) and some restructuring of the libraries...</description>
		<content:encoded><![CDATA[<p>Well, my problem is:</p>
<p>Since Python 3K is breaking backwards compatibility anyways.</p>
<p>Why keep *so much* language crap?</p>
<p>It was time to fix the syntax (get rid of this underscore nonsense), add some nice things as real closures, etc&#8230;</p>
<p>Instead we just get a fix for Unicode (ok, this is big, but almost all modern languages have this by now (Ruby 2, Groovy, the .NET scripting languages, Perl), it&#8217;s not like it would be a huge differentiator in the future) and some restructuring of the libraries&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
