The Incredible Growth of Python (stackoverflow.blog)

Rick Johnson rantingrickjohnson at gmail.com
Sun Sep 10 10:46:28 EDT 2017


Chris Angelico wrote:
> Marko Rauhamaa wrote:

[...]
    
> > The clouds I see looming over Python's head are:
> >
> >  * 2-to-3 migration
> 
> If that was going to kill Python, it would have had some
> impact by now. There are students learning Python *today*
> who are never going to have to worry about the migration,
> because they're learning Python 3.
> 
> >  * static type annotation
> 
> I'm not seeing very much of this in the wild yet, but
> honestly, it's not that big a deal. You can ignore it if
> you want to.

Kinda difficult to ignore type annotations when they are
intermixed with the code!

I never really had a problem with the idea of Python having
type-hints, so long as the ugly annotations were kept
_separated_ from the .py[w] files, but for some reason, the
devs decided that mucking up Python's clean syntax for the
sake of (what you claim is) a small minority of type-hint
fanboys, was okay...

The fanboys of type-hints claim that we will never (or
hardly ever) see these annotations in the wild, but again,
if that is the case, *IF* usage of this feature is really
that rare, then why should it be given such power to
undermine the readability of Python code? It is not too
late! We are still in the very early stages of type-hints,
and we can undo the damage that this "feature" will cause if
we remove the hints from the .py[w] files entirely. Let the
burden be on those who want this feature, not on those who
don't want it.

Futhermore, if we consider the damage that small changes
(like the print statement versus print function and
raw_input versus input) have caused, how can we expect
(short of a self delusion) that type-hints will have no
negative effects?

There is one aspect of the internet that will never change,
namely: persistance, and from now, and until Python
disappears from the universe, there will always be a need to
explain why `print` was changed from a statement to a
function, along with an explanation of the subtle
differences between python2's raw_input() and input() versus
Python3's input(), not to mention the age old ramblings
about classic classes versus new classes. And as much as
we'd all like for these confusions to go away, they won't,
because there is no way to "clean" the internet of every
Python2 tutorial, blog or website that mentions these bygone
features.

The stain of Python3's violent and radical changes to the
core philosophy of the language may never be washed clean,
and although we might have survived Python3 _eventually_,
type-hints is like a wooden stake driven into the heart of
this community. It's almost like they _want_ to destroy this
language. 




More information about the Python-list mailing list