Live data from Hacker News

The Case Against Python 3

learnpythonthehardway.org

41–50 of 281 posts

Re: The Case Against Python 3

#41
post #38
post #12

Earlier quoted context omitted.

And if he doesn't understand that concept should he _really_ be teaching anyone programming?

I'm pretty sure that if you understand both Turing completeness and the practice of actual programming, then you know that in most cases the one has virtually nothing to do with the other. (Which is not meant at all to imply that the author of linked article understands Turing completeness, just that even though he doesn't seem to he could still be excellent at teaching programming.)

Then the question becomes "why is he talking about turing completeness, something that is either irrelevant, or that he knows nothing about?"

Re: The Case Against Python 3

#42
post #10
post #2

> Currently you cannot run Python 2 inside the Python 3 virtual machine. Since I cannot, that means Python 3 is not Turing Complete and should not be used by anyone. I stopped there.

Yes, the author doesn't know what he's talking about. But people talking about Turing completeness in a real programming language (usually in the form of "x is Turing complete, therefore you couldn't ask for more") almost always haven't got a clue.

I just point them towards Unlambda. Turing completeness in three characters (plus one for output)

http://www.madore.org/~david/programs/unlambda/#what_is

Re: The Case Against Python 3

#44
One feature of Python 3 that I found really pleasantly useful recently (thank you SO :) ) was passing generators to the zip() function in a for loop, like:

for a, b in zip(generatorA(), generatorB()):

In Python 2 you have to import itertools to do this. I bring this up because I find examples like this all the time in Python 3 where core, modern language features like generators are more tightly integrated and easier to use. It's really a better version of the language and if you're starting fresh on a Python project you should do yourself a favor and use it.

Re: The Case Against Python 3

#46
post #25

> In the programming language theory there is this basic requirement that, given a "complete" programming language, I can run any other programming language. In the world of Java I'm able to run Ruby, Java, C++, C, and Lua all at the same time. In the world of Microsoft I can run F#, C#, C++, and Python all at the same time. This isn't just a theoretical thing. There is solid math behind it. Math that is truly the fo…

Someone doesn't realize they actually have to do work, even if a language is turing complete.

Re: The Case Against Python 3

#48
Apart 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?

Re: The Case Against Python 3

#49
post #35

Earlier quoted context omitted.

Ditto. Then I read more for laughs. I kind of feel like I could fix py2to3 if I have a sed and awk layer in there.. maybe a fun project.

In my experience a lot of the problems with automatically converting existing Python 2 code to Python 3 code is that the Python 2 code usually makes fundamentally broken assumptions when it comes to unicode and bytes.

This is what the author doesn't get- the fact that Python 2 makes no distinction between bytes-like objects and string-like objects is a bug, not a feature. He finds his code so awful to migrate because he has built it on a contrary assumption.

Re: The Case Against Python 3

#50
The "Don't use it because people don't use it" argument bugs me. That's a valid argument when you're a CTO or Employee 0 picking a language that a thousand people will be using for fifteen years. Putting it on a tutorial site with good google juice, on the other hand, is a sad self-fulfilling prophecy.
Post reply on HN