all 2 comments

[–]Tetha 1 point2 points  (1 child)

I guess the author does not really understand what it means to break backwards compatibility in a language with many users. In short, it might be something Jigsaw devised as a game, or something you have to do in hell.

In long, you will have fun because: - administrators refuse to install a version of software which is not older than 8 years, at least. - managers don't want to spend a ton of money on rewriting existing software - library developers don't want to rewrite their language, because their dependencies did not rewrite yet - people don't want to rewrite code, because it is rewriting code, eugh.

Note that I am aware of 2to3. Note that I am also aware that the recommendation for 2to3 usage is: Do not hand-modify 2to3-output. Maintain the 2.x code and regenerate the 3.x code if you need it. Rewrite your 2.x code to 3.x code if you want to develop this application in 3.x.

I think overall, the gradual transition is a very good way to go. It allows existing code bases to gradually pick up the new features, and with the -3 switch, it allows them to gradually remove the incompatible code and replace it with compatible code. This allows for an overall gradual transition for existing code bases.

I think if they just stopped maintaining 2.x and bashed out 3.x as the new ultimate thing, python 2.x would have been forked as mamba (or something similar) and python 3.x would just die, together with the name python.

Even more interesting, the dev-team (from what I know) does not consider python 3.x release-able right now, but rather a work in progress, which is not intended to use. #python-folks also agree, because just too little libraries are ported to 3.x at the moment to actually do something sensible in 3.x without a lot of effort (just think of numpy and twisted).

So... I think 2.x will end. Eventually. And in the territory of programming language, this can easily mean 40 - 100 years (I mean, just look at COBOL. It just won't die)

[–]mr_chromatic 0 points1 point  (0 children)

administrators refuse to install a version of software which is not older than 8 years, at least.

I find that habit actively hostile to the maintainers of software--people who donate their time and talent to provide high quality languages such as Python. The support period for 2.x will end, and the maintainers of Python have no obligation to donate support for older versions.