News for hackers. Stuff that matters.
Re:Mark Pilgrim Ask Me Anything on Reddit by shortlived on Wednesday January 19, 2011 @01:01PM (#2120616)
Mark says Python 3 is a commercial disaster. Would someone like to expand on this statement? I don't follow python at all and would like to know the reasons.
Re:Mark Pilgrim Ask Me Anything on Reddit by samdk on Wednesday January 19, 2011 @01:24PM (#2120705)
As other commenters have said, he meant the book was a commercial disaster. However, that's probably at least in part because Python 3 adoption has been really, really slow in general, in large part because it's backwards-incompatible and a lot of the big existing libraries still haven't been ported yet.

One of the biggest offenders is scipy, Python's very good and very widely used statistical computing library. The soon-to-be-released scipy 0.9.0 does support Python 3 [0], but Python 3 was released in 2008, so it's taken quite a while.

Another big problem has been with web applications. Python has WSGI, a standard interface for implementing webapps that allows you to use a lot of different frameworks with a lot of different servers. (Similarly to Ruby's Rack and Java's servelets.) However, the WSGI standard for Python 3 (which has to be changed because the existing specification has encoding-related issues in Python 3) has only just been finalized as PEP 3333 [1].

[0] http://projects.scipy.org/scipy/roadmap#python-3 [1] http://www.python.org/dev/peps/pep-3333/

Re:Mark Pilgrim Ask Me Anything on Reddit by MarkPilgrim on Wednesday January 19, 2011 @02:40PM (#2120952)
This is essentially everything I would have said on the subject. Python 3 is technically very good, but no one is using it, hence no commercial interest in the book. The optimist would say it was just ahead of its time. The pessimist would say Python 3 is a dead end and I backed the wrong horse. I'd say the jury is still out.
Re:Mark Pilgrim Ask Me Anything on Reddit by nuclear_eclipse on Wednesday January 19, 2011 @05:29PM (#2121528)
When you say a book "earned out", what exactly does that mean, to someone like me who has no clue about writing books and/or publishing deals?
Re:Mark Pilgrim Ask Me Anything on Reddit by telemachos on Wednesday January 19, 2011 @05:34PM (#2121547)
He discusses "earning out" on a recent post from his blog[1]:

> The book went on sale in mid-August and earned out almost immediately. “Earning out” is a publishing term which means that the book has sold enough copies that my cut of the profits has paid back the advance payments that O’Reilly gave me during the writing process. Which means that I’m already receiving royalty checks for real money.

[1]: http://diveintomark.org/archives/2011/01/09/dive-into-2010

Re:Mark Pilgrim Ask Me Anything on Reddit by kennymeyers on Wednesday January 19, 2011 @05:34PM (#2121545)
It means a book broke even with the advance given to an author, so they can start receiving royalties.
Re:Mark Pilgrim Ask Me Anything on Reddit by sigzero on Wednesday January 19, 2011 @04:58PM (#2121434)
I think we'll get there eventually.
Re:Mark Pilgrim Ask Me Anything on Reddit by trickos on Thursday January 20, 2011 @03:02AM (#2123041)
Please, do not call people writing fine free software libraries "offenders". The "offenders" are the one who decided it was fine to phase out a more than 15 years old language without any respect for its user base. From a (professional) developer point of view, Python 3 is a new language and is treated as such. I don't think Python would have seen such adoption if developers were told up-front they would have to "migrate" all their code in ten years.
Re:Mark Pilgrim Ask Me Anything on Reddit by jacobolus on Wednesday January 19, 2011 @01:13PM (#2120660)
He means the book is a commercial disaster. The programming language hasn’t been super widely adopted in practice, because crucial infrastructure code needs to migrate first. I think the process is going overall about as Python’s core contributors expected: it’s slow, but moving.
Re:Mark Pilgrim Ask Me Anything on Reddit by jimmyjim on Wednesday January 19, 2011 @01:14PM (#2120670)
Is it a better choice for someone new to both to learn Python 3 at this point or Python 2? Considering they are, in some senses, practically two different languages.
Re:Mark Pilgrim Ask Me Anything on Reddit by dagw on Wednesday January 19, 2011 @01:24PM (#2120706)
Personally I'd recommend learning 2 over 3 for the simple reason that one of pythons big selling points, for me, are some really great libraries and tools, which you won't be able to use if you use python3. That being said I'd focus on python 2.7, using the the back ported python 3 features and avoiding all the depreciated features. That way if and when you do switch to python 3 the shock will be lessened.
Re:Mark Pilgrim Ask Me Anything on Reddit by cookiecaper on Wednesday January 19, 2011 @03:29PM (#2121152)
Most of these libraries are starting to get released as Python 3. I think Arch's push of Py3 has helped move things along. A good thing to do would be to "learn both" and help some people port.
Re:Mark Pilgrim Ask Me Anything on Reddit by lightcatcher on Wednesday January 19, 2011 @11:19PM (#2122622)
Arch pushing Python 3 (or, as it calls it, just "python") definitely made me start porting Python 2 code to Python 3.
Re:Mark Pilgrim Ask Me Anything on Reddit by cookiecaper on Wednesday January 19, 2011 @03:28PM (#2121145)
At least in my experience, they are pretty similar. Most of my Python 2 knowledge works fine in Python 3. I think it's really a stretch to pretend like your knowledge from 2 would be that divergent. I'm sure "in some senses" your statement is correct, but in practice I've seen few major changes. Learning Python 2 is the same as learning Python 3 and vice-versa; there are a few significant caveats between them, but I have never felt that they were "practically two different languages".
Re:Mark Pilgrim Ask Me Anything on Reddit by code_duck on Wednesday January 19, 2011 @03:39PM (#2121192)
I was in the same boat last year, and I thought it would make sense to start out on Python 3. However, my intent was to learn Python to use Django. Django still isn't ready for that, so I'm using 2.6.

On the other hand, the text adventure game I'm writing for fun/as a learning exercise works great in Python 3, as it doesn't have any external dependencies.

Therefore, it depends if you're learning it for a specific use or just because you'd like to learn Python.

Read over http://docs.python.org/release/3.0.1/whatsnew/3.0.html for an overview on the differences. There are a few incompatible changes, but to say 2 and 3 are two different languages would be a big stretch.

Re:Mark Pilgrim Ask Me Anything on Reddit by briancurtin on Wednesday January 19, 2011 @01:15PM (#2120671)
He lost money on his book, meanwhile, Python 3 usage rose during that same period and it's still on the rise, so I would imagine (hope) he's just referring to personal commercial disaster. http://dev.pocoo.org/~gbrandl/py3pkgs.png shows a pretty consistent increase in packages (keep in mind many are still mis-classified as 2.x only), and although I don't have stats to back it up, the number Python 3 related posts on Reddit, comp.lang.python, and SO seem to have risen as well.

All I took away from his comment was that you don't always win being an early adopter, especially when it comes to writing books. Maybe that month was an anomaly? Python 3 adoption is right where we expected it to be, and with projects like NumPy/SciPy recently adding 3.x support, the floodgates are open.

Re:Mark Pilgrim Ask Me Anything on Reddit by jnoller on Wednesday January 19, 2011 @01:39PM (#2120750)
Brian is completely correct. The problem with DiP3 is that it was one of the earliest adopters. We knew that python 3 would take years (like, 3+) for widespread adoption.

Things are going according to plan.

Re:Mark Pilgrim Ask Me Anything on Reddit by MarkPilgrim on Wednesday January 19, 2011 @07:44PM (#2122006)
I didn't lose money, I just haven't received any additional royalties beyond the advance.
Re:Mark Pilgrim Ask Me Anything on Reddit by BarkMore on Wednesday January 19, 2011 @01:13PM (#2120657)
Mark Pilgrim is referring to the book Dive Into Python 3 in the quote. One reason that the book is not selling is that the adoption of Python 3 is slow. Most people are still using Python 2.x.
Re:Mark Pilgrim Ask Me Anything on Reddit by towndrunk on Wednesday January 19, 2011 @02:17PM (#2120870)
Google App Engine is only Python 2 as well. I wonder if it was moved to Python 3 we would see a faster adoption.
Re:Mark Pilgrim Ask Me Anything on Reddit by sigzero on Wednesday January 19, 2011 @05:00PM (#2121441)
Maybe...the big frameworks that don't support P3 are the larger issue me thinks.