Live data from Hacker News

Why I'm Making Python 2.8

naftaliharris.com

281–290 of 392 posts

Re: Why I'm Making Python 2.8

#281
post #206

Earlier quoted context omitted.

> it's mostly blackmail ("port or else you wont run on 3, and we'll stop the 2.x line"). Would you also call the RHEL life cycle a blackmail? I'm using version 5 now and the normal support ends in March 2017. My options now are "port or pay extra for extended life cycle or else my RHEL will be without security fixes". And like Python, major RHEL versions break backwards compatibility.

And you went into that RHEL relationship with full information ahead of time . So, your comparison is terrible.

Anyone who started a Python project in the last TEN YEARS had full information ahead of time - pep 3000 came out in April 2006.

Honestly, that 10 years later we're still having this conversation is ridiculous.

Re: Why I'm Making Python 2.8

#282
The discussion is a nice overview how py3k crowd just steamrolls over any discussion that there are indeed inherent difficulties with forcing lossy conversion of imperfect outside input.

See example in the fine manual: https://docs.python.org/3.7/library/urllib.request.html#exam...

You are only told "we know python.org uses utf-8 so just decode it as utf-8." No further discussion, no pointers are provided how to correctly fetch an URL with text content into a string. Even small convenience function that at least tries to look on Content-Type: header would help here!

I am well aware that "in py2k it just worked" was mostly an illusion. But honestly, is the situation above an improvement?

Re: Why I'm Making Python 2.8

#283

Earlier quoted context omitted.

> What a load of bollocks. For new projects this only matters if libraries aren't ported, which they are for the most part. For old projects, either you're in a situation where you can spend time porting your code to Python 3, or you don't; but as TFA mentioned pep-404, the writing has been officially on the wall ever since 2011 so at that point you have to admit you did choose to incur tech debt and do nothing about…

We have several large projects that are written in Python. Most of these aee production applications that are critical to what we do, and the others are libraries and tools for internal work. We haven't even started thinking about porting these to python3. We have so many other things to worry about (but fixes, new features, etc) that it's hard to justify the time investment to port these now. I can't imagine we're t…

You're not, of course. And there are similarly many people running production critical code written in Perl 5 on RedHat 9 or something like that. "If it's not broken, don't touch it" is a wise rule to follow for that kind of stuff.

But to keep it running, you don't really need Python 2.8 with new features, right? You need extended support for Python 2.7 - basically, making sure that it keeps working with updated versions of other software (like OSes), and that bugs are fixed.

Re: Why I'm Making Python 2.8

#284
post #268

I see many people vigorously defending Py3 but I wonder how many of these have a paying-the-bills kind of job. Where you would look at the cost of porting a large project to Py3 and get an answer like half a million USD (easily). Do you go "of course we do that, that money is easily recouped with the added programmer productivity of Py3"? No chance. So the question is do you want to basically light that money on fire…

You can keep your py2.x code running, absolutely; but you cannot expect other people working for free to help you pay your bills.

Honestly, the level of self-entitlement through all 2vs3 threads is staggering.

Re: Why I'm Making Python 2.8

#285
post #176

Earlier quoted context omitted.

That's why I used the word "trying". Maybe you should read more carefully before you want to accuse others from misreading something. ;-) I think it's unfair to say that I misread his comment - he doesn't explicitly mention he is aware of the workaround I outlined for the functions, and that he is bothered with lack of tuple unpacking in lambda expressions only, not in ordinary functions. Regardless, I still think it…

> Regardless, I still think it's quite impolite to downvote somebody who wants to help you and misunderstands you Well, I don't consider it a "misunderstanding" when there are literally just 2 things to note in my comment that you're replying to ("lambda" and "tuple unpacking") and you still somehow miss 1 of them. I think it totally deserves a downvote, because it makes me look stupid when you present a reasonable s…

If you weren't busy taking things so personally, you could note that I already hinted in my comment on why I made it - I missed the feature of unpacking within function arguments myself at first too, until I realized that unpacking within the body isn't really less readable. (And please - do not waste time replying.)

I admit I don't use lambdas that much, since generator expressions (which is like Python 2.3) they aren't really needed too frequently. And in most cases you're better off using function anyway, because in Python statements are not expressions, as I already also stated. For example, I use print() for debugging frequently and this is tough to insert into lambda. (And even in Haskell I prefer to name subexpressions to lambda syntax.)

> That said, like I said, I never actually downvoted that comment (because I obviously couldn't). So you don't need to worry about the internet points.

I am not worried about internet points (I actually got about 80 of them on this discussion alone, which is frankly ridiculously too much, and in practice, I find that comments I personally find to be the most insightful only rarely get most points), I am just really annoyed when somebody downvotes my comments without any explanation, because I am a very curious person and in most cases it's just a honest misunderstanding, which could be cleared up with, I don't know, actual communication?

And at least two or three other people actually downvoted my original comment, so I would like to use this opportunity to invite them to come forward with an explanation what they found so wrong about it.

Re: Why I'm Making Python 2.8

#286
post #80

As others have said, maybe this project fixes some actual problems and backports some features from 3, but this isn't "Python". Beyond the fact that Python is a trademark of the Python Software Foundation, Python is more than the language, it's the community and the tools (as with every programming language). So while there are some vocal people that really dislike Python 3 (either in part or wholly), my understandin…

I don't know about that. It forked a Python compiler, and is fully interoperable with 100% of Python 2 code, and much of Python 3 code. It's even compatible with Python C extensions. Why isn't it a valid Python compiler? To me, the whole morass about trying to end-of-life Python 2 is a bit silly. People have gotten emotional about the situation. On one side, people like Zed Shaw are calling the Python maintainers 'ev…

That's the thing - people expect core developers (some of them working on the project for free) to keep backporting crap out of the kindness of their heart. It's like asking Microsoft to backport security fixes and .Net features into VB6.

Re: Why I'm Making Python 2.8

#287
post #33

> And the majority of Python code written does not run under any of the 3.x interpreters. This makes it harder for its users to be productive. What a load of bollocks. For new projects this only matters if libraries aren't ported, which they are for the most part. For old projects, either you're in a situation where you can spend time porting your code to Python 3, or you don't; but as TFA mentioned pep-404, the writ…

Software typically evolves and grows and changes over decades. There very often isn't any point where you can go "for our next project we choose X". Each new project is a feature using 90% of some existing huge codebase.

"Starting fresh" is something many (most?) companies simply never does, over decades. (And if they attempt it is often an all out disaster..)

2011 is fairly recent in this context, and many popular libraries were not available on Py3 until much more recent than that, even if you have the rare luxury of starting fresh.

Re: Why I'm Making Python 2.8

#288

Earlier quoted context omitted.

You write sooo well and yet the content is stupid.

> write so well I disagree. He uses complicated words where simple ones would do and other words that are redundant. For example, read his sentence after removing "typically, in fact,". It conveys the same meaning but sounds less pretentious.

I thought the two additional "o"s that you missed indicated sarcasm.

Re: Why I'm Making Python 2.8

#289

Earlier quoted context omitted.

I think after 5 years we should came to the realization that Python 3.x is not the future of Python. You can't blame people to try to find solution.

Except it kinda is the current version to lots of us. I moved to Python as a hobbyist from .net languages and loved the freedom of not having an IDE and working with Linux. The first decent book I read was on Python 3 so I learned Python 3. Lots of us 'newcomers' (not so new in my case) learnt on Python 3, find perfectly good library support in Python 3. In fact the 'old guard', sound a bit like my Dad talking about…

It's worth noting that Microsoft is still keeping VB6 on life support, in a sense. The tooling is not guaranteed to work on modern OSes (and there is a bunch of actual breakage, although community has found workarounds so far).

But the runtime is still supported - in fact, it ships with the OS! If you have any non-ARM version of Windows, up to and including Win10, around, check the file named msvbvm60.dll in C:\Windows\SysWOW64 - that's it ("MS VB VM").

And because it ships as an OS component, the official support policy is the same as the rest of the OS, which is at least 5 years of mainstream support (longer if there's no successor release), and then at least 5 years of extended support. This is even clarified specifically for VB6:

https://msdn.microsoft.com/en-us/vstudio/ms788708.aspx

Since VB6 was first released in 1998, this marks 18 years of continued support to date; and if it's not dropped from the OS within the next 2 years, it has a chance of hitting 30 years...

For what it's worth, PSF also has a fairly generous (especially for a non-commercial OSS project) support policy for Python 2.7 - it had already extended the end-of-life date for it once to 2020:

https://www.python.org/dev/peps/pep-0373/#id2

Re: Why I'm Making Python 2.8

#290

Earlier quoted context omitted.

Please back your claims with data.

There are numerous metrics out there showing that Python 2.7 is far more ubiquitous than 3.x Here is one recent one: http://www.randalolson.com/2016/09/03/python-2-7-still-reign... If you have counter statistics showing that Python 3.x is more popular than 2.7 I would very much like to see them.

Nice to break down FIVE 3.x versions vs TWO 2.x versions. Stack them up and let's count again.
Post reply on HN