On 04:16 am, guido@python.org wrote:
I hear some folks are considering advertising 3.0 as experimental or not ready for serious use yet.
With all due respect, for me, "library support" and "serious use" are synonymous. When prompted I would say that 2.5 is probably the version that a new Python user should use. It's what's already installed on their Mac or their Ubuntu box, and it's easiest to get libraries for. I've already said in my other note why I think the python website should say the same. Speaking of respect, out of respect for all of you folks I have refrained from shouting this opinion from the rooftops. I have avoided blogging about it, I've kept all my public feedback on this list, and I plan to continue saying nothing (elsewhere) until I have something nice to say. (The occasional snide comment on IRC notwithstanding.) That doesn't mean I'm going to tell people who have real problems to solve to mess around trying out 3.0, just to see if it has the library support that they need, when I already know that it doesn't. Sorry, but community spirit only goes so far: when people ask for my recommendation, I'm going to tell the truth. For example, I recently helped my sister do some work that involved running a Fourier transform over a large amount of data. Doing this with python 2.5 took only a few minutes (numpy apparently preinstalled on leopard!); much faster than trying to debug the obscure errors she was getting out of Fortran. Doing it with Python 3.0 would have been an exercise in frustration (no numpy yet at all), and even 2.6 would have been a pain (download, compile, install, get numpy, compile, install, etc etc). If python 3.0 had for some reason *been* the preinstalled version, we would have needed to download 2.6 or 2.5. For this reason I don't want to encourage the upstream, in this case Apple, to consider 3.0 "ready" yet either. 2.x is still a necessity, even if they want to start shipping 3.0 soon. In my experience this is an entirely typical usage of Python. I know very few people who have learned the language for its own sake (and in fact, the two I can think of right now have long since switched to Haskell); it's almost always for this or that library. In the cases where it is for the language itself, the conversation almost always begins, "Hey, I've been thinking about learning Python. Can it do $TASK?". If the answer is (as it often is) "Sure, just use Py$TASK" then they're immediately sold. If not, "learn python" remains one of their never-done back-burner projects like "clean out the garage". Even in my own case, I learned Python because it was easier to write GTK+ programs in than C; Java's GUI libraries having been demonstrated deficient, I wanted something better. The networking stuff was a side- effect. Given that this is my typical experience of Python introductions (of which I have done quite a few), until a majority of Py$TASK for $TASKs that I'm interested in have been ported to py3, then even in the abstract, py3 remains "experimental" and "not ready for serious use". That's not the same thing as "bad":
IMO it's as solid as 2.6. (2.6.1 being more solid, of course, as will be 3.0.1).
I have not heard anyone saying that 3.0 is flaky, broken, or "beta". I certainly haven't said that, or even thought it. Library support is _the_ problem.
Especially from the education front I've heard a lot of positive noises about 3.0. See e.g. an early review, posted 8 months ago: http://www.comp.leeds.ac.uk/nde/papers/teachpy3.html.
To be fair, if someone asked me specifically about educating non- programmer adults about programming, I would probably at least *mention* py3, if not recommend it outright. The improved consistency is worth a lot in an educational setting. (But, if one is educating children and interested in soliciting their genuine enthusiasm, whiz-bang graphics are really a must-have, not a negotiable extra.) Note, however, that even this paper specifically mentions several libraries which must be available, or they will have to "abandon these examples entirely or (reluctantly) delay adoption of version 3.0". I hope for Mr. Efford's sake that these libraries will all become available shortly. They have all taken steps to produce 3.0-compatible versions. However, none are available today, making it still a difficult choice to use 3 rather than 2.