I want to learn Python and how to benefit from the great Data Science packages - have some questions.

Chris Angelico rosuav at gmail.com
Sun May 7 12:55:21 EDT 2017


On Mon, May 8, 2017 at 2:34 AM, Dennis Lee Bieber <wlfraed at ix.netcom.com> wrote:
>         I can partly agree with one aspect... In comparison to my old life with
> versions of FORTRAN, wherein standards were roughly 10 years apart, each
> standard tended to accept all of a previous standard, while declaring
> things which would likely not be preserved in the next standard. That meant
> one essentially had 10 years to port, say FORTRAN-IV/-66 fully into
> FORTRAN-77 -- and that port would still be viable in Fortran-90 (giving one
> ~10 years to remove port fully into F90).
>
>         Python 2 to Python 3 broke too many things! Things that, in the Fortran
> example, would have worked but with a warning (in documentation, and only
> in code if a compiler option for strictness were used), with the hard break
> being between Python 2 and Python "4".

If you think Py2 -> Py3 is a big compatibility break, just have a look
over at the JavaScript world. Python has been around for roughly 25
years, and in that time has reached its third major version; Node.js
has been around for seven years, and is in its seventh. Similarly, the
popular framework React has been around for four years, and is in its
fourth major version; and where I teach JS programming, we had to
quickly update our installation instructions saying "install this
particular version", because version 4 was not compatible with what we
were doing.

It's not that hard to write code that's compatible with both Py2 and
Py3 (say, with 2.7 and 3.5+). Most of it involves doing things the Py3
way though, so if you've become accustomed to working the Py2 way
(pretending that bytes and characters are the same thing, for
instance), you WILL need to change your thinking a bit. But Python 3.x
has been around for ten years now, so that's about on par with your
Fortran time scale; the incompatibilities do exist, but they aren't
nearly as big as you might think.

Python 4.0 will not need to make as much of a compatibility break even
than 3.0 did, and that's already far less breakage than other
ecosystems see.

ChrisA



More information about the Python-list mailing list