Live data from Hacker News

Python 2.8?

lwn.net

51–60 of 74 posts

Re: Python 2.8?

#52
post #47
post #38

Back when python 3 was introduced and after learning of breaking backward compatibility my first thought was, "good luck with that"... Wanting to create something better is not surprising. What was surprising (to me at least) is not seeing that people don't like change unless they see a really dramatic benefit to what they already have, and clearly see that the advantages to making that change far outweigh the discom…

Yes, the biggest hindrance to python3 is the fact that python2 is a good language. It's very rare to come across a case where you can tell someone, "if you were using python3, this would be so much easier/more performant." Most of the migrations I have seen have been because of a stick rather than a carrot (e.g. this library we depend on is dropping py2 support). It's definitely the case that the move has only been a…

Well, another issue is that there are carrots, but they are tough to sell.

I have been using Python 3 for 2 years now in production, and I would never want to go back to Python 2. Benefits include:

- less boilerplate. Automatic super(), no object inheritance, yield from, generalized unpacking, keyword only args, less itertools import, no need for __future__, f-srings, etc. Basically my code is shorter and faster to write.

- better error handling. This one is big. It is easier to get a bug free Python 3 program. You get exception nesting handling, finer file exception granularity, more safety nets (e.g: no more arbitrary object comparison), better error messages, absolute import by default, regular division by default, etc. As a trainer, Python 3 is so easier to teach.

- unicode is no just about u''. You have the "encoding" parameter everywhere by default. Everything default to "utf8" naturally. You don't need the # coding: monbo jumbo. There is no more "auto-casting" of bytes. English native speakers underestimate the value of this. As a European, it's invaluable to me, and it is to the rest of the world that is not using ASCII as their main alphabet.

Those are really, really great benefits. But terrible carrots. They don't sell. People want big shinny stickers with "+30% perf" which will never be of used for most projects. While those benefits, I guaranty, are stuff all project benefits from, and you feel them a lot once you get used to them.

Re: Python 2.8?

#53

Earlier quoted context omitted.

Because some people are hateful by nature and see Guido as Satan incarnate for "hating Python 2". And no, I'm not exaggerating, you just need to look at the comments: https://github.com/naftaliharris/placeholder/issues/47#issue... I read through that thread the other day and it breaks my heart to know that there are people who think like that. Honestly. On various occasions I've reasoned (and not reasoned) with the m…

Treat your FOSS maintainers with some human decency. The same could be said about politicians, too......although they are easy to ridicule. It makes it hard to get good leaders when no sane person would choose to endure all the abuse a political candidate gets.

Except most FOSS maintainers don't have glory or money. They do it for the project. While politicians rarely do it for the country. In all my life, I've never heard one I deeply respect that was elected. I see many FOSS maintainers I respect that are in charge.

Re: Python 2.8?

#54
post #3

The 2.X => 3.X transition really appears to have been bungled here, which is a shame. I really liked Python before I got deeply into the .Net world, but it has become less than enticing with this fragmentation. Meanwhile other languages seem to have taken up the vanguard position, which leaves Python in kind of an awkward position, between the new hotness and the tried-and-true enterprisey ecosystems

They really should have EOL'ed 2.x much quicker then what we have now. When you have that much time there is really no incentive to ever switch.

Re: Python 2.8?

#55
post #7

I'm glad Guido considers this a toy. Anyone interested in helping out the github repo is here: https://github.com/naftaliharris/placeholder

It is. You see, Python 2.8 cannot be compatible with 2 and 3 because some changes are mutually exclusive:

- you need to choose either bytes or str, you can't have both. And Python 2 API have many functions accepting and returning bytes while Python 3 have many ones with unicode.

- the C ABI and the byte code changed.

- built-in changed.

So you will have to choose between one behavior or the other and deal with it. This is what you do with the excellent six or Python-future libs. They let you write 2/3 compatible code, but the first thing they do is making you choose either the 2 or the 3 behavior.

Re: Python 2.8?

#56

Earlier quoted context omitted.

Because some people are hateful by nature and see Guido as Satan incarnate for "hating Python 2". And no, I'm not exaggerating, you just need to look at the comments: https://github.com/naftaliharris/placeholder/issues/47#issue... I read through that thread the other day and it breaks my heart to know that there are people who think like that. Honestly. On various occasions I've reasoned (and not reasoned) with the m…

They should name it Monty. A little humor will help with the tension.

Or "Parrot".

Re: Python 2.8?

#57
I suspect there's a sudden push for "Python 2.8" from some of the 2.x holdouts because it's becoming increasingly obvious that the wider community is coalescing around 3.x. I feel a bit sorry for people stuck on large Python 2 projects and who can't make the jump, but there's a very vocal minority in this group that wants the rest of the world to be held back along with them.

Re: Python 2.8?

#59
NO. No way. It's the second time I see this here. The answer is not a hybrid that is neither 2.7 nor 3.0 compliant. That's just a third, useless standard. Let's just please stick to one standard, preferably the most current from the official ones and start porting/rewriting whatever we need until we need the old one no more. Please.
Post reply on HN