That pretty much reiterates my points from last time we discussed (not many hours ago). https://news.ycombinator.com/item?id=7801004 Besides what already was said. It is also important to emphasize that Python 2 is already pretty good. So it is not that Python 3 is bad, it is just that it is very hard to improve on 2. Ironing out the warts is good, but this was not the right time. This should have happened 7-10 years…
Python 3 can revive Python
101–110 of 242 posts
Re: Python 3 can revive Python
#102Earlier quoted context omitted.
Exactly. Python and JavaScript is a perfect demonstration of "worse is better". Python 2 is a vastly better language than JS, avoiding nearly all of its design misfeatures and having actually useful built-in types and standard libraries. Yet while Python spent a decade to go from 95 to 99 percent purity, JS took over the world through sheer ubiquity.
Given that the functional programming story in JavaScript is much more developed, "vastly better language" may be true as long as you only consider the object-oriented side of it.
Just having to use functions to emulate all of these (and many more) is not what functional programming is all about.
Re: Python 3 can revive Python
#103JavaScript, in the meantime, buried its proper version to prevent just that.
https://developer.mozilla.org/presentations/xtech2006/javasc... (2006)
Re: Python 3 can revive Python
#104At this point, I think python 3 just has a severe branding issue. I bet if you took python 3.4, removed the stuff that will egregiously break things (IE, lack of a print statement and new exception syntax), and just called it python 2.8 everyone would be pretty happy with it. All the same, I'm continuously amazed at the arrogance of the people that maintain the language and set its direction. It's no wonder it's been…
nonlocal, asyncio, unicode, yield from. If you ask me, these four are very compelling reasons to switch to Python 3 and they solve very real problems.
Re: Python 3 can revive Python
#105At this point, I think python 3 just has a severe branding issue. I bet if you took python 3.4, removed the stuff that will egregiously break things (IE, lack of a print statement and new exception syntax), and just called it python 2.8 everyone would be pretty happy with it. All the same, I'm continuously amazed at the arrogance of the people that maintain the language and set its direction. It's no wonder it's been…
Re: Python 3 can revive Python
#106One pain point I've really felt recently with Python is in the deploy step. pip installing dependencies with a requirements.txt file seems to be the recommended way, but it's far from easy. Many dependencies (such as PyTables) don't install their own dependencies automatically, so you are left with a fragile one-by-one process for getting library code in place. It was all fine once I got it worked out but it would so…
We really need pip wheels or conda to become mainstream. Pip alone doesn't cut it on platforms without compilers (Windows / OSX). Standalone installers are fine, but they don't resolve dependencies and they are only available for Windows.
I totally agree that the installation and deployment story should be a top priority. Once done, it would be another very compelling point on Python 3's feature list.
Re: Python 3 can revive Python
#107Earlier quoted context omitted.
Given that the functional programming story in JavaScript is much more developed, "vastly better language" may be true as long as you only consider the object-oriented side of it.
How is it "much more developed", without providing generators, coroutines, or comprehensions? Just having to use functions to emulate all of these (and many more) is not what functional programming is all about.
Re: Python 3 can revive Python
#108As far as I am concerned, a mere user, hacking python for 'academic research' in multiple aspects of structural biology and bioinformatics, I have yet to see a single practical argument for switching to or even investing time in learning Python 3 'right now'. Maybe in six years it'll be a different story, but from where I stand, python vs python 3 is a remote and ephemeral distinction, created by the grand poobahs, o…
Scientific code typically translates cleanly using 2to3, even. You can get up to speed with all those "terribly complex" changes in Python 3 in about five minutes. Scientific code in particular typically has no advanced unicode handling and no custom CPython extensions, so switching is trivial.
I totally agree with you: Py 2 vs 3 is of very little significance to us scientists. Which is why I use Py3. There's nothing to gain by sticking with Python 2, and almost no effort at all to go Python 3.
Re: Python 3 can revive Python
#109That pretty much reiterates my points from last time we discussed (not many hours ago). https://news.ycombinator.com/item?id=7801004 Besides what already was said. It is also important to emphasize that Python 2 is already pretty good. So it is not that Python 3 is bad, it is just that it is very hard to improve on 2. Ironing out the warts is good, but this was not the right time. This should have happened 7-10 years…
So, you'd want people to switch to PyPy, not Python 3.
> So, you'd want people to switch to PyPy, not Python 3.
I personally would want Python to be used more because I like it. But I see how a community has been divided over what I see is an un-necessary backward incompatible change to the language.
To put it another way. I would rather not have backwards compatibility issues and just keep having 2.8, 2.9, 2.10, if all we got was what we got with 3.x
Re: Python 3 can revive Python
#110But I suspect what needs reviving is Python 3. If functioning unicode support isn't getting people to switch, it's got an uphill battle on its hands.