myths about python 3
benjamin.kaplan at case.edu
Wed Jan 27 22:25:46 CET 2010
On Wed, Jan 27, 2010 at 3:56 PM, John Nagle <nagle at animats.com> wrote:
> Daniel Fetchinson wrote:
>> Hi folks,
>> I was going to write this post for a while because all sorts of myths
>> periodically come up on this list about python 3. I don't think the
>> posters mean to spread false information on purpose, they simply are
>> not aware of the facts.
>> My list is surely incomplete, please feel free to post your favorite
>> misconception about python 3 that people periodically state, claim or
>> ask about.
> Myths about Python 3:
> 1. Python 3 is supported by major Linux distributions.
> FALSE - most distros are shipping with Python 2.4, or 2.5 at best.
The latest versions of Ubuntu Jaunty and Karmic, Fedora 11 and 12, and
OpenSUSE 11.2 all use Python 2.6. Ubuntu has been shipping python 3
since Jaunty came out last April. According to Fedora's package index,
Python 3 is in the devel version which probably means it will be in
upcoming versions of Fedora as well.
> 2. Python 3 is supported by multiple Python implementations.
> FALSE - Only CPython supports 3.x. Iron Python, Unladen Swallow,
> PyPy, and Jython have all stayed with 2.x versions of Python.
When Python 2.6 came out, Jython was still on 2.2. The difference
between 2.2 and 2.6 is almost as big of a difference as between 2.6
and 3.0. In that time, you had the introduction of the boolean type,
generators, list comprehensions, the addition of the "yield" and
"with" keywords, universal newline support, and decorators in addition
to the large number of changes to the standard library such as the
introduction of the subprocess module.
> 3. Python 3 is supported by most 3rd party Python packages.
> FALSE - it's not supported by MySQLdb, OpenSSL, feedparser, etc.
> Arguably, Python 3 has been rejected by the market. Instead, there's
> now Python 2.6, Python 2.7, and Python 2.8. Python 3 has turned into
> a debacle like Perl 6, now 10 years old.
Give the package maintainers time to update. There were some pretty
big changes to the C API. Most of the major 3rd party packages like
numpy and MySQLdb have already commited to having a Python 3 version.
They just haven't gotten them out yet.
> That's the reality, Python 3 fanboys.
> John Nagle
More information about the Python-list