Versions aren't backwards compatible

>Versions aren't backwards compatible
>2.7 and 3.5 are basically entirely different languages
>The """solution""" to this is to make fucking virtual environments for specific versions of Python
If any other language was like this everyone would lose their shit. Why does Python get a free pass for completely breaking compatibility? Is it okay when Python does it?

Attached: opengraph-icon-200x200[1].png (200x200, 8K)

Other urls found in this thread:

media.ccc.de/v/ASG2018-204-path-agnostic_binaries_co-installable_libraries_and_how_to_have_nice_things
php.net/manual/en/migration70.incompatible.php
twitter.com/SFWRedditGifs

>virtual environments are bad
Say good bye to VMs and Docker and jails and chroot then.

There's a difference between having an environment with specific packages to aid deployment, and having a virtual environment to get around how shit a language was designed and make sure nothing breaks.

One is for efficiency. The other is for fixing the shit language.

>and having a virtual environment to get around how shit a language was designed and make sure nothing breaks.
Literally chroot

>Say good bye to VMs and Docker and jails and chroot then.
Good.

Only things bad about Python are GIL and package manager (can only install one version of a package)

x = 2

if x == 2:
class N:
def n(self):
print 2

else:
class N:
def n(self):
print 3

N().n()

>(can only install one version of a package)
Not if you use virtual environments like OP is bitching about.

Can still only install one version of a package at a time. You can't use function A from ver 0.1 and function B from ver 0.2 in the same program

>You can't use function A from ver 0.1 and function B from ver 0.2 in the same program
You can't do this with any library in any programming language...

It's not like you can link against multiple versions of boost for example, and call foo() from version A and bar() from version B.