Hacker News new | past | comments | ask | show | jobs | submit login
Mark Pilgrim Ask Me Anything on Reddit (reddit.com)
100 points by thamer on Jan 19, 2011 | hide | past | favorite | 29 comments



Somewhat off-topic, but related:

Zed, I wish you were more polite. I bought that the Rails Ghetto thing was an act, but now I'm not so sure. The Mark Pilgrim post was a big turn off.

I wonder how much more of a positive impact you would've made if you had refrained from flaming Mark and just written LPTHW.

You have a lot of valuable insight, and you do great work, that could be distributed a lot more effectively by simply being less offensive.


As someone new to Python (at the time), I think he did aspiring programmers a great service by telling them to stay the hell away from DiP.

When you're new to something, and it seems insurmountably difficult, you are faced with the question of whether you are awful at something, or if the teacher - for the sake of politeness - didn't do a good job.

Feelings may have been hurt, but he's prevented some, if not a lot, of people from being scared away from Python and programming.

His style serves a purpose, and it lets him cut the bullshit and reach out to people.

The people who wanted to learn programming and Python were the recipients of Zed's soapbox speech, not Mark Pilgrim.

LPtHW was created in the context, and the story of that context was laid out.


I don't understand why it was neccessary to be an asshole though. It's not like Mark went around pitching his book to beginners. The jacket description is pretty clear about who it's aimed at.


People can't be direct and civil? That's too bad.


I don't really care for Zed's style either, but his Debian rant was a real eye-opener. Not only was it full of the same old vitriol, but it also contained things that were just plain not true, which crosses a line in my book. I wonder if he does that, on purpose or not, in his other writings?


I mostly agree, but given where it was posted (oppugn.us, a site for "rants"), I would cut some slack. If it was posted on Zed's "real" blog, Shedding Bikes, then I would agree with you completely.


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.


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/


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.


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?


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


It means a book broke even with the advance given to an author, so they can start receiving royalties.


I think we'll get there eventually.


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.


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.


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.


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.


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.


Arch pushing Python 3 (or, as it calls it, just "python") definitely made me start porting Python 2 code to Python 3.


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".


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.


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.


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.


I didn't lose money, I just haven't received any additional royalties beyond the advance.


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.


Google App Engine is only Python 2 as well. I wonder if it was moved to Python 3 we would see a faster adoption.


Maybe...the big frameworks that don't support P3 are the larger issue me thinks.


http://www.reddit.com/r/IAmA/comments/f545e/i_am_a_fourtime_...

'I stand by my prediction that, by the end of 2015, Apple will not sell any computing devices with root access available.

'Here's what it will sound like: "iOS has been a runaway success. With 1 million apps now available in the App Store, blah blah blah. We've heard from countless people that their iPad is now their primary computer. And we've heard from developers that they use their iPad for everything except... developing iPad applications! ... Introducing XCode for iOS. With a bluetooth keyboard and mouse, you can now write AND TEST your apps directly on your own iPad. It's free, and it's available right now in the new Developers sections of the iOS App Store."'

You can write an entire Mac application and run it without having root access. In fact you can write an iPad web app inside the ECMAScript sandbox now. For more http://answers.oreilly.com/topic/1285-ipad-friendly-browser-...

I'm an embedded guy, but it seems like most of Hacker News's readers are just the kind of very-high-level-language (and framework) people who could bring a Commodore 64-style safe intro to computing environment to MobileSafari and Chrome OS. If you want (your kids) to go further like PEEK and POKE let you do on Ataris and Commodores, you can go native and do crazy things like extend the WebView like PhoneGap does.

Remember: you don't need Apple's permission to do perverse things to the JavaScript interpreter. You can even run interpreters on that interpreter.





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: