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


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

Re: Why Python 3?

Started byEthan Furman <ethan@stoneleaf.us>
First post2014-04-18 21:50 -0700
Last post2014-04-20 10:27 -0700
Articles 4 — 4 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: Why Python 3? Ethan Furman <ethan@stoneleaf.us> - 2014-04-18 21:50 -0700
    Re: Why Python 3? Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-04-20 09:43 +0000
      Re: Why Python 3? Tim Chase <python.list@tim.thechases.com> - 2014-04-20 07:06 -0500
    Re: Why Python 3? CHIN Dihedral <dihedral88888@gmail.com> - 2014-04-20 10:27 -0700

#70370 — Re: Why Python 3?

FromEthan Furman <ethan@stoneleaf.us>
Date2014-04-18 21:50 -0700
SubjectRe: Why Python 3?
Message-ID<mailman.9347.1397885785.18130.python-list@python.org>
On 04/18/2014 08:28 PM, Anthony Papillion wrote:
>
> What is the general feel of /this/ community? I'm about to start a
> large scale Python project. Should it be done in 2 or 3? What are the
> benefits, aside from the 'it's the future' argument?

This community is also split.  ;)

Use Python 3 if you can.  The best reason not to is if you have some critical library that you absolutely need and it's 
not yet available on 3.  In which case, program as if your code base was going to run on both 2 and 3 so you can update 
easily once your dependency upgrades.

--
~Ethan~

[toc] | [next] | [standalone]


#70408

FromSteven D'Aprano <steve+comp.lang.python@pearwood.info>
Date2014-04-20 09:43 +0000
Message-ID<535396d1$0$29993$c3e8da3$5496439d@news.astraweb.com>
In reply to#70370
On Fri, 18 Apr 2014 21:50:09 -0700, Ethan Furman wrote:

> Use Python 3 if you can.  The best reason not to is if you have some
> critical library that you absolutely need and it's not yet available on
> 3.  

That's good advice, but it isn't just applicable to Python 3, it applies 
to *any* critical library that does not support recent versions of 
Python. Suppose you have a library that only supports Python 2.2, 2.3 and 
2.4, and you cannot do without that library or reinvent it yourself. Then 
you would surely use Python 2.4. That shouldn't be seen as a rejection of 
all the versions from 2.5 onwards, but a painful and necessary decision 
due to the requirement to use that library.

In practice, most libraries that don't support 2.5 and better are more or 
less abandoned. But you might still choose to use an abandoned library 
because it works and you don't need to worry about security updates.

So really the advice comes down to:

- if you can, use the latest version of Python, which is 3.4;

- if you must, use the version of Python provided by your operating
  system, which could be anything from Python 2.3 to 3.3;

- if you have no choice except to use a library that only supports 
  version X, then use version X, no matter what X happens to be.


None of this should be controversial. It should be common sense.

(There are, of course, a few difficult questions relating to what counts 
as "must". You may weigh up the cost of doing without that annoyingly old 
library versus the benefit of using a more recent Python version, and 
decide that maybe you can do without it. Or not.)




-- 
Steven D'Aprano
http://import-that.dreamwidth.org/

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


#70412

FromTim Chase <python.list@tim.thechases.com>
Date2014-04-20 07:06 -0500
Message-ID<mailman.9378.1397995579.18130.python-list@python.org>
In reply to#70408
On 2014-04-20 09:43, Steven D'Aprano wrote:
> So really the advice comes down to:
> 
> - if you can, use the latest version of Python, which is 3.4;
> 
> - if you must, use the version of Python provided by your operating
>   system, which could be anything from Python 2.3 to 3.3;
> 
> - if you have no choice except to use a library that only supports 
>   version X, then use version X, no matter what X happens to be.
> 
> 
> None of this should be controversial. It should be common sense.

This. Except for the fact that what should be common sense often ends
up being controversial on c.l.p ;-)

-tkc

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


#70423

FromCHIN Dihedral <dihedral88888@gmail.com>
Date2014-04-20 10:27 -0700
Message-ID<5a91d3c3-9924-4d07-a921-fca01bace12e@googlegroups.com>
In reply to#70370
On Saturday, April 19, 2014 12:50:09 PM UTC+8, Ethan Furman wrote:
> On 04/18/2014 08:28 PM, Anthony Papillion wrote:
> 
> >
> 
> > What is the general feel of /this/ community? I'm about to start a
> 
> > large scale Python project. Should it be done in 2 or 3? What are the
> 
> > benefits, aside from the 'it's the future' argument?
> 
> 
> 
> This community is also split.  ;)
> 
> 
> 
> Use Python 3 if you can.  The best reason not to is if you have some critical library that you absolutely need and it's 
> 
> not yet available on 3.  In which case, program as if your code base was going to run on both 2 and 3 so you can update 
> 
> easily once your dependency upgrades.
> 
> 
> 
> --
> 
> ~Ethan~

OK, I'll suggest to use Python 2.7X with pytoexe buldled as an executable 
to be called by the shell from Python 3.X for programs that need to mix Python 2.X and Python 3.X together.

[toc] | [prev] | [standalone]


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


csiph-web