Python 2 vs 3

Seriously though

Python 2 or Python 3

I thought this would have been settled by now

which one to learn

Learn 3.

Py2 is EoL in 2020

3 is a mess, 2 isn't going anywhere. There are far too many millions of dollars invested in production code for it to ever go away and honestly I haven't seen 3 in use anywhere in any sort of serious capacity

Theres really no difference. Just make a script to convert between versions when needed.

>3 is a mess

Explain. For a newcomer with no projects they have to convert what is wrong with starting with 3.

Thanks to the magik of Open Source, EOL means nothing.

He's talking out of his ass. Ignore.

Learn 3

>3 is a mess
I hate python, but you're an idiot.

...

>debian is a lesser ubuntu
>debian stable is a bad thing
Wow OP, you and your image really are faggots.

you can get the x-large python double dong and use both at once

If you are starting now, go for 3 obviously
Why would you start of with an older version lol

Fuck off Zed Shaw

3 is the latest version.
The latest versions of things are always better.

QED.

>The latest versions of things are always better.

Learn 3.
Keep up or get left behind.

stop using old crap. stop using old crap. stop opting to use old crap that will no longer be supported. stop stop stop.

every time you think about typing "python2 ddos.py" into bash, remember that you are literally the equivalent of government computers on windows xp.

the only production product i'm working on right now in python2 is one where using twisted for performance reasons made sense.

here's an easy way to figure out if you should be using python2 for your brand new project:

do I have any dependencies that are non-fungible that are not available in python3? this project should be oriented towards python2.

>open source
>programming language
what

also they're the same fucking language.

class Faggot():
class Faggot(object)

print("op is a faggot")
print "op is a faggot"

congratulations, you now know 2 of about 5 differences between the py3 and py2 that you will encounter on a regular basis.

If you're a beginner, you might as well use Python 3, fixes a lot of shit in the os and subprocess libraries, specially useful if you're using Windows and needs to handle Unicode data.

Only use Python 2 if you need to maintain and fix legacy scripts, if you use older systems like Windows XP or if you use PyQt4 (PyQt5 uses Python 3).

Learn 3. It's all downhill for 2 from here, it's already taken a significant hit to it's popularity, it's not like five years ago when using Python 3 was continual agony from dependencies not supporting it.

Regardless, the differences are minimal, you are not going to need more than twenty minutes reading on the Internet to familiarize yourself with what's different in Python 2 once you're proficient with 3.

stfu

They're both the same shit, fuck off.

Why is Windows the best looking burger?
Gentoo is a good-ass meme though.

>stop using old crap. stop using old crap. stop opting to use old crap that will no longer be supported. stop stop stop.

Change is SCARY user. Also

>debian is much buggier and has less software than ubuntu
>debian stable has software so old it's getting moldy
looks about right to me.

*ubuntu+Windows dual-boot is the perfect solution.

web crawling?

2, just for the sake of your sanity, your development, and for all that is right, stick with 2

I'll let the picture speak for itself.
Use your EYES, OP.
Maybe --JUST MAYBE--, even use your brain to think.

I get paid $210K/year salary for managing a bunch of Python engineers and also writing Python for a large non-SV tech company.

Learn Python3.

>not backwards compatible
fuck Python
wtf were they thinking

I came here to say this.

so why the fuck does my uni tell me to use 2?

Price of progress.

someone add kali to that image

Staying backwards compatible would mean staying horrible. Python 2 is pretty broken in some ways, and it can't be fixed while staying compatible.

3 is based. I main python professionally and new projects I always go to 3, a lot legacy code is still 2.

But 3.6 has better string formatting and asyncio standards mainly.

...

community has been moving towards 3 for a while now.

Most of the well known libraries are already on 3, many more ported over to 3 in coming years.

Kinda useless to stick to 2 when you can learn 3.

They did backport everything in 3 to 2 for a while (maybe still doing it). But this is a horrible idea because it discourages adoption of the newer version and consumes a lot of man hours.

If you ever decide to break your old API or language in a new version, current consensus is to not backport new functionality. Usually a new version warrants fundamental change so you want as many users on that train.