Why do people seem to hate Python 3?
Why do people seem to hate Python 3?
Other urls found in this thread:
blog.thezerobit.com
py3readiness.org
twitter.com
because you need to put print statements inside parentheses in python 3. Also it is hard to find libraries that are not supported by Python 3 now, so there is no logical reason to avoid changing except pure rage and hatred so that is what people cultivate.
>because you need to put print statements inside parentheses in python 3
except for Python 2 backward compatibility issues, how does that trigger people?
I don't know either, especially since that particular change is fucking easy to automate. Use a regex to extract the argument to the print statement, put parenthesis around it, done.
If you're an absolute madman, write a Python 3 script to do it.
Because python maintainers did everything they could to ensure that the transition was as rocky as possible and most people feel like the horrible way python3 was introduced damaged the python ecosystem as a whole
blog.thezerobit.com
We use Python 3 at work, and I have never needed a 3rd party library that did not support python 3.
Apart from backward compatibility there is no good reason to avoid python 3.
dumb faggot
>I have never needed a 3rd party library that did not support python 3
You're not everyone, and most people don't use projects as small as yours.
I use python2 because it suits me well and I don't want to risk that I will not be able to use some old library when needed
Just use the standard library, fagget.
just for the fun of re-writting your old python 2 libraries to python 3.
What are some objective advantages of python 3 compared to 2? Why should I switch?
- You can use print statements with parentheses, just like a function.
- Higher version number
- Many many other things.
Nah, I think I and the rest of the people who want to write actually useful shit will just stick with the version that allows us to use all libraries instead of arbitrarily limiting ourselves to a fraction of the available code for no good reason
>You can use print statements with parentheses, just like a function
I can do that in python2 as well. All python3 did was remove support for the statement form.
You can't when it's something like
print("foo", "bar")
because Python 2 interprets that as a tuple
What I hate about Python is how fragmented the versioning system is.
Give me one fucking fork that I can use forever and I'll be happy.
it's not turing complete
Python 4 when?
the biggest issue I think is they absolutely different ways it handles strings and byte sequences
in python 2 they were unified, a string was a ASCII byte sequence and Unicode strings were a separate class
this allowed you to use simple io functions like print and input with raw binary data
in python 3 strings are Unicode so you cannot use them to store raw binary data. if you want to do io with raw binary data you have to use the file interface
this difference is important if do CTF challenges because you often use a mix of readable ASCII strings and raw binary data interpreted as ASCII strings
He could be in Google for all you know, they use python3
Backward compatibility mostly. Especially scientific libraries are usually unmaintained, if the author even put his name on it.
Its developed much more, people are now building more packages for 3 than for 2 and this will continue.
Type hinting will become a thing.
Integer division is now the way it should be. Unpacking is better now. Better iterators and no more JavaScript-tier 'a'>1.
Also enums
Because the creators could have aimed for a good high-level compiled language or a good interpreted language that has all possible advantages of each approach when developing Python 3.
Instead they made it incompatible with Python 2 for some flimsy excuses.
Let's not imply that they get it right with the next try.
>fuck off zed
>scientific libraries are usually unmaintained, if the author even put his name on it.
That's always the case, though. Scientists are the greatest memesters because they don't pay someone to actually maintain the code.
Therefore, whenever possible, scientist shouldn't have anything to say when it comes to programming languages and related tools.
sane unicode
Python 2 was the worst scripting language. Python 3 is even worse. You do the math.
I don't hate it, but iterators are garbage. I just want lists back.
Python 3 have lists as well.
He means when you do something like
dict.keys()
you get a list in Python 2, but an iterator in Python 3
Oh yeah... that IS shit, why did they change that?
That's Python 3, also known as Python now.
What difference does it make to you?
Just use list(dict.keys()), if it matters that much to you.
I cant do
dict.keys()[3]
Just list one library that does not support 3. Just one. Faggot.
good
You can still do list(dict.keys())[3] if you want to be a faggot.
There is no reason you would ever want to do that.
Keys are unordered.
>95% of the top 360 packages are ported to Python 3.
There is a very high chance that you can use Python 3 just fine. Especially for a new project where you can just pick a Python 3 library from the start.
Integer division returns float
I hate it because Flask doesn't support it yet.
Is Python 3 Django up?
Because it fixed some retarded stuff that people got used to.
Because it's not compatible with Python 2
Migration can be hard
If you can build a BrainFuck interpreter, then it is turing complete.
Hint: It's really fucking easy to build a brainfuck interpreter in Python3
>it's not turing complete
>fuck off zed
It's disgusting how much reddit, hn and the coding-bootcamp conglomerate shilled for this guy's books.
I just had to read the first chapter where he bullied people to use a specific editor or an OS to figure out that they must be avoided at all costs
Yeah, I figured that out the second I pressed 'submit'... I am glad it's an anonymous image board
Am I allowed to say "because I don't like Python, whatever the version"?
Of course
I still don't like how it uses indentation for syntax and makes some things very hard or impossible (like you can't have two simple statements on the same line)
In perl you just rub your ass on the keyboard while farting, and you've got a brainfuck interpreter. Take that python
You can use a ;
because people rather do work than relearn syntax that was implemented by academia circlejerks that often make changes without real world benefit only to be more precisely correct about a concept that does not require that level of percision
uhh, what? That's exactly what 2to3 does, but it also handles almost all the other changes as well.