[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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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
[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: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: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: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: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: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: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: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: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.