Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Python 3.x adoption

221 views
Skip to first unread message

Staszek

unread,
Jan 14, 2014, 2:33:50 PM1/14/14
to
Hi

What's the problem with Python 3.x? It was first released in 2008, but
web hosting companies still seem to offer Python 2.x rather.

For example, Google App Engine only offers Python 2.7.

What's wrong?...

--
http://people.eisenbits.com/~stf/
http://www.eisenbits.com/

OpenPGP: 80FC 1824 2EA4 9223 A986 DB4E 934E FEA0 F492 A63B

Skip Montanaro

unread,
Jan 14, 2014, 2:38:29 PM1/14/14
to Staszek, Python
> What's the problem with Python 3.x? It was first released in 2008, but
> web hosting companies still seem to offer Python 2.x rather.
>
> For example, Google App Engine only offers Python 2.7.
>
> What's wrong?...

What makes you think anything's wrong? Major changes to any
established piece of software takes a fairly long while to infiltrate.
Lots of COBOL and Fortran 77 still running out there. I imagine there
are still more than a few DOS and Windows 3.1 boxes as well. Why
should adoption of Python 3.x be any different?

Skip

Chris Angelico

unread,
Jan 14, 2014, 2:44:32 PM1/14/14
to pytho...@python.org
On Wed, Jan 15, 2014 at 6:33 AM, Staszek <nor...@eisenbits.com> wrote:
> What's the problem with Python 3.x? It was first released in 2008, but
> web hosting companies still seem to offer Python 2.x rather.
>
> For example, Google App Engine only offers Python 2.7.
>
> What's wrong?...

There's nothing wrong with Python 3, but as Skip says, it takes time
for people to migrate.

Most cheap web hosts don't offer Python _at all_, but those that do
have the choice of which version(s) to provide. It may be possible to
call up either a 2.x or a 3.x by looking for "python" or "python3" -
give it a try.

ChrisA

Steven D'Aprano

unread,
Jan 14, 2014, 9:55:10 PM1/14/14
to
On Tue, 14 Jan 2014 20:33:50 +0100, Staszek wrote:

> Hi
>
> What's the problem with Python 3.x?

Nothing.

> It was first released in 2008,

That was only five years ago.

I know that to young kids today who change their iPhone every six months,
five years sounds like a lot, but in the world of mature software, five
years is a blink of the eye. People still use Fortran code that is 30
years old. I know of at least one person supporting a Python 1.5 system,
which is about 15 years old. RedHat is still providing commercial support
for Python 2.3, and their Python 2.7 commercial support won't end until
2023 or 2024.


> but web hosting companies still seem to offer Python 2.x rather.
>
> For example, Google App Engine only offers Python 2.7.
>
> What's wrong?...

Hosting companies are conservative. Just look at how many still offer old
versions of PHP. These guys offer PHP 5.2 to 5.5:

http://www.a2hosting.com/php-hosting

WordPress will run on PHP 4.1!

So it is no surprise that Python hosting companies still mostly provide
2.7.



--
Steven

MRAB

unread,
Jan 14, 2014, 10:30:12 PM1/14/14
to pytho...@python.org
Not to mention Windows XP, which is only now being dropped by Microsoft.

Travis Griggs

unread,
Jan 15, 2014, 10:43:17 AM1/15/14
to pytho...@python.org
Here we go again…

On Jan 14, 2014, at 11:33 AM, Staszek <nor...@eisenbits.com> wrote:

> Hi
>
> What's the problem with Python 3.x? It was first released in 2008, but
> web hosting companies still seem to offer Python 2.x rather.
>
> For example, Google App Engine only offers Python 2.7.
>
> What's wrong?...

Maybe what it means is that Python3 is just fine, but Google App Engine isn’t seeing a lot of development/improvement lately, that it’s just in maintenance mode. Imagine that, Google not finishing/maintaining something.

I wish amongst the periodic maelstroms of Python2 vs Python3 handwringing, people would look at the new project starts. When I work with someone’s old library that they’ve moved on from, I use python2 if I have to, but anytime I can, I use python3.

Personally, I wish they’d start python4, sure would take the heat out of the 3 vs 2 debates. And maybe there’d be a program called twentyfour as a result.

Chris Angelico

unread,
Jan 15, 2014, 11:14:22 AM1/15/14
to pytho...@python.org
On Thu, Jan 16, 2014 at 2:43 AM, Travis Griggs <travis...@gmail.com> wrote:
> Personally, I wish they’d start python4, sure would take the heat out of the 3 vs 2 debates. And maybe there’d be a program called twentyfour as a result.

Learn All Current Versions of Python in Twenty-Four Hours?

ChrisA

Mark Lawrence

unread,
Jan 15, 2014, 11:46:25 AM1/15/14
to pytho...@python.org
Totally unfair, Steven D'Aprano amongst others would have a head start :)

--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence

Chris Angelico

unread,
Jan 15, 2014, 12:08:42 PM1/15/14
to pytho...@python.org
On Thu, Jan 16, 2014 at 3:46 AM, Mark Lawrence <bream...@yahoo.co.uk> wrote:
> On 15/01/2014 16:14, Chris Angelico wrote:
>>
>> On Thu, Jan 16, 2014 at 2:43 AM, Travis Griggs <travis...@gmail.com>
>> wrote:
>>>
>>> Personally, I wish they’d start python4, sure would take the heat out of
>>> the 3 vs 2 debates. And maybe there’d be a program called twentyfour as a
>>> result.
>>
>>
>> Learn All Current Versions of Python in Twenty-Four Hours?
>>
>> ChrisA
>>
>
> Totally unfair, Steven D'Aprano amongst others would have a head start :)

Heh. I said "Current" specifically to cut out 1.5.2, and also to
eliminate the need to worry about string exceptions and so on. But
mainly just for the pun.

ChrisA

Christopher Welborn

unread,
Jan 15, 2014, 12:37:10 PM1/15/14
to pytho...@python.org
On 01/14/2014 01:33 PM, Staszek wrote:
> Hi
>
> What's the problem with Python 3.x? It was first released in 2008, but
> web hosting companies still seem to offer Python 2.x rather.
>
> For example, Google App Engine only offers Python 2.7.
>
> What's wrong?...
>

My last two hosts have offered multiple versions of python.
I upgraded to python 3.3 recently on my site. I guess its easier for
some folks to offer such a thing, it just depends on their setup.

My host also offered Django 1.5 almost immediately after its release,
and the same with 1.6. They give the user options, and if they
break their site by upgrading too early (without migrating code) it's
the user's fault.
--

- Christopher Welborn <cjwe...@live.com>
http://welbornprod.com

Piet van Oostrum

unread,
Jan 16, 2014, 7:57:54 AM1/16/14
to
Travis Griggs <travis...@gmail.com> writes:

> Personally, I wish they’d start python4, sure would take the heat out of
> the 3 vs 2 debates. And maybe there’d be a program called twentyfour as
> a result.

twelve would be sufficient, I would think.
--
Piet van Oostrum <pi...@vanoostrum.org>
WWW: http://pietvanoostrum.com/
PGP key: [8DAE142BE17999C4]

Grant Edwards

unread,
Jan 17, 2014, 10:27:02 AM1/17/14
to
On 2014-01-14, Staszek <nor...@eisenbits.com> wrote:

> What's the problem with Python 3.x?

The problem with Python 3.x is Python 2.7. ;)

> What's wrong?...

Python 2.7 still does everything 99% of us need to do, and we're too
lazy to switch.

--
Grant Edwards grant.b.edwards Yow! We have DIFFERENT
at amounts of HAIR --
gmail.com

Tim Chase

unread,
Jan 17, 2014, 11:15:38 AM1/17/14
to pytho...@python.org
On 2014-01-17 15:27, Grant Edwards wrote:
> > What's wrong?...
>
> Python 2.7 still does everything 99% of us need to do, and we're too
> lazy to switch.

And in most distros, typing "python" invokes 2.x, and explicitly
typing "python3" is almost 17% longer. We're a lazy bunch! :-)

-tkc




Mark Lawrence

unread,
Jan 17, 2014, 11:21:08 AM1/17/14
to pytho...@python.org
On 17/01/2014 16:15, Tim Chase wrote:
> On 2014-01-17 15:27, Grant Edwards wrote:
>>> What's wrong?...
>>
>> Python 2.7 still does everything 99% of us need to do, and we're too
>> lazy to switch.
>
> And in most distros, typing "python" invokes 2.x, and explicitly
> typing "python3" is almost 17% longer. We're a lazy bunch! :-)
>
> -tkc
>

For the really lazy the obvious solution is to switch to Windows where
it's simply "py -2" or "py -3".

Grant Edwards

unread,
Jan 17, 2014, 3:02:47 PM1/17/14
to
And my touch typing accuracy/speed drops pretty noticably when I have
to use the top row of keys...

--
Grant Edwards grant.b.edwards Yow! Half a mind is a
at terrible thing to waste!
gmail.com

Terry Reedy

unread,
Jan 17, 2014, 5:10:04 PM1/17/14
to pytho...@python.org
On 1/17/2014 10:27 AM, Grant Edwards wrote:
> On 2014-01-14, Staszek <nor...@eisenbits.com> wrote:
>
>> What's the problem with Python 3.x?
>
> The problem with Python 3.x is Python 2.7. ;)

Cute.

>> What's wrong?...
>
> Python 2.7 still does everything 99% of us need to do, and we're too
> lazy to switch.

While '99' is rhetorical, the statement is accurate for many. The core
devs do not expect such people* to switch until they think they would
benefit, and even then, only to the version that has enough goodies.

* except for authors of widely used libraries ;-), and even then, it
ends up being a matter of whether such authors think they will benefit
from having 3.x users.

--
Terry Jan Reedy

beli...@aol.com

unread,
Jan 17, 2014, 5:16:59 PM1/17/14
to
On Tuesday, January 14, 2014 2:38:29 PM UTC-5, Skip Montanaro wrote:
> > What's the problem with Python 3.x? It was first released in 2008, but
>
> > web hosting companies still seem to offer Python 2.x rather.
>
> >
>
> > For example, Google App Engine only offers Python 2.7.
>
> >
>
> > What's wrong?...
>
>
>
> What makes you think anything's wrong? Major changes to any
>
> established piece of software takes a fairly long while to infiltrate.
>
> Lots of COBOL and Fortran 77 still running out there.

I don't think the Fortran analogy is valid.

The Fortran standards after F77 are almost complete supersets of F77, and Fortran compiler vendors handle even the deleted parts of F77, knowing their customer base. Therefore you do not need to rewrite old Fortran code to use it with Fortran 95 or 2003 compilers, and you can easily mix old-style and modern Fortran. Later Fortran standards did not invalidate basic syntax such as print statements, as Python 3 did. Python 2 and 3 are incompatible in ways that do not apply to Fortran standards pre- and post- F77.

Mark Lawrence

unread,
Jan 17, 2014, 5:51:24 PM1/17/14
to pytho...@python.org
On 17/01/2014 22:16, beli...@aol.com wrote:
> On Tuesday, January 14, 2014 2:38:29 PM UTC-5, Skip Montanaro wrote:
>>> What's the problem with Python 3.x? It was first released in 2008, but
>>
>>> web hosting companies still seem to offer Python 2.x rather.
>>
>>>
>>
>>> For example, Google App Engine only offers Python 2.7.
>>
>>>
>>
>>> What's wrong?...
>>
>>
>>
>> What makes you think anything's wrong? Major changes to any
>>
>> established piece of software takes a fairly long while to infiltrate.
>>
>> Lots of COBOL and Fortran 77 still running out there.
>
> I don't think the Fortran analogy is valid.
>
> Later Fortran standards did not invalidate basic syntax such as print statements, as Python 3 did. Python 2 and 3 are incompatible in ways that do not apply to Fortran standards pre- and post- F77.
>

A good choice to make, the capability to use "from __future__ import
print_function", or whatever the actual thing is, has been available for
years. 2to3 has been available for years, six was released at the end
of June 2010 and there's now future, see http://python-future.org/
Admittedly there's a problem with the porting of code which mixes bytes
and strings, but that's being addressed right now via PEPs 460, 461 and
possibly others.

Terry Reedy

unread,
Jan 17, 2014, 6:03:45 PM1/17/14
to pytho...@python.org
On 1/17/2014 5:16 PM, beli...@aol.com wrote:

> I don't think the Fortran analogy is valid.

The appropriate analogy for the changes between Python 2.x and 3.x,
which started about 1 and 2 decades after the original Python, are the
changes between Fortran IV/66 and Fortran 77, also about 1 and 2 decades
after the original Fortran. The latter two have a comparable number of
differences. "In this revision of the standard [F77], a number of
features were removed or altered in a manner that might invalidate
previously standard-conforming programs.
https://en.wikipedia.org/wiki/Fortran
Not mentioned in the wiki article is the change in calling convention
from call by value to call by reference (or maybe the opposite). I
remember a program crashing because of this when I tried it with F77.

Overall, there was more churn in Fortran up to F77 than there was in
Python up to 3.0.

> The Fortran standards after F77 are almost complete supersets of F77, and Fortran compiler vendors handle even the deleted parts of F77, knowing their customer base. Therefore you do not need to rewrite old Fortran code to use it with Fortran 95 or 2003 compilers, and you can easily mix old-style and modern Fortran. Later Fortran standards did not invalidate basic syntax such as print statements, as Python 3 did. Python 2 and 3 are incompatible in ways that do not apply to Fortran standards pre- and post- F77.

Since 3.0, we have added new syntax ('yield from', u'' for instance) but
I do not believe we have deleted or changed any syntax (I might have
forgotten something minor) and I do not know of any proposal to do so
(except to re-delete u'', which should only be used as a temporary
crutch for 2&3 code).

> Python 2 and 3 are incompatible in ways that do not apply to Fortran
> standards pre- and post- F77.

As stated above, I disagree with respect to pre-F77 and F77. Did you
actually program in both, as I did?

--
Terry Jan Reedy

MRAB

unread,
Jan 17, 2014, 6:12:20 PM1/17/14
to pytho...@python.org
On 2014-01-17 23:03, Terry Reedy wrote:
[snip]
> Since 3.0, we have added new syntax ('yield from', u'' for instance) but
> I do not believe we have deleted or changed any syntax (I might have
> forgotten something minor) and I do not know of any proposal to do so
> (except to re-delete u'', which should only be used as a temporary
> crutch for 2&3 code).
>
There was the removal of backticks.

Chris Angelico

unread,
Jan 17, 2014, 6:17:35 PM1/17/14
to pytho...@python.org
Wasn't that removed _in_, not _since_, 3.0?

ChrisA
Message has been deleted

Ben Finney

unread,
Jan 17, 2014, 8:18:38 PM1/17/14
to pytho...@python.org
Terry Reedy <tjr...@udel.edu> writes:

> Since 3.0, we have added new syntax ('yield from', u'' for instance)
> but I do not believe we have deleted or changed any syntax (I might
> have forgotten something minor)

I'm aware of the removal of ‘`foo`’ (use ‘repr(foo)’ instead), and
removal of ‘except ExcClass, exc_instance’ (use ‘except ExcClass as
exc_instance’ instead).

--
\ “For my birthday I got a humidifier and a de-humidifier. I put |
`\ them in the same room and let them fight it out.” —Steven Wright |
_o__) |
Ben Finney

Ben Finney

unread,
Jan 17, 2014, 8:27:39 PM1/17/14
to pytho...@python.org
Ben Finney <ben+p...@benfinney.id.au> writes:

> Terry Reedy <tjr...@udel.edu> writes:
>
> > Since 3.0, we have added new syntax ('yield from', u'' for instance)
> > but I do not believe we have deleted or changed any syntax (I might
> > have forgotten something minor)
>
> I'm aware of the removal of ‘`foo`’ (use ‘repr(foo)’ instead), and
> removal of ‘except ExcClass, exc_instance’ (use ‘except ExcClass as
> exc_instance’ instead).

Ah, you meant “deleted or changed any Python 3 syntax”. No, I'm not
aware of any such changes.

--
\ “I have never imputed to Nature a purpose or a goal, or |
`\ anything that could be understood as anthropomorphic.” —Albert |
_o__) Einstein, unsent letter, 1955 |
Ben Finney

Roy Smith

unread,
Jan 17, 2014, 9:49:21 PM1/17/14
to
In article <lbc296$itl$1...@reader1.panix.com>,
Grant Edwards <inv...@invalid.invalid> wrote:

> On 2014-01-17, Tim Chase <pytho...@tim.thechases.com> wrote:
> > On 2014-01-17 15:27, Grant Edwards wrote:
> >> > What's wrong?...
> >>
> >> Python 2.7 still does everything 99% of us need to do, and we're too
> >> lazy to switch.
> >
> > And in most distros, typing "python" invokes 2.x, and explicitly
> > typing "python3" is almost 17% longer. We're a lazy bunch! :-)
>
> And my touch typing accuracy/speed drops pretty noticably when I have
> to use the top row of keys...

This is why shells have the ability to create aliases, and also why
command-line autocomplete was invented :-)

beli...@aol.com

unread,
Jan 18, 2014, 8:27:19 AM1/18/14
to
I should have written "F77 and post F77". I have programmed in Fortran 77, 90, and 95.

Travis Griggs

unread,
Jan 21, 2014, 2:04:40 PM1/21/14
to pytho...@python.org
Looks like the 2/3 topic has lain fallow for a couple of days, gotta keep it burning…

I’m a relatively recent python convert, but been coding and talking to others about coding for many moons on this big blue orb. I think the industrial side of this debate has been talked up quite a bit. We have tools, we have the wall of shame/superpowers for libraries and projects.

I think the desires of the core of people moving python forward are pretty clear to those of us that plug in. Move to 3. Period. We can debate, hate it, go on all day, but they’ve been pretty steady.

I’ve had a bunch of interns around me lately though, wanting to get into python, and this is where I find the momentum really breaks down. If newcomers go to take an online course in python, they might try MIT’s Open Courseware (who doesn’t want to learn from the illustrious MIT after all?). They’ll be taught Python 2, not 3. Or they might try Code Academy. Again, they’ll be taught 2, not 3. If the newbie googles “python reference”… top link will be python 2.

So in my mind, the wall of superpowers/shame is no longer well aligned with where the real battlefront of adoption is at. The legacy of the internet caches and education sites are. Personally, I have no idea why an education site would favor a version that sooner or later they’re going to have to try and explain how super() works.

The other area, I think, that puts a dent in perceived adoption is in alternate interpreters. Back in the day, everyone was making some branch of python (e.g. IronPython, Jython, Cython, PyPy, Stackless, etc). All of them did python 2. Very few are doing python 3. Some have been abandoned (as is the nature of research endeavors like these were), but there doesn’t seem to be the broad swath of people still building alternate python expressions, especially in python 3. Being a fan of JIT, I have big hopes for PyPy, I can’t figure out why they aren’t pitching their “cutting edge” interpreter, for the “cutting edge” version of python. There should be a wall of superpowers/shame for interpreters.

Chris Kaynor

unread,
Jan 21, 2014, 2:15:12 PM1/21/14
to Travis Griggs, pytho...@python.org
On Tue, Jan 21, 2014 at 11:04 AM, Travis Griggs <travis...@gmail.com> wrote:
Being a fan of JIT, I have big hopes for PyPy, I can’t figure out why they aren’t pitching their “cutting edge” interpreter, for the “cutting edge” version of python. There should be a wall of superpowers/shame for interpreters.

A very quick look at the PyPy website shows they are working on a 3.x compatible version: http://doc.pypy.org/en/latest/release-pypy3-2.1.0-beta1.html. Its just still in beta.

Chris

Chris Angelico

unread,
Jan 21, 2014, 2:25:17 PM1/21/14
to pytho...@python.org
On Wed, Jan 22, 2014 at 6:04 AM, Travis Griggs <travis...@gmail.com> wrote:
> I’ve had a bunch of interns around me lately though, wanting to get into python, and this is where I find the momentum really breaks down. If newcomers go to take an online course in python, they might try MIT’s Open Courseware (who doesn’t want to learn from the illustrious MIT after all?). They’ll be taught Python 2, not 3.
>

Courses are inherently laggy. I don't know how long it takes to write
a course, get it approved, and then advertise it so you get some
students, but I suspect it's a good while. I'd say that it's only
since 3.3 (some would argue 3.2, others 3.4) that Py3 has been the
clear winner in the new-application debate; give it a few more years
before courses start teaching Py3. Of course, anyone who comes to a
rapid communication venue like python-list can learn the state of the
art (in the original sense), but if you want a degree in Comp Sci and
you have to take X courses to get it, chances are you'll learn Py2
along the way.

ChrisA
0 new messages