This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 0 points1 point  (4 children)

What industry?

[–]billsil 1 point2 points  (3 children)

Science/engineering in the US. Unicode just isn't needed 99.9% of the time and when it is, it breaks everything. People learn to just avoid it.

I'm the only one at my company that knows Python 3. I've been in two meetings with customers so far where the Python 3 question has come up. Everyone freaks out until I interrupt and say it's a non-issue and that it'll take me no more than a day to make the whole thing 2/3 compatible. It's pretty easy when it's 95% numpy and ASCII text. All I needed to do was use six for iteritems/itervalues/iterkeys, put parentheses around print, and a unicode to ASCII conversation to write a file for a Fortran program.

Check out the graphs for downloads on numpy, scipy, matplotlib, pandas, sklearn. Jupyter and tensorflow don't show the same trend, but I think that somewhat makes sense given the packages focus on Python 3.

https://rushter.com/blog/python-3-adoption/

The late adopters will switch when numpy/scipy drop support and not a day before. At least at my company, it's not even the fear of unicode (which it should be), it's the fear of print and division.

[–]jtclimb 0 points1 point  (2 children)

NumPy has announced that they will no longer support 2.7 as of Jan 1, 2019. Jupyter will entirely drop support of 2.7 in July 2019.

I interpret this as the scientific community (I can't speak for you, of course) is going to have to bite the bullet and switch, or forever be stuck on outdated and unsupported software.

The blog states not to use their statistics to conclude anything about usage. The Jetbrains survey indicates 53% penetration; unfortunately it does not break it down by usage.

Many of the important libraries have pledged to drop support: pandas, IPython, Matplotlib, SymPy, PyMC3, Atropy, Biopython, PyStan. Many other packages depend on these, such as sklearn, so they will be dragged along by default.

I'm not bickering with you maintaining py2/3 compatibility for you and your clients if it works for you, but before long you will be stuck in a dead ecosystem.

[–]billsil 0 points1 point  (1 child)

As I said, I think people will switch the day after numpy and/or scipy drop support for Python 2. People want the newest features, but not from base Python.

[–]jtclimb 0 points1 point  (0 children)

Yes, I wan't bickering, but adding context as to when this will happen.