On Thursday, 07 June 2018 16:55:55 Markus Gerstel wrote:
> On 6 June 2018 at 20:28, Ethan Merritt <merr...@u.washington.edu> wrote:
> 
> > On Wednesday, 06 June 2018 18:54:32 Robbie Joosten wrote:
> > > Right you are Kay. It would be very weird to start developing things on
> > Python 2.7 right now. Its days are numbered: https://pythonclock.org/
> >
> > I would take a contrarian view.
> > Given the instability of python development, the promise to leave version
> > 2.7
> > alone makes it more desirable than the current ever-changing version.
> > You can be reasonably sure that anything you write for 2.7 will continue
> > to work, since they won't change the 2.7 infrastructure underneath you.
> >
> > But in truth I would recommend staying away from python for new projects
> > altogether, precisely because it is continually unstable.  The python
> > development philosophy places low priority on backwards-compatibility.
> > Combined with the explicit philosophy that python should only support one
> > way of accomplishing any given task, that is a recipe for frequent and
> > continual breakage.
> >
> > Here's an essay from a few years back that I think is still apposite.
> > https://jakevdp.github.io/blog/2013/01/03/will-scientists-ever-move-to-
> > python-3/
> 
> 
> Your point of view may be valid in that Python 2 -> 3 breaks existing code.
> However you sound like you mean 3.3 -> 3.4 -> 3.5 -> 3.6 -> 3.7 would be an
> issue, and I think that is a rarely argued view.
> I certainly can't find anything in the essay backing this up.

My basic concern is that python language development has broken existing
code in the past. Frequently.  They feel free to change things at any point,
even fundamental things like the meaning of the arithmetic operation "divide".  
You may be perfectly happy with the current state of the python 3 language,
but based on past history that state will change and change again and sooner
or later your current code will stop working.  My concern is not the
state of the language at any given point in time, but the fact that it
has been unstable for the past two decades and the worry that this instability
will continue into the future.

I gather that one cluster of recent breakage is incompatible changes to
text handling.  I cannot speak to this issue from personal experience,
but here is a pointer to recent complaints/arguments/counter-arguments.
  https://lwn.net/Articles/741176/

> 
> For what it's worth, in my opinion:
> If you are new to Python - learn 3.
> If you are using Python2/3 compatible libaries - learn 3 and use the
> libraries from there.
> If you are using libraries that are not yet Python3 compatible - well then
> you have to use Python2 and please nag the developers to make it Python3
> compatible.

I kind of agree with all of those points.
The sticky point is if you are likely to be one of the people on the
receiving end of that nagging.

I.e. the advice to a new user may be different from the advice to
a developer embarking on a new project.

        Ethan

> On 7 June 2018 at 11:43, Marcin Wojdyr <woj...@gmail.com> wrote:
> 
> > In other words, it's learning both Python2 and Python3 and using the
> > subset of the language that works with both interpreters.
> >
> 
> You only have to care about making your code 2/3 compatible if you are
> writing a library that someone else will import, ie. if you publish on pypi
> or elsewhere.
> Otherwise - as a newcomer - definitely do not bother with Python 2 and go
> straight to Python 3 only.
> 
> -Markus

-- 
Ethan A Merritt, Dept of Biochemistry
Biomolecular Structure Center,  K-428 Health Sciences Bldg
MS 357742,   University of Washington, Seattle 98195-7742

########################################################################

To unsubscribe from the CCP4BB list, click the following link:
https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=CCP4BB&A=1

Reply via email to