Prev: The real problem with Python 3 - no business case for conversion
Next: Crash in PyThread_acquire_lock
From: Steven D'Aprano on 2 Jul 2010 19:57 On Fri, 02 Jul 2010 12:07:33 -0700, John Nagle wrote: > Where's the business case for moving to Python 3? It's not faster. It > doesn't do anything you can't do in Python 2.6. There's no "killer app" > for it. End of life for Python 2.x is many years away; most server Linux > distros aren't even shipping with 2.6 yet. How can a business justify > spending money on conversion to Python 3? If you (generic you, not John specifically) can't, then don't. It's as simple as that. Stick with 2.6, or 2.7, or even 1.5 if that's the version you're using. A client of mine is still using 2.3. That's okay. It's allowed. If your business case is best satisfied by staying with 2.x until the sun burns out, more power to you. Just don't expect security upgrades (let alone functional upgrades) for more than a few years. If they are important to you, then *that's* your business case for upgrading. But if you're starting a new project, there is no cost of conversion. -- Steven
From: Steven D'Aprano on 4 Jul 2010 20:29 On Sun, 04 Jul 2010 16:58:04 -0700, John Nagle wrote: > The "incompatible with all extension modules I need" part > is the problem right now. A good first step would be to identify the > top 5 or 10 modules that are blocking a move to Python 3 by major > projects with many users. Are you volunteering to assist, or just belly-aching? Migration to Python 3 is occurring at about the speed that should be expected, modulo the setback that was the seriously flawed 3.0 release. 3.1 should be treated as the "early adopter" version. I would expect 3.3 will probably be the first "mainstream" version, where v3 users start to outnumber v2 users. If people have concrete, *specific* issues that are holding them back from serious plans to migrate to Python 3 then reporting them is a good first step: e.g. telling the author of extension module Foo that you need Python 3 compatibility. Complaining that "extension modules aren't compatible" is just bitching for the sake of bitching and isn't helpful. Please take it elsewhere. Start a blog "why I hate Python 3" or something. Or just stick with Python 2.x forever, without the negativity. There's no law that says you have to upgrade. There are people still using 1.5, and more power to them. -- Steven
From: Steven D'Aprano on 5 Jul 2010 03:07 On Sun, 04 Jul 2010 18:59:03 -0700, John Nagle wrote: > Denying that there's a problem does not help. Nobody is denying that there is a problem, but there are plenty of people denying that there are any solutions. The folks doing development of CPython are genuinely interested in constructive criticism. Go spend some time on the python-dev mailing list to see that they're serious about resolving problems. But harping on and on with the same old negatives and same old FUD ("Python is too slow, nothing works with Python 3, people will abandon Python, the transition is being mismanaged, blah blah blah blah") conspicuously lacking in *actual* details is not helping anyone. Let's hear specifics. What is your project, what is the project timeline, why did you want to use 3.1 (instead of, say, waiting for 3.2) and what *specific* problem stopped you? I'm not interested in hand-waving and vague generalities. I want to hear names and versions, not bitching. "We are planning on building an app to do Foo, and choose to target 2.6 instead of 3.1 because the 3rd party FooLib only supports 2.5 and 2.6..." "I wrote an app using 3.1, and ran into these really painful problems with this library..." That's the sort of thing that is helpful. By the same token, if you've successfully targeted 3.1, we'd love to hear your success stories too. -- Steven
From: D'Arcy J.M. Cain on 6 Jul 2010 08:30
On Tue, 6 Jul 2010 16:30:34 +0800 David Cournapeau <cournape(a)gmail.com> wrote: > One thing that would be very useful is how to maintain something that > works on 2.x and 3.x, but not limiting yourself to 2.6. Giving up > versions below 2.6 is out of the question for most projects with a Yes, PyGreSQL officially supports 2.3 and up. That means that we can't use "from __future__". We might be able to bump that to 2.4 in the next release but I wouldn't want to jump all the way to 2.6 in one version release. -- D'Arcy J.M. Cain <darcy(a)druid.net> | Democracy is three wolves http://www.druid.net/darcy/ | and a sheep voting on +1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner. |