Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #72205 > unrolled thread

Re: Python 3 is killing Python

Started byTerry Reedy <tjreedy@udel.edu>
First post2014-05-28 20:41 -0400
Last post2014-07-14 15:31 -0700
Articles 4 — 3 participants

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: Python 3 is killing Python Terry Reedy <tjreedy@udel.edu> - 2014-05-28 20:41 -0400
    Re: Python 3 is killing Python Steven D'Aprano <steve@pearwood.info> - 2014-05-29 04:03 +0000
      Re: Python 3 is killing Python Terry Reedy <tjreedy@udel.edu> - 2014-05-29 02:57 -0400
    Re: Python 3 is killing Python Rick Johnson <rantingrickjohnson@gmail.com> - 2014-07-14 15:31 -0700

#72205 — Re: Python 3 is killing Python

FromTerry Reedy <tjreedy@udel.edu>
Date2014-05-28 20:41 -0400
SubjectRe: Python 3 is killing Python
Message-ID<mailman.10430.1401324137.18130.python-list@python.org>
On 5/28/2014 3:23 PM, Larry Martell wrote:
> Somthing I came across in my travels through the ether:
>
> https://medium.com/@deliciousrobots/5d2ad703365d/

Claim: "Python 3 languishes in disuse."

Fact: in 2013, there were around 14 million downloads of windows 
installers for each of 2.7.x and 3.3.x. 3.3 is over twice as popular as 
3.2 (to be expected).
http://article.gmane.org/gmane.comp.python.devel/147822
In a year, we will see about 3.4.

Regardless of comparisons with 2.7, 3.3 is a success in absolute numbers.

Claim: Another great strength of Python 2 was that programs written in 
it would almost always run on the next version of Python without much 
alteration.

True. Changes and removals of deprecated features (like old style 
classes) were put off until 3.0 (at the request of some of the noiser 
users). Some improvements were relegated to future imports. By 2.7, the 
load of accumulated 'technological debt' was as much as the developers 
wanted to deal with, over and over.

-- 
Terry Jan Reedy

[toc] | [next] | [standalone]


#72214

FromSteven D'Aprano <steve@pearwood.info>
Date2014-05-29 04:03 +0000
Message-ID<5386b19c$0$11109$c3e8da3@news.astraweb.com>
In reply to#72205
On Wed, 28 May 2014 20:41:53 -0400, Terry Reedy wrote:

> Claim: Another great strength of Python 2 was that programs written in
> it would almost always run on the next version of Python without much
> alteration.
> 
> True. 

True, but only because of the weasel-words "almost always", and "without 
much alteration".

And for the record, for many (although not all) programs written in 
Python 2.7, it is still true that they will often run in Python 3 with 
little or no modification.


> Changes and removals of deprecated features (like old style
> classes) were put off until 3.0 (at the request of some of the noiser
> users). 

That's a little unfair. Noisy users or not, Python Dev has always taken 
backwards compatibility seriously.

Nevertheless, there have been some big changes to Python 2.x that 
*didn't* wait for 3.x to break backwards compatibility. A few examples 
that come to mind:

- removing string exceptions for good in 2.6;
- changes to the treatment in hex() of negative numbers;
- the repr() of floats;
- changes to the sequence of random numbers generated by the
  random number module (e.g. while random.random() is 
  guaranteed to return the same sequence of values, 
  random.choice is not);
- removal of obsolete modules like bastion and rotor.


Any and all of these things can break code that relies on them.




-- 
Steven

[toc] | [prev] | [next] | [standalone]


#72222

FromTerry Reedy <tjreedy@udel.edu>
Date2014-05-29 02:57 -0400
Message-ID<mailman.10440.1401346808.18130.python-list@python.org>
In reply to#72214
On 5/29/2014 12:03 AM, Steven D'Aprano wrote:
> On Wed, 28 May 2014 20:41:53 -0400, Terry Reedy wrote:
>
>> Claim: Another great strength of Python 2 was that programs written in
>> it would almost always run on the next version of Python without much
>> alteration.
>>
>> True.
>
> True, but only because of the weasel-words "almost always", and "without
> much alteration".
>
> And for the record, for many (although not all) programs written in
> Python 2.7, it is still true that they will often run in Python 3 with
> little or no modification.
>
>
>> Changes and removals of deprecated features (like old style
>> classes) were put off until 3.0 (at the request of some of the noiser
>> users).

I am specifically thinking of int / int -> float, which Guido initially 
proposed for 2.5 after warnings in 2.3, 2.4. The idea of 3.0 with more 
breakage and 2to3 emerged during that discussion.

> That's a little unfair. Noisy users or not, Python Dev has always taken
> backwards compatibility seriously.
>
> Nevertheless, there have been some big changes to Python 2.x that
> *didn't* wait for 3.x to break backwards compatibility. A few examples
> that come to mind:
>
> - removing string exceptions for good in 2.6;
> - changes to the treatment in hex() of negative numbers;
> - the repr() of floats;
> - changes to the sequence of random numbers generated by the
>    random number module (e.g. while random.random() is
>    guaranteed to return the same sequence of values,
>    random.choice is not);
> - removal of obsolete modules like bastion and rotor.
>
> Any and all of these things can break code that relies on them.


-- 
Terry Jan Reedy

[toc] | [prev] | [next] | [standalone]


#74438

FromRick Johnson <rantingrickjohnson@gmail.com>
Date2014-07-14 15:31 -0700
Message-ID<5db8cfb0-5121-4ff9-b907-8eaaf1ab9298@googlegroups.com>
In reply to#72205
On Wednesday, May 28, 2014 7:41:53 PM UTC-5, Terry Reedy wrote:
> Claim: "Python 3 languishes in disuse."
> Fact: in 2013, there were around 14 million downloads of
> windows installers for each of 2.7.x and 3.3.x. 3.3 is
> over twice as popular as 3.2 (to be expected).

Terry, you cannot simply take the download numbers as a
"one-to-one" ratio representing the "actual" usage of
anything. 

Consider:

    * HOW MANY DOWNLOADED AND NEVER USED?    
    
Might be difficult to believe, but i am one of those people.
Even though i don't "actively" write code for Python3, i
still keep a current version on my machine just in case i
need to test a code snippet for a NOOB -- i don't remember
the last time i even ran Python 3, must have been a year or
more!

    * HOW MANY DOWNLOADED, TRIED, CURSED, AND NEVER USED
      AGAIN?
    
    * HOW MANY DOWNLOADED, TRIED, CURSED, AND ONLY USE
      BECAUSE THEY ARE FORCED?
      
    * HOW MANY DOWNLOADED, TRIED, WERE "AMUSED", BUT NOT
      ENOUGH TO ACTUALLY WRITE 3.X CODE?
    
    * HOW MANY DOWNLOADED, TRIED, LIKED, AND ARE "ACTIVELY"
      WRITING 3.X CODE?
    
I would venture to say that at least half the downloads fall
into the first three categories, and the other half are split
between the last two categories -- equally split, WHO KNOWS!

Sheesh! Metrics measured on download statistics are about as
reliable as that ridiculous TIOBE drivel, hey, watching
Python climb the index might give GvR a raging semi, but
only a moron would take it for truth!

    PIPING HOT CUP OF WISHFUL THINKING ANYONE?

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web