In a message of Sun, 22 Feb 2015 15:36:42 +0000, Dave Farrance writes: >Laura Creighton <l...@openend.se> wrote: > >>I don't understand 'an interpreter rather than a JIT'. PyPy has a >>JIT, that sort of is the whole point. > >Yes. I meant that from my end-user, non-software-engineer perspective, it >looked as though CPython was proceeding with leaps and bounds and that >PyPy remained mostly a proof-of-concept after several years.
Oh no, that was the state of the world about 8 years ago. PyPy works great, and more and more people are using it in production all the time. >But thanks for your description of the issues. So once the core issues >are sorted out, if enough people can be found to work on it, then >hopefully the library conversions will follow apace. Well, most libraries just run, of course. It's the ones that are written in C that cause most of the problems. One of the problems, from a pure Have-PyPy-Take-Over-the-World perspective is that as things were moving along quite merrily, the CPython core developers decided to invent Python 3.0. This meant that everybody on the planet, who wanted their library to work with Python 3.0 had to convert it to work there. There was, and still is, an enormous amount of resentment about this. For a lot of people, the perception was, and still is that the benefits of Python 3.x over Python 2.x was not worth breaking backwards compatibility. And there still are plenty of places whose plan is to use Python 2.7 indefinitely into the far future. I've got 15 years worth of commerical python code out there in the world, and nobody wants it converted enough to pay me to do so. Their position is that it runs quite well enough as it is. I'm sure not going to convert the stuff for fun. Practically every Python consultant on the planet is in the same boat. Things will get converted when there is a compelling business argument to do so, but not before, and for a lot of code the answer is never. Given the nature of this political problem, it is not surprising that the proponents of Python 3.0 spent a lot of effort talking about the benefits, and praising the people who converted their stuff, and making a huge effort in the public relations lines. The whole thing could have blown up in their faces, as is quite common when you decide to make the 'second version' of a language. It happened to Perl. So this creates buzz and warm feelings about Python 3.0. In contrast, on the PyPy team, there is nobody who doesn't consider public relations and marketing and 'creating the warm fuzzy feelings in the users' somewhere between 'unpleasant duty' and 'sheer torture'. The set of human skills you need to have to be good as this sort of thing is not a set that we have, either collectively or in individuals. We're much more into 'letting the code speak for itself', which, of course, it does not do. A lot of us, indeed were raised on a philosophy that it is morally wrong to try to influence people. You can give them options, and you can even explain the options that you are giving them, and you can argue with others in favour of certain options, but when it comes right down to it, everybody has to make their own decision. This is all well and virtuous, but the fact of the matter is that a large number of people aren't competant to make their own decisions, and even among those that are there exist a large number who very much don't want to do such a thing. If you are trying to get such people to adopt your software, you need to provide a completely different experience. They need to feel comfortable, and safe, and among a large community, and, well, I don't know what else they want. That is part of the problem. I am pretty sure that what they want is something that I never pay a lot of attention to. I mean I'm a charter member of the 'always-sacrifice-comfort-in-order-to-have-fun-and-interesting-times' club. And my marketing skills, such as they are, are much above average for the PyPy gang - though some members are learning a bit, slowly, through necessity. But you notice that we have only 1 blog, and things are added to it very slowly. There are people all over planet python who blog about things every week, for fun. There is no way we can compete with them. So, until some people with such skills decide to take an interest in PyPy, our marketing effort is going to limp. And I personally feel pretty bad about asking some poor soul who has just made his C extension work with 3.0 go back and do it _again_ in a more PyPy friendly way. But if Armin gets the Transactional Memory to be usable in a robust way, (as opposed to now where it is only a bit more than a proof of concept) then things could rocket off again. Because one thing we do know is that people who are completely and utterly ignorant about whether having multiple cores will improve their code still want to use a language that lets them use the multiple processors. If the TM dream of having that just happen, seemlessly (again, no promises) is proven to be true, well .... we think that the hordes will suddenly be interested in PyPy. But you never know. Lots of people were doing -complain-complain-python-is-too-slow, and wouldn't take the argument that developer time is worth more than CPU time and the like. We made them PyPy. They've stopped complaining about the speed, but they aren't using PyPy either. Seems they didn't really need the speed, after all. It is tempting to believe that they just liked complaining. So maybe the 'cannot use all my cores' complaint is fueled by other people who complain for the fun of it. Then there will be no hordes even when we crack that nut too. But it is very, very interesting and a whole lot of fun. Laura -- https://mail.python.org/mailman/listinfo/python-list