PMXBOT Log file Viewer

Help | Karma | Search:

#python2.8 logs for Wednesday the 22nd of January, 2014

(Back to #python2.8 overview) (Back to channel listing) (Animate logs)
[07:08:55] <douglarek> !logs
[07:08:55] <pmxbot> http://chat-logs.dcpython.org/channel/python2.8
[12:41:10] <regebro> Joppalainen peoples!
[12:41:20] <regebro> I'm late to the game. Is there a chat log or a summary somewhere?
[12:41:29] <dstufft> !logs
[12:41:29] <pmxbot> http://chat-logs.dcpython.org/channel/python2.8
[12:44:57] <regebro> thnkx
[13:00:03] <regebro> OK, I find that the summary is this:
[13:00:03] <regebro> <mitsuhiko> I record: nobody has any ideas
[13:30:31] <tos9> regebro: a good summary :)
[13:31:26] <mitsuhiko> i'm just ignoring the existence of python 3 and i immediately feel better about myself :)
[13:32:07] <tos9> yeah, it's unfortunate that the crux of the issue here is that most of the people who could probably make things better have no interest in doing so because of how well Python 2 works :)
[13:32:30] <tos9> (or that "making things less borked is hard", one of the two, still can't tell which)
[13:36:56] <regebro> Well, if somebody could tell the core devs what "better" meant, this would be a step forward.
[13:37:44] <regebro> There is a lot of people caling for Python 2.8, but I can't see many people with opinions on what it would entail.
[16:20:01] <dash> regebro: there is a very straightforward place to start on python 2.8
[16:20:26] <dash> regebro: all of the features that were included in 3.x that could be added to 2.x compatibly but weren't
[16:20:43] <regebro> dash: And those are...?
[16:20:59] <dash> regebro: 'yield from' is a recent obvious example
[16:21:36] <regebro> And how does this help people to move to Python 3?
[16:21:41] <dash> no, no
[16:21:54] <dash> that's kind of beside the point :)
[16:22:16] <regebro> No, that is the whole point of Python 2.8.
[16:22:20] <dash> okay
[16:22:36] <dash> if the only goal is to drive adoption of 3.x, then there isn't any conversation to have
[16:23:00] <regebro> Yes, that would be the only goal.
[16:23:12] <dash> just remove everything 2.x related from python.org immediately
[16:23:19] <dash> get it over with
[16:24:09] <dash> since it's clear that the developers of python don't share goals with a large segment of 2.x users
[16:24:21] <regebro> That's just being passive-aggressive for no reason.
[16:24:40] <dash> eh?
[16:24:49] <dash> no, seriously
[16:25:07] <dash> a lot of the confusion and argument has come from misunderstanding what the python devs really want
[16:25:15] <dash> or want to provide
[16:25:26] <regebro> The problem is that people find it difficult or too much work to move to Python 3.
[16:25:50] <dash> you have to understand, for some of us, that is _not a problem_
[16:26:00] <dash> it's a problem for you, not for me
[16:27:00] <regebro> Well, it's only a problem in as much as Zope 2 isn't likely to run on Python 3.
[16:27:34] <dash> who is harmed by that?
[16:27:43] <regebro> But there really isn't any version of Python that can fix that, Zope 2 has so much heavy Python magic, that even moving from Python 2.4 was a major effort that too a long time.
[16:27:56] <regebro> I am, as I use Plone a lot.
[16:28:53] <regebro> Other than that I tend to use Python 3, so this is clearly not a problem for me.
[16:29:22] <dash> well. plone is its own category of.... interestingness
[16:29:32] <regebro> Yes.
[16:29:49] <regebro> In other words, if the problem isn't what people claim the problem is, then I don't know what the problem is.
[16:30:06] <regebro> Seeing as my only problem is Plone.
[16:32:13] <regebro> dash: The complaints on various blogs etc is that it's hard to move to Python 3. The suggested solution has been Python 2.8.
[16:32:34] <regebro> I don't understand what that 2.8 would entail, so I came here to see if anyone had any suggestions.
[16:32:48] <regebro> You then claim that the claimed problem is not the problem. So what is the problem?
[16:33:58] <dash> well, as i said, some people want to promote python 3 adoption --
[16:34:20] <dash> -- other people just want improved facilities available to their python programs right now
[16:35:52] <regebro> So, your problem is that Python 3 is better than Python 2, and you want Python 2.8 to fix that, to make Python 2 (almost) as good as Python 3?
[16:35:59] <dash> no?
[16:36:06] <dash> i don't believe python 3 is better than python 2.
[16:36:18] <dash> I believe that it has some benefits and some drawbacks.
[16:36:40] <dash> the costs are greater than the benefits for many projects
[16:36:47] <dash> and they aren't all fundamentally tied together
[16:37:07] <regebro> I'm not aware of any costs besides updating software to run on Python 3.
[16:37:17] <dash> that is, in fact, the cost.
[16:37:31] <regebro> So what is then the drawbacks?
[16:37:50] <dash> having to rewrite code to run on python 3
[16:37:54] <dash> poorer handling of byte strings
[16:38:26] <regebro> So Python 3 is not better than Python 2, despite having benefits, because it's not Python 2?
[16:38:29] <dstufft> regebro: porting can be signifcant amount of effort
[16:38:42] <regebro> dstufft: I'm well aware of that. :-)
[16:39:09] <dstufft> I believe that Python 3 is a better language in general, but for some projects the benefit isn't that large and the porting effort is much larger then the benefits would reward
[16:39:24] <regebro> dstufft: Sure.
[16:39:37] <regebro> Zope 2 being one case.
[16:39:54] <dstufft> I also think that backporting things to 2.8 like yield from would effectively kill Python3 (which is probably something dash would prefer)
[16:40:17] <regebro> I'm just arguing against dash saying that Python 3 is not better, because although it's better it's not Python 2.
[16:41:08] <regebro> dstufft: I don't know if it would kill it, but it would probably slow down adoption. And it seems that most people agree that the problem is that it's too hard to Port to Python 3.
[16:41:20] <regebro> So that doesn't exactly solve any problems.
[16:42:03] <tos9> regebro: dash's argument is mostly "python 2 is going to stay, do you care about that [and are willing to help those who will need or want to continue writing it] or not?
[16:42:31] <dash> another cost is that if you want to use python 3 for your project you have to pick between complicating your codebase with polyglot bits, or reducing your deployment options
[16:42:32] <regebro> tos9: Ah OK.
[16:42:48] <dash> another is limited access to python libraries
[16:42:59] <regebro> I do agree that if you assume Python 3 is a failure, then Python 2.8 makes sense, and its' fairly straightforward what to include.
[16:43:01] <tos9> Personally, I don't, not that much :D, even though I am generally someone who writes Python2 almost exclusively, so I do want things to help Python 3 along, and don't think 2.8 is going to help, but I *do* think that adding any and everything reasonable to Python 3 that will help people writing cross compatible code should be on the table for Py3
[16:43:09] <regebro> I don't think that assumption can be made.
[16:43:38] <regebro> dash: Which Python libraries are you missing?
[16:44:13] <dash> regebro: haha
[16:44:34] <tos9> Twisted and PyPy are still the major 2 things missing [certainly for me/us], not counting all of the thigns that are really slow on Py3 that we use.
[16:45:17] <regebro> I must have missed the joke.
[16:45:24] <dstufft> tos9: I agree fwiw, that adding everything reasonable to Py3 to help porting is the way forward
[16:45:42] <dstufft> tos9: tbh that should have been the case from day 1, it sucks it wasn't, but it can be fixed going forward
[16:45:47] <regebro> Yes, sure, Twisted and PyPy are the big things people are waiting for.
[16:46:04] <dstufft> regebro: the problem isn't just major things though
[16:46:35] <dstufft> I'm working on rewriting PyPI, I started with Python3, and every other library needed ported
[16:46:44] <tos9> dstufft: There's still a bit too much pushback on certain things I think. It's hard to discern whether it's actual sane pushback or if it's just the usual mailing list insanities.
[16:46:52] <dstufft> (I eventually gave up and went back to Python2, largely for PyPy)
[16:47:26] <dstufft> but you're not likely to see a lot of real world Python3 use until you can be reasonably sure that the modules you want to use from PyPI are going to work on py3
[16:47:34] <dstufft> tos9: there is pushback which is dumb I think
[16:47:51] <tos9> dstufft: Well I know *your* opinion given this morning's antics :D [not that I disagree]
[16:48:31] <dstufft> tos9: Nothing like an argument to start the morning out right
[16:48:35] <dstufft> my twitter is blowing up
[16:49:08] <tos9> Someone in #python brought up PEP 3113 a couple of days ago again, another thing that should just die a swift death.
[16:51:28] <dash> regebro: the joke? well. do you believe python 3 has fewer modules/libraries available than python 2? more specifically, that there are many python 2 libraries not available on python 3?
[16:52:16] <regebro> dash: There are thousands of modules on PyPI that is used only by it's author, and uploaded once and never again. The answer is "yes".
[16:53:20] <regebro> The question was which libraries you are missing. Requiring that all modules on PyPI run on Python 3 is not constructive.
[16:53:44] <regebro> And I joined this channel in the hope of something constructive.
[16:59:18] <dash> regebro: i'm not *requiring* anything
[16:59:35] <dash> regebro: i'm just mentioning the costs/drawbacks involved in using python 3
[17:01:32] <dash> there are some benefits with python 3, naturally. some of those benefits even come from breaking compatibility
[17:01:35] <dash> but plenty don't
[17:03:54] <regebro> dash: So you *do* agree that Python 3 is a better language? As the drawbacks you mention is essentially that it's incompatible with Python 2.
[17:05:25] <regebro> Which returns us back half an hour, in which I ask you if your problem is that Python 3 is better than Python 2.
[17:05:49] <regebro> Because I'm still trying to get a grip on what you think is the problem.
[17:05:49] <dash> regebro: I believe python 3 is differently bad
[17:06:01] <dash> it's better in some ways
[17:06:03] <dash> but, well
[17:06:15] <regebro> OK, I don't think we are getting anywhere on that line of discussion, it seems to have stalled.
[17:06:21] <dash> clojure and scala and go and js are better in some ways too
[17:06:41] <dash> so that's not super relevant
[17:06:51] <regebro> *shrugs*
[17:08:31] <dash> if i'm going to pick a language for a new project, or to port old code to, python 3 isn't my only choice
[17:08:53] <dash> python 2.8 is of interest because I already have python 2.x code
[17:09:38] <regebro> dash: So your problem is that you don't want to use Python 3, and you are annoyed that development is on Python 3.
[17:09:51] <regebro> I don't think that is a common position.
[17:09:55] <dash> okay
[17:10:44] <regebro> Most people who express an interest in Python 2.8 or otherways complain about Python 3 are interested in using it.
[17:11:12] <dash> well, it's not like i'm _opposed_ to using python 3
[17:11:15] <dash> it just doesn't, you know
[17:11:17] <dash> run my code
[17:11:21] <regebro> Same thing.
[17:11:30] <regebro> Apparently.
[17:13:22] <regebro> If Python 3 would run Python 2 code, then it wouldn't be Python 3.
[17:13:58] <dash> Why not?
[17:14:39] <regebro> Because there are changes and improvements that can not be made in a compatible way.
[17:14:46] <regebro> This is why it's called Python 3.
[17:14:50] <dash> heh
[17:15:11] <dash> okay. as you say I don't think there's much point in continuing this discussion
[17:15:15] <regebro> If those changes had not been made, it would still be called Python 2.
[17:15:46] <regebro> Hence, your problem with Python 3 is that it's better than Python 2, in non-compatible ways.
[17:16:41] <dash> not really
[17:17:14] <dash> my problem with python 3 is that its promoters treat it as morally superior and a historical inevitability
[17:17:58] <dash> the fact that it's only a marginal improvement on python 2 doesn't help either
[17:18:20] <wangofett> dash: I guess that all depends on your definition of marginal ;)
[17:18:44] <dash> doesn't address any of the deep problems in python's design
[17:19:11] <regebro> dash: No, they don't treat it as a "historical inevitability". They treat it as superior (because it is).
[17:19:41] <regebro> And they also treat it A Good Thing that they want to use and they want others to use.
[17:20:17] <regebro> dash: And what could they otherwise do?
[17:20:41] <dash> regebro: take compatibility seriously
[17:20:43] <regebro> Create a Python 3.0 and then abandon it?
[17:20:50] <dash> yes, they could in fact do that
[17:20:56] <dash> if they chose to
[17:20:59] <regebro> dash: In what way can they take compatibility more seriously than they already do?
[17:21:20] <regebro> dash: Yes, they can abandon Python 3. It's possible. But they haven't yet.
[17:21:43] <regebro> It's obvious you WANT them to, but that's not what we are arguing about is it?
[17:21:49] <dash> regebro: pretty obvious that being able to run python 2.7/python 2.8 programs unmodified on python 3.x would be a start
[17:22:08] <dash> heck, even just python 2.8 programs that ran without deprecation warnings
[17:22:17] <regebro> Is your problem with Python 3 that it's being developed? Because then then this discussion is really pointless.
[17:22:21] <wangofett> and dash - aren't you arguing the exact point of you you're arguing against?
[17:22:32] <wangofett> 2.7 is somehow morally superior or better than Python3?
[17:22:35] <regebro> dash: No, that would not be a good start. It's NOT POSSIBLE.
[17:22:48] <dash> wangofett: it's better in that it runs my existing python code
[17:23:00] <dash> regebro: Why isn't it possible?
[17:23:11] <wangofett> dash: the status quo is a logical fallacy
[17:23:18] <dash> wangofett: ... what?
[17:23:18] <regebro> dash: Because some of the changes in Python 3 is INCOMPATIBLE.
[17:23:28] <regebro> If they were not done, then it would not be called Python 3.
[17:23:43] <regebro> A Python 3, that runs Python 2 programs unmodified is not Python 3.
[17:23:44] <wangofett> "we've been running Python 2.7 programs all along, therefore Python 2.7 is better"
[17:23:44] <dash> regebro: sure i get that
[17:24:02] <wangofett> that is *not* a valid argument. Not in Python 2 v 3
[17:24:09] <dstufft> wangofett: you're thinking in abstract, dash is thinking in terms of praticality
[17:24:13] <regebro> If we make Python 3.5 run Python 2 programs unmodified, then all Python 3 code would break, etc.
[17:24:17] <dstufft> Python2 is better because it involves less work for him
[17:24:21] <dstufft> because his code already runs on that
[17:24:22] <dash> wangofett: shrug, it's a reason to use python 2, and it's not a reason to use python 3
[17:24:40] <dash> doesn't mean python 2 is "better" in some other abstract way
[17:24:47] <wangofett> you can make the argument that it's better to not rewrite code than it is to rewrite code if it works already.
[17:24:55] <dash> regebro: people have figured out ways to make incompatible things work together in the past
[17:25:00] <wangofett> but that's irrelevant to 2v3
[17:25:06] <dash> wangofett: Why is it irrelevant?
[17:25:29] <wangofett> it's relevant to the adoption. Not to the "betterness".
[17:25:29] <dash> regebro: if you start from the belief that this is "NOT POSSIBLE", then obviously no way to do it will be found
[17:25:30] <regebro> dash: Yes, and there are many things in Python 2.7 to help you overcome the incompatibilities.
[17:25:48] <regebro> Python 2.7 is essentially Python 3.1, but backwards compatible.
[17:26:03] <regebro> So that's what you asked for, you got it. :-)
[17:26:13] <wangofett> unless your only qualification for better is that it runs your code right now. In which case, say so.
[17:26:16] <dash> nope, definitely not true
[17:26:27] <regebro> dash: It's not a belief.
[17:26:28] <wangofett> because no one will argue against that.
[17:26:40] <dash> wangofett: has it occurred to you that things can be good or bad in more than one way? :)
[17:27:01] <dash> anyway
[17:27:32] <dash> to be clear: I have been using python as my primary development environment for 15 years
[17:27:39] <dash> it's done me a lot of good
[17:27:55] <wangofett> dash: sure. But if you're arguing that Python 2 is better because it runs code right now, and Python 3 is worse because people are trying to push you to use Python 3 that does not make any sense.
[17:28:00] <dash> I am being told that python 2.x will no longer be supported in the future
[17:28:23] <wangofett> Which is true. Just like 1.x
[17:28:24] <dash> and that I need to rewrite my code if I want to use a language that is supported
[17:28:39] <wangofett> Only if you've been doing funky things
[17:28:47] <dash> no
[17:28:51] <wangofett> or "I" means 2to3.py
[17:29:02] <dstufft> 2to3 isn't very good tbh :[
[17:29:05] <dash> python 2.x runs python 1.x programs just fine
[17:29:06] <regebro> dash: Yes, the aim is, that as with all older Python versions, Python 2 will not be supported in some future.
[17:29:19] <dash> and yes, 2to3 is not a practical suggestion
[17:29:39] <dash> regebro: let me try that again
[17:29:52] <dash> I am being told that python 2.x will no longer be supported in the future, *and that I need to rewrite my code if I want to use a language that is supported*.
[17:30:07] <regebro> dash: Yes, the aim is, that as with all older Python versions, Python 2 will not be supported in some future.
[17:30:12] <dash> regebro: So apparently it's time for me to pick a new language -- you want me to pick python 3
[17:30:15] <dstufft> The text model switch is something that I don't believe could have been introduced in a backwards compatible way
[17:30:22] <dash> dstufft: Nobody tried.
[17:30:23] <tomprince> python 1.x and python 2.x are essential different version of the same language, python 3.x is fundamentally a *different* language.
[17:30:30] <regebro> dash: You are free to pick whatever language you want.
[17:30:36] <dash> regebro: but a lot has happened in 15 years
[17:30:40] <wangofett> tomprince: fundamentally *how*?
[17:30:40] <dash> regebro: Right.
[17:30:56] <dash> wangofett: python 2.x ran python 1.x programs, python 3.x does not run python 2.x programs
[17:31:22] <regebro> I do think however, that when you compare moving from Python 2 to Python 3 with moving from Python to well, whetever else, you are wrong.
[17:31:30] <wangofett> regebro: +1
[17:31:32] <dash> regebro: Why is it wrong to compare those things?
[17:32:11] <dash> I have to choose between a platform that doesn't run my existing python code, and some other platform that doesn't run my existing python code
[17:32:18] <regebro> Sorry, not compare, but equate.
[17:32:47] <regebro> Moving to Python 3 is not comparable in cost/work with rewriting something in a different language.
[17:32:49] <dstufft> dash: that's being somewhat disingenuous, Porting to Python3 is very rarely anything like a complete rewrite. ;)
[17:33:05] <dash> dstufft: How do exarkun and itamar feel about that statement? :)
[17:33:46] <dstufft> dash: I don't know, but I suspect that Twisted wasn't completely rewritten for Python3 in the parts that were ported ;)
[17:34:01] <dash> to put it another way: over the last 10 years, whenever I have needed to pick a language for a new project, python has gotten a bonus in that decision making process because it makes interoperating with my existing stuff easier
[17:34:07] <dash> that's going away
[17:34:54] <dstufft> Python3 can be a signifcant amount of effort to port to depending on what you're doing though, and it can make a lot of sense to switch to another language if you're going to have to expend singifncant effort and expend some more effort for different benefits
[17:35:13] <dash> fortunately there's still pypy, i guess
[17:35:33] <wangofett> dash: how is python3 not following that/
[17:35:46] <eriknw> hey dstufft, what happened to crate.io?
[17:35:54] <wangofett> because I can run 2to3 a *heck* of a lot easier than rewriting in <language>
[17:35:55] <tomprince> dstufft: It wasn't a complete rewrite. That doesn't mean that it was less effort than a complete rewrite.
[17:36:04] <dstufft> tomprince: that much is true :)
[17:36:13] <regebro> wangofett: running 2to3 is rarely all you need, though.
[17:36:28] <dash> yeah that's not a practical suggestion
[17:36:33] <dstufft> tomprince: since you're effectively targeting 2 languages instead of one
[17:36:44] <regebro> And the effort to move to Python 2 gets multiplied if you are using doctests for all tests for example.
[17:36:45] <dstufft> just they happen to be similar languages
[17:38:24] <_habnabit> 2to3 does practically nothing
[17:38:33] <_habnabit> it also only does syntax, not semantics
[17:39:15] <dstufft> Also porting to Python3 is effiectively impossible if you don't have unit tests
[17:39:21] <dstufft> well tests
[17:39:27] <dash> dstufft: everything's impossible if you don't have tests
[17:39:29] <dstufft> don't have to be unit tests
[17:39:30] <dash> so that's not a surprise :)
[17:39:46] <dstufft> dash: ;)
[17:40:31] <dash> Anyway, it's pretty obvious that python 2 programs could be supported on python 3, in some fashion, if someone really wanted them to be
[17:41:06] <dash> but python 3 promoters don't want this
[17:41:43] <dstufft> some python 3 promoters*
[17:41:45] <dstufft> ;0
[17:41:46] <regebro> No, that'snot obvious.
[17:41:47] <dash> which is fine, just don't pretend it's impossible :)
[17:42:21] <dash> regebro: people translate code in one language to another all the time, it's called a "compiler"
[17:43:14] <dstufft> dash: text/bytes split on Python3 requires some decision making process since there's no automatic method of determning if bytes or str is the correct type for some bit of code
[17:43:30] <dash> dstufft: nah
[17:43:44] <regebro> If you mean that it would be possible to use the same executable for both Python 2 and Python 3, dependning on for example what name it was called with, then yes.
[17:43:53] <tomprince> python2 str and python2 unicode can be implemnted in python3.
[17:43:53] <regebro> But what would be the point of that?
[17:44:02] <dash> regebro: no, i mean to actually compile python2 code to run on python3.
[17:44:06] <dstufft> regebro: no he means executing Python2 on python3
[17:44:19] <dstufft> tomprince: it could be implemented, but it wouldn't be the literals ""
[17:44:28] <dash> dstufft: not the _same_ literals, no
[17:44:49] <regebro> Well, 2to3 does most of that already. But there differences both large and small, that make it hard.
[17:44:53] <dstufft> <insert Nick's use asciistr>
[17:45:13] <dash> the unclever solution would be to compile code creating 'str' and 'unicode' objects to code that created 'python2str' and 'python2unicode' objects
[17:46:18] <dash> so, it'd be possible. would this solve every problem at once? of course not
[17:46:35] <_habnabit> regebro, like i said, 2to3 does practically nothing. you still need version checks for a number of trivial operations
[17:46:41] <_habnabit> regebro, even, say, iterating over bytes
[17:46:50] <regebro> Next question is then: When would this Python 2 support go away?
[17:46:57] <dash> regebro: why would it ever need to go away?
[17:47:05] <dash> regebro: it could quite easily be a separate library
[17:47:16] <dash> regebro: not included in the stdlib
[17:47:37] <regebro> dash: That I don't see,
[17:47:44] <regebro> how it would be possible.
[17:48:27] <dash> regebro: how does clojurescript/brython/coffeescript/etc get compiled to js? how does rpython get compiled to C
[17:48:30] <dash> etc
[17:48:38] <dstufft> dash: https://github.com/jeamland/asciicompat :D
[17:48:46] <regebro> dash: OK, so you write it then.
[17:49:11] <dstufft> (probably unsupported ^ no idea if they gave up on it or not)
[17:49:21] <dash> regebro: hey, i'm not the one who wants people to be using python 3 ;)
[17:49:52] <dash> regebro: i already wrote a compiler but it's for a language I like better than python
[17:50:03] <regebro> dash: You are the one that claims it's possible.
[17:50:08] <dash> (currently targets python 2)
[17:50:15] <dash> regebro: alrighty
[17:50:23] <dash> regebro: well find someone who wants to pay for it and I will :p
[17:50:49] <dash> regebro: anyway consider than pypy seems quite capable of maintaing python3 and python2 support in the same codebase
[17:51:00] <dash> even if they don't run em in the same process currently
[17:51:25] <tomprince> Is that quite true? I thought the python3 support was currently in a branch.
[17:51:53] <dstufft> regebro: I think the misunderstanding here is that a lot of the current "hey port to py3" efforts involve effort, sometimes a lot of it, on the people whose stuff got broken by the core developers. So it's a bit like knocking a cup out of someones hand and then telling them they should clean it up
[17:52:06] <dstufft> (sort of kind of)
[17:52:09] <regebro> dash: PyPy's Python 3 support is not in a separate Python library.
[17:52:47] <dash> dstufft: https://www.youtube.com/watch?v=jxxt44KFg1Y
[17:52:52] <tomprince> Well, it is a seperate python program. It could certainly be turned into a library.
[17:52:56] <regebro> dstufft: I completely understand that. I came here because loads of people seem to think that Python 2.8 would make things better.
[17:53:18] <regebro> Ie, make the cleaning up easier. :-)
[17:53:35] <dstufft> regebro: I think that most people who want python 2.8 just don't want to do the extra work of porting to Python3, and that's totally a legit view point
[17:53:49] <dstufft> (not everyone ofc)
[17:53:53] <regebro> dstufft: Well, it seems like that.
[17:54:15] <dash> yeah
[17:54:16] <regebro> I still haven't seen any constructive suggestions on how 2.8 could make porting easier anyway.
[17:54:23] <dash> i don't have any problems with python that 3.x solves
[17:54:59] <dash> chained exceptions is a nice-to-have. but that's not even an incompatible change afaict
[17:55:11] <dstufft> regebro: I've seen one, that would enable the breaking changes that python3 did, but enable you to turn them on one at a time
[17:55:56] <tomprince> regebro: Well, most of the people who are active at this minute don't have a desire to port, but don't see why that should mean they don't get access to the compatible improvements of python3.
[17:56:26] <regebro> dstufft: Sure, but there aren't that many left. :-)
[17:56:41] <tomprince> Not everybody who comes here shares that view, but most of those people seem to be AFK.
[17:56:46] <dstufft> tomprince: well they shouldn't get access to the compatible improvements because nobody's been motivated enough to maintain a python 2.x branch that has them and the python-dev folks aren't mtivated to do that either :)
[17:56:47] <tomprince> regebro: 'yield from'
[17:56:48] <regebro> I have a list in my head, but I refuse to give the complainers an easy start.
[17:56:59] <regebro> tomprince: Not relevant. That does not ease porting.
[17:57:25] <regebro> (The list is quite short though).
[17:58:20] <tomprince> Hmmm, i wondr if pypy could be made smart enough to detect the usage pattern that leads to 'yield from' and automatically convert it.
[17:58:23] <dstufft> tomprince: demanding that python-dev maintain 2.x when they don't want to is akin to demanding that people port to python3, except python2 will continue working so nobodies forcing py2 users to switch if they don't want to (aside from people who want to try, but that's an impossible situation anyways)
[17:58:31] <regebro> tomprince: In other words, you are with dash on the topic: You simply don't want to port. I'm less interested and supportive of that standpoint that I was a couple of hours ago.
[17:58:49] <dash> regebro: Hmm. Why so?
[17:58:59] <dstufft> not porting is completely reasonable
[17:59:06] <dstufft> you're not owed other peoples labor
[17:59:25] <regebro> Right, I mean, people who don't want to port, but still demand all the benefits of Python 3.
[17:59:33] <dash> regebro: heh
[17:59:57] <tomprince> dstufft: Sure. But it sometimes seems like (some of) python-dev et al expect our labour to port to python3.
[18:00:21] <dash> regebro: and this is why i started by saying everything 2.x-related should just go ahead and be removed
[18:00:32] <tomprince> dstufft: Otherwise, why isn't pip in py 2.7 or 2.8?
[18:00:46] <dstufft> I don't think dash is demanding them, he's just stated that Python3 isn't interesting to him and he'd rather expend his efforts either maintaing his Python2 code or working on another language that offers more benefits to him
[18:00:51] <regebro> dash: And that's just you being passive agressive.
[18:00:57] <dash> regebro: eh?
[18:01:06] <dstufft> and saying that he'd like a 2.8 that had new features (who doesn't like new features?)
[18:01:13] <dash> regebro: all I mean is that the python developers have made it clear they don't want users who aren't interested in 3.x
[18:01:21] <dstufft> tomprince: yea well, I'm not super happy with python-dev right now so
[18:01:37] <tomprince> :)
[18:01:42] <regebro> dash: Nobody want to *force* anyone to Python 3. No-one is interested in removing any Python 2.x-related stuff.
[18:01:54] <dstufft> tomprince: the reasoning for pip not being in 2.7 was some bullshit about it might break something for sombody
[18:02:04] <regebro> We are interested in helping people that want to be on Python 3 to be able to get onto Python 3.
[18:02:11] <dstufft> and there's no 2.8 because python-dev isn't interested in maintaing 2.x anymore
[18:02:15] <dash> regebro: _Nobody_? that's a big claim ;)
[18:02:22] <dstufft> eh
[18:02:40] <regebro> Attitudes like "Well then just remove all Python 2 related things" just makes people *less* interested in helping.
[18:02:41] <dstufft> lots of people want to force people on Py3, (lots of people want to force Py3 to be abandoned and switch back to Py2 too)
[18:02:49] <dstufft> those people are generally dumb
[18:02:53] <tomprince> regebro: python-dev is actively blocking improments in 2.x
[18:03:03] <regebro> dash: No, it's not a big claim.
[18:03:13] <dash> dstufft: well, people in the latter camp don't understand the open source software lifecycle
[18:03:24] <regebro> tomprince: Which is completely different from removing Python 2 from python.org, fo ex.
[18:03:46] <dash> (which basically is 1] software gets released; 2] it exists forever)
[18:03:56] <regebro> tomprince: Python-dev is also not really "blocking" anything. They are just not interested in improving it.
[18:04:14] <tomprince> regebro: dstufft wanted to add pip to 2.x and was turned down.
[18:04:40] <tomprince> If that isn't blocking improments, what is it?
[18:04:57] <dstufft> to be fair, they blocked me on adding it to 3.3 too
[18:05:03] <dstufft> and only allowed it in 3.4
[18:05:15] <dstufft> I assume if they were going to be releasing a 2.8 they would have allowed me to add it in that
[18:05:23] <regebro> Because pip not being included isn't a bug. :-)
[18:05:59] <dstufft> I think not including pip is a user hostile move when you had someone willing to do all the work, but it's not super cut and dry
[18:06:01] <tomprince> regebro: So only bugs can be added to python 2.x because python-dev doesn't want to work on it? Even if somebody steps up to do the work? That still sounds like blocking.
[18:07:11] <dstufft> tomprince: theortically only bugs can be added to 2.7.x because that's the backwards compat policy
[18:07:15] <regebro> tomprince: They are blocking this "somebody" from forking Python 2 and releasing it from Python 2.8, yes.
[18:07:38] <regebro> releasing it *as* Python 2.8, I should say.
[18:07:51] <dstufft> it just so happens it works out to the fact that 2.7 is also the last 2.x so it's effectively preventing new features from 2.x
[18:08:15] <dstufft> but adding new features to 2.x would require either relaxing the backwards compat policy, or someone to do the work for a 2.8
[18:08:19] <regebro> So this is again not really a question of *blocking*.
[18:08:26] <dstufft> (i was asking for the first one of those)
[18:08:54] <dstufft> relaxing the policy for pip, because I felt it was a fairly special change
[18:09:02] <regebro> tomprince: If you find enough developers that are interested in maintaining Python 2.x, then that situation might change.
[18:09:07] <dstufft> MvL (and others) disagreed
[18:09:40] <regebro> But the decision amongst the current maintainers is that they were not interested in making a Python 2.8.
[18:11:06] <regebro> tomprince: You can call that "blocking" if you want, but it's stretching it, I think. Especially since nobody is being blocked. :-)
[18:12:47] <regebro> But in any case, none of this is what I came here to discuss, so I should stop now. :-)
[18:23:30] <eriknw> I understand the desire of devs to want to focus on python 3, but the big caveat is that there isn't a substantial userbase using python3
[19:37:19] <regebro> How will there ever be a substantial userbase unless they focus on Python 3?
[19:39:07] <eriknw> a substantial userbase gradually moved between python 2.0 to 2.7, and there are significant differences between python 2 versions
[19:41:36] <eriknw> for many (not all) things, updating from python 2.7 to python 3.x isn't so different from updating to a newer python 2 version
[19:43:05] <eriknw> there was already an upgrade path that used mostly small increments. the path between python 2 and python 3 is a large increment. I guess the idea behind python 2.8 would be to again make the increments smaller
[20:03:32] <regebro> eriknw: They have always concentrated on the latest version of Python. There has always been gradual movement of userbase.
[20:03:41] <regebro> So I'm not sure what you are saying.
[20:04:12] <regebro> eriknw: But what should go into Python 2.8 to make that increment smaler?
[20:06:26] <eriknw> regebro, a list of things that can go on a wiki that can later be discussed and modified
[20:07:33] <eriknw> right now there isn't a clear list of what python 2.8 might entail. as with previous python versions, it should also give deprecation warnings instead of just being deprecated (as in python 3)
[20:09:31] <regebro> eriknw: I've been asking for things to go into 2.8 for years by now, nobody can come up with anything much. So "a list of things" is not an answer I find particularily useful.
[20:10:07] <regebro> eriknw: It's true that there aren't deprecation warnings for things that are fixed by 2to3.
[20:10:40] <regebro> Any of course there might be oversights. I'm not sure this really is a big issue though.
[20:11:03] <tomprince> regebro: pip, ssl verification by defauly, tield from
[20:11:36] <dstufft> I don't even know what a yield from does because it's not in 2.x and thus useless to me since I can't py3 only yet :[
[20:11:52] <tos9> exception chaining, if we're naming features that are good about py3 that are going unused because they're py3-only
[20:11:54] <tomprince> An option for clear seperation between bytes and unicode (i.e. turning off automatic conversion)
[20:11:55] <regebro> tomprince: We are now talking about things to make porting easier, not things to help you avoid Python 3.
[20:11:58] <eriknw> the additional standard libraries
[20:12:38] <regebro> eriknw: Now you got a huge plus point, because you are literally the first one to actually come up with something. :-)
[20:13:06] <regebro> I have some ideas what could go in there, but I refuse to tell anyone, as I want to know what people would find useful.
[20:13:09] <eriknw> multi-line anonymous functions would be nice too, but that might be hard to add
[20:13:14] <regebro> For me , 2.8 is not useful. I don't need it.
[20:13:38] <regebro> eriknw: Python 3 doesn't even have multi-line lambdas.
[20:13:38] <tos9> regebro: it's still unclear to me whether you realize there are 2 groups asking for things
[20:13:41] <tos9> well, at least 2.
[20:14:02] <eriknw> regebro, right, it has anonymous functions
[20:14:34] <regebro> eriknw: I'm confused now.
[20:15:49] <regebro> Anyway, backporting new features belongs to "helping me avoid Python 3" which I don't thing is the right way to go.
[20:15:50] <dstufft> tos9: I was going to say there's more than two
[20:16:28] <dstufft> "Give my Python 2.8 I don't want 3.x at all", "Give me 2.8 to ease my porting to 3.x", "Give me 3.x to ease my porting to 3.x"
[20:17:46] <regebro> Right, and I don't think the first is interesting unless Python 3 is declared a failure.
[20:17:48] <tos9> I was dividing them functionally between "we are being neglected" and "we want to port whether or not we like Py3 but can't yet easily"
[20:18:07] <tos9> regebro: Who cares what is interesting or not? That is a real group of people.
[20:18:17] <tos9> I am not that group, but I won't discount them, they deserve attention.
[20:18:53] <regebro> eriknw: To clarify: lambdas are anonymous functions. I'm not aware of any other was to create anonymous functions (except for creating function objects directly, but...)
[20:19:36] <dstufft> tos9: they deserve attention, but there's not any meaningful thing for python-dev to do unless python-dev recinds PEP404
[20:19:58] <regebro> tos9: Again, nobody is forcing them. It's a valid opinion to claim that Python 3 was a mistake, but currently the Python developers do not agree.
[20:20:02] <tos9> dstufft: Right I agree that as solutions go that seems like the only current one.
[20:20:26] <tos9> regebro: Please separate "we don't like Python 3" which is a sentiment this group may feel from "hey we want to write programs do you want to help us or not"
[20:20:45] <dash> keep in mind not all of us like python 2, either :)
[20:20:58] <regebro> So I'm not interested in discussing how to help people avoid Python 3, because that's not going to happen unless Python 3 is declared a failure, which has not happened.
[20:21:43] <dstufft> also plenty of people don't like Python3 but are working to port their things to Python3 anyways
[20:22:11] <dash> liking stuff is a luxury :p
[20:22:19] <regebro> So we have now one suggestion of what Python 2.8 could include. That's good, but it's not really that much. :-)
[20:22:29] <tos9> Sorry, I can't put that any more clearly I think :), whether or not it's up for discussion, it's a fact, there is such a group and they are partially the ones who want a 2.8. If you want to discuss 2.8 you have to include them. If you are just answering "no I don't care about any of you too bad" then that's fine (wrong IMHO even if 2.8 isn't a thing, but fine)
[20:23:06] <tos9> At that point the question becomes "will 2.8 help people port to Py3" -- as I said I personally don't think so but I also am not too bothered by the channel name, and more by the sentiment which I do agree with
[20:23:17] <dstufft> ^
[20:23:29] <dstufft> ==tos9 or whatever the fancy new way of doing it is
[20:23:42] <tos9> dstufft: I think you're supposed to press the retwitter button or something
[20:23:43] <regebro> eriknw: Also, the same effect can be largely gotten by `six` and `futurize` or whatever it was called. Both libraries help you write code that will run under Python 2 and Python 3.
[20:23:58] <dstufft> tos9: I discovered my IRC client has a twitter button
[20:24:18] <regebro> "If you want to discuss 2.8 you have to include them" - No.
[20:24:31] <tos9> @dstufft lol
[20:24:51] <eriknw> yeah, regebro, more people are creating libraries compatible with python 2 and 3 (myself included)
[20:25:38] <dstufft> tos9: look I can tweeter from IRC: http://d.stufft.io/image/062H1i2t3Z34
[20:26:09] <tos9> dstufft: it's the f u t u r e
[20:26:27] <regebro> dstufft: I wanna know what happens when you click that.
[20:27:49] <dstufft> regebro: i don't know let me try http://d.stufft.io/image/0t3L1i3f0T01
[20:28:02] <dstufft> apparently it's literally just send this text to twitter
[20:28:26] <regebro> Advanced copy/paste.
[20:28:40] <tos9> os-level support for copy/paste
[20:29:18] <eriknw> heck, instead of introducing python 2.8, perhaps the next version of 2.7 could have more things added to __future__
[20:30:22] <dstufft> eriknw: that'd violate the backwards compat policy
[20:31:07] <tomprince> dstufft: Would it? You need to select it explicitly.
[20:31:26] <dstufft> tomprince: "no new features in a patch release"
[20:32:28] <tomprince> I guess the policy covers more than backwards compat, then.
[20:34:43] <eriknw> then perhaps someone could make a "__python3__" library that allows users to use it like "__future__", such as: "from __python3__ import whatever"
[20:37:29] <tos9> richmoore2: the vast majority of things are backported externally.
[20:37:47] <tos9> or have sometimes-better non-stdlib equivalents
[20:37:56] <richmoore2> yes, but having a python 2.8 that provides them in a consistent way would give a stable platform to work with
[20:38:37] <tos9> I would say "how?" but we'd be going down another road entirely :)
[20:38:47] <dstufft> let me tell you about a cool thing called pip
[20:39:37] <richmoore2> it's not exactly cool
[20:40:01] <richmoore2> it plays merry hell with proper management of a linux box
[20:40:30] <richmoore2> as has been recognised by the packaging people
[20:41:04] <dstufft> let me tell you about another cool thing called virtualenv :D
[20:41:07] <dstufft> and/or --user
[20:41:22] <richmoore2> and then we're back to not being able to offer stuff to other users
[20:41:30] <richmoore2> it's really a mess
[20:41:45] <tos9> how?
[20:42:00] <richmoore2> how is it a mess, or how can't we offer stuff to other users?
[20:42:12] <tos9> you declare some stuff. your user installs your thing and all of its deps. Packaging ain't perfect, but I don't think we need 2.8 to download a bunch of tarballs :)
[20:42:27] <richmoore2> multiuser systems
[20:43:23] <richmoore2> i want to be able to get stuff working so that people can simply use it once it's installed. virtualenv doesn't help there
[20:44:22] <richmoore2> a python interpreter with 2.7 features and updated libraries would be a massive win for people like me (though I'm sure it would annoy people who think we should move to 3.x)
[20:54:50] <tomprince> richmoore2: pypi-install, g-pypi, etc.
[20:55:35] <richmoore2> that still prevents you doing proper package management signature verification etc.
[20:56:49] <richmoore2> i'm pretty happy with 2.7 (sure it has warts) but i really want some of the newer libraries to be shipped as official components
[20:58:18] <tomprince> richmoore2: It sounds like you would benefit from better intregration of python and distro packaging tools, than from a py2.8.
[20:59:15] <richmoore2> tomprince: certainly. however, i see a 2.8 release as a means to get that
[21:00:00] <richmoore2> tomprince: if there was a 2.8 that said "this is the updated standard library" then that would get packaged
[21:01:01] <tomprince> Yeah, but, for many things, the stdlib is where they have gone to die.
[21:02:30] <richmoore2> that's also sadly true
[21:02:56] <richmoore2> though it's a bit of wider discussion :-)
[21:03:26] <tomprince> I'm just suggesting that and updated standard library isn't really what you want.
[21:03:47] <richmoore2> point in case would be the embedded urllib3 in requests rather than fixing urllib2 (or urllib)
[21:04:29] <richmoore2> perhaps what i'd really like is a python 2.7 expansion pack - a set of libraries
[21:08:06] <dstufft> I'd rather gut the stdlib than add more things to it
[21:09:03] <pingveno> dstufft: Backwards compatibility?
[21:09:12] <dstufft> pingveno: well there is that
[21:09:29] <dstufft> luckily there's a deprecation process!
[21:16:30] <richmoore2> increment the major version number and run away?
[21:37:03] <regebro> What we need, and what I'm arguing for, is a list of things needed to make porting easier/more gradual.
[21:37:21] <regebro> And then see which ones that really need a new version of Python.
[21:38:22] <regebro> *Then* we can discuss 2.8. Until then it's just an empty word.
[21:39:03] <eriknw> how do you propose that list get created? this channel isn't particularly useful for creating retrievable knowledge
[21:48:58] <aclark> eriknw: you know about the logs I assume
[21:49:02] <aclark> !m pmxbot
[21:49:02] <pmxbot> you're doing good work, pmxbot!
[21:53:10] <eriknw> yes, aclark, although it's hardly a productive platform for creating and maintaining a list
[21:54:04] <aclark> eriknw: requires humans to do work, yes
[21:55:07] <eriknw> chatting on this channel requires humans to do work too. hasn't seemed particularly productive from what I've seen
[21:55:40] <aclark> eriknw: *shrug*
[21:55:42] <eriknw> no offense to those who chat here. based on the number of people in this channel, there is obviously interest in this topic
[21:55:54] <aclark> eriknw: i just do the logs and lurk
[21:56:03] <eriknw> sure
[21:56:06] <richmoore2> i tend to afree that there's not much happening.
[21:56:10] <richmoore2> agree
[21:57:25] <aclark> i think the fact that 1.) it exists and 2.) there are people in here is impressive, regardless of whether or not there is ever a 2.8
[22:01:42] <aclark> And there are compelling arguments on both sides e.g. http://alexgaynor.net/2013/dec/30/about-python-3/ vs. http://ncoghlan-devs-python-notes.readthedocs.org/en/latest/python3/index.html
[22:09:49] <richmoore2> i have to say that compelling in this context is in the eye of the beholder
[22:12:11] <richmoore2> unicode is really not an issue for my use of python, so for me afaics the only benefit is incremental improvements to the library (which i think should be backported) and yield from
[22:15:22] <eriknw> it seems that most "users" of python 3 are library developers who support both python2.6+ and python 3.3+, which results in the code being written using the common denominator. I know very few python3-only projects (although I'm sure many more exist than I know about)
[22:16:49] <richmoore2> i don't know any python3 only projects
[22:17:10] <_habnabit> pyskein
[22:17:35] <richmoore2> that's C
[22:17:37] <eriknw> unless you need to handle unicode as done in python3, I don't see much incentive to use 3
[22:18:16] <eriknw> as for "yield from", I believe one can use greenlets to get similar results
[22:18:32] <richmoore2> yes, there are ways of getting the same effect
[22:30:33] <regebro> eriknw: Considering that we so far has exactly 1 proposal, maintaining the list is not a big problem. :-)
[22:32:17] <richmoore2> is that because of the goal?
[22:32:54] <richmoore2> ie do most people actually care about porting to 3.x or do they just want 2.x to be improved.
[22:33:03] <richmoore2> the latter is certainly all i care about
[22:34:03] <regebro> richmoore2: As long as Python 3 is alive, it's not going to happen, so it's not relevant.
[22:34:23] <richmoore2> i question the first statement :-)
[22:34:47] <regebro> Unless of course somebody forks Python 2, and makes a release under another name, and then everybody just moves to that, showing that the Python Core developers are all wrong.
[22:35:02] <richmoore2> and i think a defacto update to the libraries is going to happen. the only question is when
[22:35:36] <regebro> richmoore2: Python 3 is being actively developed. You can hardly call it dead.
[22:35:45] <richmoore2> regebro: so is gnu hurd
[22:35:54] <regebro> I don't know what a "defacto update" means.
[22:37:03] <richmoore2> i mean that linux distros are making available backported libraries in a convenient way (including those that were originally targeted at 3.x only) meaning that the library is evolving even without the core python team
[22:37:09] <_habnabit> richmoore2, so? it's still python3-only
[22:37:18] <richmoore2> that will continue and will become more formalised
[22:37:47] <regebro> richmoore2: not only linux distros, several of the new libraries are available on PyPI.
[22:38:11] <regebro> I don't think this is a problem, nor a reason for Python 2.8.
[22:38:12] <_habnabit> (it's not purely C, either..)
[22:38:25] <richmoore2> regebro: indeed. though i would say that's a poor solution as i said above
[22:39:38] <regebro> richmoore2: I can't see your arguments for that.
[22:39:56] <richmoore2> _habnabit: approx 60k of C code and 5k of python
[22:40:25] <_habnabit> richmoore2, i'm still not seeing your point
[22:41:46] <richmoore2> regebro: it's harder for sysadmins and packagers when you use 3rd party installs. it also doesn't work when you're using shared readonly file systems for /usr etc.
[22:42:19] <regebro> richmoore2: You just pointed out that the linux distros more and more are providing these.
[22:42:20] <richmoore2> regebro: you also can't verify the package signatures to ensure there's nothing malicious in there
[22:42:35] <richmoore2> regebro: yes. but i'd like a baseline
[22:43:11] <richmoore2> regebro: as i said, this is starting to happen in a defacto way, but i'd like an official baseline - "you can rely on these being present"
[22:44:54] <regebro> OK. Well, in any case, this is still in the realm of "how do I avoid moving to Python 3", so it's still IMO not relevant at the moment.
[22:45:24] <richmoore2> no, that's a wrong headed way of seeing it in my opinion
[22:45:55] <richmoore2> i don't see any reasons why i would want to use python3. i've read the various articles etc. and it offers me little
[22:46:06] <regebro> Once again: As long as Python 3 is not deemed a dead end, making people avoid using Python 3 is not going to be a high priority for the core developers.
[22:46:09] <richmoore2> i'd like to drop old-style classes for eample
[22:46:43] <regebro> Hence, a Python 2.8 whose aim is to make people not move to Python 3 simply is not likely to happen.
[22:46:47] <richmoore2> i'm not saying it should be. but i don't care about the core language - that works as is for me
[22:46:52] <richmoore2> i care about the library
[22:47:39] <regebro> We therefore end up discussing what hypothetically could go into a hypothetical version.
[22:48:10] <regebro> Should Python 3 be declared a dead end, what will go into Python 2.8 is rather more obvious, and hence do not really need discussing.
[22:48:10] <richmoore2> yes, and i'd hoped this channel was going to be about how to turn it into something that wasn't hypothetical
[22:48:11] <eriknw> the goal of 2.8 isn't to make people not move to Python 3. That's just dense. It's to provide additional backwards compatible features to the vast majority of python users (who happen to still use python 2)
[22:48:26] <regebro> richmoore2: Therefore, not discussing this is not wrongheaded. Discussing it is pointless.
[22:48:30] <dstufft> eriknw: for some people that's the goal of 2.8 :)
[22:48:59] <eriknw> it brings 2 closer to 3, but there will always be incompatibilities
[22:48:59] <richmoore2> for me the aim of a python 2.8 would be to improve the development facilities for people using python < 3
[22:49:14] <regebro> eriknw: As long as Python 3 is not deaclared a dead end, helping people move to Python 3 is indeed the only reason for a Python 2.8.
[22:49:43] <richmoore2> that could (and possibly should) include improved facilities for those who want to move, but should also offer things for those who don't
[22:49:46] <regebro> richmoore2: Once again: That will not happen, unless you fork Python 2 and do it yourself, or Python 3 is declared a dead end.
[22:50:12] <eriknw> regebro, you just said two opposite things
[22:50:37] <eriknw> that (1) the point of 2.8 is to help people move to python 3, and (2) 2.8 is to make people NOT move to python 3
[22:50:39] <regebro> eriknw: Comments may have been out of orded.
[22:50:44] <richmoore2> regebro: there's no need for me to do that. simply providing a package of a bunch of the available libraries would actually meet my goal
[22:50:53] <regebro> eriknw: No, I said (1) only.
[22:51:23] <eriknw> k, I may have lost comprehension in my brief reading of the backlog:
[22:51:27] <eriknw> <regebro> Hence, a Python 2.8 whose aim is to make people not move to Python 3 simply is not likely to happen.
[22:52:07] <regebro> eriknw: yup, two "not" in there.
[22:52:32] <regebro> A (2) Python 2.8 is not likely to happen.
[22:52:45] <regebro> (unless, yada ydad repeat as above)
[22:52:54] <richmoore2> i'm making a distinction between the language and the library
[22:53:09] <regebro> richmoore2: A Python release includes both.
[22:53:32] <richmoore2> regebro: yes. that's increasingly looking like a problem :-(
[22:53:47] <eriknw> goodness forbid that developmental effort be given to the language the vast majority of users still use
[22:54:12] <regebro> eriknw: That only makes sense if you don't like Python 3.
[22:54:31] <regebro> I do realize there are those who don't, but to me that's their problem.
[22:54:39] <richmoore2> in my experience with libraries like Qt the people who write the library aren't the people who write the apps, and i suspect that's the same here
[22:54:43] <eriknw> if python 2.8 makes python 2 more palatable for another few years, which slows down adoption of python 3, then who cares? what's the problem with that?
[22:55:52] <eriknw> I like python3, but I don't use it, because I often don't have a choice
[22:55:59] <dash> eriknw: or makes python 2 more palatable for another few years, increasing adoption of python 3... :)
[22:56:01] <regebro> eriknw: It will enable everyone to continue to complain about how no-one is using Python 3 for another few years.
[22:56:11] <richmoore2> in the case of python if the people who write the language aren't the ones wrote actually write the library (cf the comment above from someone about the standard library being where classes go to die) then maybe decoupling the two is what's needed
[22:56:26] <dash> yeah stdlibs were a good idea in the 90s
[22:56:29] <dash> but not a good idea today
[22:56:34] <eriknw> regebro, so what? it will help *users* use the language they are currently using and like
[22:56:35] <regebro> Which means we'll just have this discussion again about Python 2.9 in five years, etc, etc.
[22:56:43] <eriknw> great!
[22:56:44] <richmoore2> regebro: so?
[22:57:08] <regebro> No, I realize that for people who don't want to use Python 3 it is not a problem that nobody uses Python 3.
[22:57:23] <dash> eriknw: the flip side is that if python 2.8 isn't released
[22:57:27] <dash> eriknw: people still may not adopt python 3
[22:57:37] <eriknw> aye!
[22:57:38] <regebro> I also realize that it's going to be impossible to convince those people that moving to Python 3 is a good thing.
[22:57:44] <regebro> Hence, I'm trying to stop discussing it.
[22:57:54] <richmoore2> you're assigning desire where it's not warranted. i don't /care/ about python 3. i don't have any hatred for it
[22:58:11] <regebro> Once again: Unless Python 3 is declared a dead end, this discussion is moot.
[22:58:20] <richmoore2> it's just not offered me any advantage in my use cases yet
[22:58:25] <dstufft> Obviously the idea is that people will be forced to move to Python3 by Python2 EOLing, which is silly
[22:58:30] <dash> regebro: you've spent all day trying to stop discussing it :)
[22:58:43] <regebro> dash: I know.
[22:58:53] <richmoore2> iirc (including rereading the topic) this is the place for exactly this discussion
[22:59:03] <regebro> But everytime I try to discuss something relevant, you people side track it.
[22:59:21] <richmoore2> you start from the pov that we /should/ want to move to python3
[22:59:31] <regebro> No, I don't.
[22:59:37] <dash> regebro: this channel is big enough to accommodate different tracks ;)
[22:59:43] <richmoore2> that's how it's come across to me
[22:59:54] <regebro> I don't care if you move or not.
[23:00:45] <regebro> I care if people *in general* move or not. That's important.
[23:00:54] <richmoore2> but you're sure we're wrong? (thinking of your comments about it being impossible to convince us?)
[23:00:56] <regebro> Because Python 3 *is* better.
[23:01:20] <dash> in some ways
[23:01:22] <richmoore2> it's marginally better sure. but not worth the cost
[23:01:45] <regebro> This is not a discussion issue. It's better. Full stop. If you see it or not makes no difference.
[23:01:47] <dash> it's missing some pieces from python 2
[23:02:13] <regebro> I agree that the cost of moving from Python 2 can be large. Therefore the discussion should be of how to lower that cost.
[23:02:32] <eriknw> it's often not a personal decision. many companies have developed an extensive internal code-base using python2, and it is very difficult to compel a change that isn't required and has limited payoff
[23:02:35] <richmoore2> why? surely the discussion of if the improvement is worth it is equally valid?
[23:02:51] <regebro> richmoore2: Worth what?
[23:02:56] <richmoore2> the cost
[23:03:05] <dash> regebro: well, that's all we _can_ talk about, since the time period where we could talk about increasing the benefits is over
[23:03:13] <richmoore2> ie the cost of porting the code
[23:03:27] <regebro> If you think that the current cost sin't worth it, then it is not worth it. That's a tautology.
[23:03:46] <regebro> The issue then is to how to lower the cost until it does become worth it.
[23:04:30] <regebro> dash: No, but increasing the benefits, ie improving Python 3, is something that is discussed on Python-dev and Python-ideas already.
[23:05:01] <richmoore2> that's certainly one option. however in the interests of balance you must admit that the other option is that if the main win from python 3 is the library improvements which can and have been backported then a release that includes those improvements is a valid thing to do
[23:05:08] <dash> regebro: mmm, i thought we were agreed that the crucial benefits of python 3 were the ones resulting from breaking compatibility
[23:05:32] <eriknw> lowering the cost sufficient for quick adoption by more companies I think would require some degree of python2 compatibility
[23:05:40] <dash> richmoore2: Depends on your goals.
[23:05:50] <richmoore2> dash: definitely
[23:05:56] <regebro> dash: No, it is Python 3, because it breaks compatibility. If it didn't do that it would be called Python 2.
[23:06:17] <dash> richmoore2: I think that improving the experience of python 2.x users is a non-goal for people like regebro
[23:06:29] <regebro> eriknw: Then, in your opinion, it can't be done with 2.8.
[23:06:44] <eriknw> ?
[23:06:58] <dash> regebro: well no, you could add 2.x compat stuff to a 3.x release
[23:07:06] <regebro> dash: Right, because improving the experience of Python 2.x is what Python 3 did. So that already happened.
[23:07:30] <dash> regebro: python 2 and python 3 are different languages, so that's not the case
[23:07:31] <regebro> dash: Well, that's then not Python 2.8, which is what we are supposed to discuss here. :-)
[23:07:41] <dash> regebro: Exactly.
[23:07:43] <richmoore2> dash: i get that impression too. and i can sympathise - as one of the qt5 maintainers it's annoying to get lots of qt4 bugs. but the fact is most users use qt4 and python2 so i have to live with it
[23:08:18] <regebro> dash: That depends on your definition of "different languages".
[23:08:23] <dash> regebro: well
[23:08:29] <richmoore2> regebro: from the topic "What would it contain? What would it be like?"
[23:08:32] <dash> regebro: python 2 won't run python 3 programs
[23:08:37] <dash> regebro: python 3 won't run python 2 programs
[23:08:58] <dash> that qualifies as "different language" so far as I can tell
[23:09:05] <regebro> dash: That's not true.
[23:09:12] <dash> regebro: Oh?
[23:09:20] <regebro> Python 3 will not run *all* Python 2 programs and vice versa.
[23:09:29] <regebro> That's true for all new versions.
[23:09:33] <dash> regebro: heh
[23:10:09] <dash> richmoore2: well no
[23:10:24] <dash> richmoore2: that's what regebro is here to tell us
[23:10:30] <richmoore2> is the other bit "move to python 3?"
[23:10:34] <dash> richmoore2: but that's just today :)
[23:10:46] <regebro> richmoore2: No, it's a valid point of view.
[23:11:03] <regebro> However, discussing what should be in it is not meaningful at the moment.
[23:11:13] <regebro> Because that is not likely to happen.
[23:11:18] <regebro> For the umpteenth time.
[23:11:49] <dash> regebro: sooooo. why are you here then
[23:12:06] <richmoore2> if someone wants to have a serious discussion about how to make a better python 2 (particularly improving the libraries) then gimme a shout. for now, i'm going to step away from the computer
[23:12:11] <regebro> And should things change to it *is* likely to happen, what should be in it is pretty clear, and doesn't really need much discussion: Everything that can be backported compatibly.
[23:12:13] <dash> Anyway I believe pypy folks have expressed willingness to accept feature patches for their 2.x implementation
[23:12:29] <dash> richmoore2: a lot of days i feel like it's too late to improve python
[23:12:53] <regebro> dash: It's too late to improve Python 2, yes.
[23:13:05] <richmoore2> it really isn'
[23:13:07] <richmoore2> y
[23:13:15] <dash> regebro: No more so than Python 3.
[23:13:40] <richmoore2> this is just like egcs but in reverse
[23:13:42] <dash> regebro: There's nothing that python 3 more improveable than python 2, other than people believing it to be true
[23:13:54] <dash> er nothing that makes
[23:14:04] <regebro> richmoore2: How many times do we need to say this: Until Python 3 is declared dead, the only way to add features to Python 2 is to gfork it.
[23:14:17] <dash> regebro: so this is a trademark issue, in other words
[23:14:21] <dash> not a code issue
[23:14:24] <dash> or design issue
[23:14:36] <regebro> dash: Partly a trademakr issue, yes.
[23:14:40] <dash> what's the other part
[23:14:44] <dstufft> eh, not relly a trademark issue
[23:14:57] <regebro> dash: That the core maintainers are not interested in adding features to Python 2.x
[23:15:00] <dstufft> unless you really care that your version of Python is called Python
[23:15:01] <dash> okay
[23:15:13] <dash> richmoore2: maybe we should move to #pypy2.8 ? :)
[23:15:54] <regebro> Since they are not interested in adding features to Python 2.x, it won't happen, unless a whole bunch of other core maintainers show up that are interested and can show themselves capable.
[23:16:01] <regebro> And that will only happen if you for it.
[23:16:28] <regebro> s/for/fork
[23:16:53] <dash> mmkay
[23:17:10] <dash> well, i'm ready to use a language implementation that isn't stuck in the 80s anyway
[23:18:23] <regebro> dash: For all your complaints about Python, and explaining how much Python sucks and that nobody is doing anything about the fundamental desig issues etc, I really have no idea why you actually are here, unless you are here only because you like to complain.
[23:18:33] <regebro> It certainly is not constructive.
[23:19:13] <dstufft> regebro: probably because he uses python2 a lot, and he'd like to see a python 2.8 that solves his problems :)
[23:19:14] <regebro> "Discussing potential for a Python 2.8. What could it contain? What would it be like? How could it help moving people to Python 3? "
[23:19:24] <richmoore2> indeed
[23:19:25] <regebro> That's what I'm trying to discuss.
[23:19:40] <richmoore2> it's not coming across very well
[23:19:53] <regebro> dstufft: But if you change the fundamental design issues in Python 2, it won't be compatible.
[23:20:03] <richmoore2> anyway, i'm going to leave now. i'll be back tomorrow
[23:20:21] <regebro> richmoore2: You are trying to discuss how to not move the Python 3. I don't see that in the topic.
[23:20:28] <dstufft> heh
[23:20:38] <dstufft> regebro are you trying to troll? ;)
[23:20:47] <richmoore2> potential for a python 2.8. what could could it contain? what would it be like?
[23:21:02] <regebro> No, just getting annoyed at having to repeat myslef infinitely for the same 2.3 persons.
[23:21:13] <regebro> "How could it help moving people to Python 3?"
[23:21:35] <regebro> richmoore2: You want a Python 2.8 that helps you avoid Python 3.
[23:21:39] <richmoore2> has it occurred to you that there's the possibility that they might disagree with you and be correct (!!!both at the same time???!!!)
[23:21:43] <regebro> Let's discuss the potential for that:
[23:21:57] <richmoore2> regebro: i have better uses of my time than to talk to you.
[23:22:02] <regebro> richmoore2: Unless Python 3 is declared dead, this will not happen.
[23:22:10] <richmoore2> yes. you said. well done
[23:22:12] <regebro> So there is no current potential for that.
[23:22:22] <regebro> Right, so now we have discussed that.
[23:22:25] <regebro> What's unclear?
[23:22:27] <richmoore2> i really don't need to take your word for things
[23:22:48] <regebro> No, OK, ask the core maintainers then.
[23:23:10] <richmoore2> i'm not going to argue with you. if you want a civil conversation about it then try asking tomorrow (after removing the chip from your shoulder)
[23:23:31] <regebro> I don't have any chips on my shoulders.
[23:24:00] <regebro> I'm just annoyed of having to repeat myself, and that you and others are determined to not be constructive.
[23:24:08] <eriknw> so stop repeating yourself
[23:24:22] <eriknw> <regebro> richmoore2: You want a Python 2.8 that helps you avoid Python 3.
[23:24:28] <eriknw> the goal is not to avoid python 3!
[23:24:49] <eriknw> anyway, I'm out for now. cya
[23:25:02] <regebro> eriknw: "the goal"? His goal seems to be just that. It's also quite definitely the goal of dash.
[23:25:21] <eriknw> regebro, stop it. they didn't say that was their goal
[23:25:31] <eriknw> if you view that as a result of their wishes, then that's your interpretation
[23:25:42] <regebro> If we want the benefit of Python 3, the discussion should be how ww can make that easier.
[23:26:09] <regebro> This is what I'm trying to discuss, instead of having a meta-meta-meta discussion about it.
[23:28:08] <eriknw> what is "that"? some of the benefits of python3, or python3 itself? nevermind, I'm out
[23:28:30] <regebro> eriknw: "That" is: moving to Python 3.