After careful statistical analysis I concluded that there is a 9.56% chance Zed is trolling experienced programmers. Disregarding the trolling about "Turing Completeness", there are some points he raises that are interesting. On some (most thing) items there, the train has left the station. But some are good to listen to: Better error messages. Rust has been making progress there so maybe a good place for inspiration…
The Case Against Python 3
131–140 of 281 posts
Re: The Case Against Python 3
#132Just taking a look at the TIOBE, in July 2016 it hit #4, it's highest spot ever.
Re: The Case Against Python 3
#133We've modified a couple of libraries ourselves, typically stuff that was written a long time ago and abandoned. Other than that, we've never really run into a problem where the choice of one version of Python over the other was an obstacle.
Re: The Case Against Python 3
#134Re: The Case Against Python 3
#135Earlier quoted context omitted.
After 8 years the man has a point, most of his arguments are not correct though. Conclusion stands, python is shooting itself in the foot.
Can the conclusion stand if the arguments are not correct? I'm sure there are other, better arguments out there, but after reading this from top to bottom I'm getting the idea that the resistance to Python 3 is mostly irrational.
It can; arguing it can't would be an 'argument from fallacy', itself a fallacy.
Put another way, I can make up a totally absurd, incorrect argument that the sky is blue, but the sky is still blue. I can also make up a totally absurd, incorrect argument that the sky is green, but it isn't. An argument that doesn't hold water doesn't say anything useful about the conclusion either way.
Re: The Case Against Python 3
#136Apart from his argument that Python 3 is not turing complete, which has been torn apart in the comments, can someone evaluate the other arguments. Are the other criticisms valid? If not, why?
> You Should Be Able to Run 2 and 3
That makes no sense. The whole point of versions is that they are different. Maybe he means 3 should be backwards compatible. That is potentially valid criticism. That said, AFAICT, the breaking changes are pretty reasonable [0][1]. Also, I'm not sure what world he is living in, but interop between Java and C/C++ through the JNI is not easy. As a math major I'm not sure what the "solid math" here is. I think it is ironic that the CLR is referenced here so extensively - it has made some pretty big breaking changes in the past (unlike Java, it decided to break backwards compatibility to have reified generics).
> No Working Translator
Translation is tough, _especially_ in languages like Python that don't have good static guarantees. The real problem here is probably that the code you want to produce with a translator should look as much like the original code when possible. That _is_ tough. The point is it isn't just what the program does in terms of inputs and outputs that you want to preserve. You still want it to look more or less the same.
> Difficult To Use Strings
This is not an incorrect point. I think Python 3 wanted to have both the performance of byte strings and utf8-by-default strings (finally!). The intention behind that seems reasonable. As a proponent of strong static typing, the error message he shows seems quite benign. That said, I understand how one might be unhappy about this.
> Core Libraries Not Updated
This may be the case, I'll defer to someone else. That said, this is yet another claim the author makes without much backing (this alone could be the subject of a blog post given the right backing). The quip about the Python community liking bad design seems a bit gratuitous.
[0]: https://docs.python.org/3/whatsnew/3.0.html [1]: http://sebastianraschka.com/Articles/2014_python_2_3_key_dif...
Re: The Case Against Python 3
#137The argument is bad but the headline has a point: the value of a language is the quality of its libraries and the community that maintains it. Python 3 seems like a mistake; it fractured the community and sent people away. (to golang, to scala, probably even to ruby). If I were a library maintainer on py2 I would have felt betrayed by py3. Suddenly print is a function? 'yield from' won't be available on the py2 branc…
> Let's hope python can be saved. Can you explain why Python would need to be saved? I mean every week on r/MachineLearning there is at least one new Python deep learning framework being launched[1], I wonder if you can mention any other language which is that healthy. [1] https://www.reddit.com/r/MachineLearning/search?sort=new&res...
Re: The Case Against Python 3
#138The argument is bad but the headline has a point: the value of a language is the quality of its libraries and the community that maintains it. Python 3 seems like a mistake; it fractured the community and sent people away. (to golang, to scala, probably even to ruby). If I were a library maintainer on py2 I would have felt betrayed by py3. Suddenly print is a function? 'yield from' won't be available on the py2 branc…
A language must change, or it will be left behind, and become an esoteric toy. Even C has to deal with this. The only reason C is still popular is because of it's grandfathered status in so much of our infrastructure, and in many of the popular OS choices. A language that changes will alienate people, and lose people. Perl saw this. Python is seeing this. The way to guard against this is to keep backwards compatibili…
Why do you single out Scala as being particularly different to Python and Perl?
Re: The Case Against Python 3
#139Earlier quoted context omitted.
> Let's hope python can be saved. Can you explain why Python would need to be saved? I mean every week on r/MachineLearning there is at least one new Python deep learning framework being launched[1], I wonder if you can mention any other language which is that healthy. [1] https://www.reddit.com/r/MachineLearning/search?sort=new&res...
All stable versions of the big ML frameworks are still 2.7.
[1] http://www.deeplearning.net/software/theano/install.html
[2] https://www.tensorflow.org/versions/r0.11/get_started/os_set...
[3] https://keras.io/#you-have-just-found-keras
[4] https://lasagne.readthedocs.io/en/latest/user/installation.h...