Toast Driven

← Back to April 8, 2008

The AppEngine That Google Built...

So many Pythonistas, and to some extent the rest of the programming community, are abuzz today with Google's launch of AppEngine. For those hiding out under a rock, Google's AppEngine basically lets you turn Google into your hosting environment. You get access to exclusive Google tech, like BigTable, GFS, a mini-slice of Google's server farm (so your site stays up under load) and what sounds to be pretty easy deployment. This is big news in Python-land because the only runtime available to developers is Python. It even comes with Django (version 0.96.1) that has some modified API code to work with BigTable and its ilk.

Others, like Mr. Bennett or people who got into the limited 10,000 developer beta have better things to say about implementation and overall experience. Since I am not one of the lucky few (onto the waiting list I go), I thought I'd address a different topic I haven't seen covered yet: how this will affect the Python community.

This may be a major turning point for Python, which may be a good or bad thing. Traditionally, Python hasn't seen widespread business use. It's gained steadily over the years but it's never really had the huge buzz other technologies have had, like Java in the 90's and Rails has in the last few years. As such, most people you find in the Python community are there because they're enthusiasts of one sort or another.

The enthusiasts I'm talking about found the language on their own time, learned it on their own time and likely care about Python for the benefits it provides. I have stuck with Python for a long time (and keep coming back to it) simply because its syntax is a joy, I always find the code to be more maintainable and its lightweight yet powerful. Python has yet to have landed me a position in corporate America, but it doesn't matter because that's not why I've chosen to use it.

But herein lies the risk to the Python community. Anytime Google launches a new product, a whole bunch of companies sit bolt upright and pledge eternal allegiance to whatever the new product-du-jour is, then send all of their developers to go figure it out as fast as possible so they too can issue press releases and feed off the buzz. These developers are likely not Python people and, like anyone used to a language and trying to use a new one, will attempt to use their comfortable idioms in the new language. They also tend to fail helplessly for a little while (I know, I've done it) and write demanding e-mails to users lists for attention stating they will END THE INTARNETS AS YOU KNOW THEM IF YOU DON'T EXPLAIN A LIST COMPREHENSION TO ME (which I have not and will never do. How rude and insulting.)

There is real risk of dilution of culture. Evidence can be found everywhere, but it's easiest to point to what happened to the Ruby community when Rails got popular (because it's in recent memory). All of a sudden, what was a bright, passionate community is flooded by new people who don't care and just want to make their buzzword-bingo boss happy by finishing this damn code and going home. The backlash in the Ruby community can still be felt/heard to this day from people like Gregory Brown, _why the Lucky Stiff and others.

All of this is not to say I don't welcome new people to the Python community. I've actively helped several people within the last two weeks learn Python and have tutored/lectured at people about Django before. But these have been people who care, people seeking out new ways to do things and latching on to Python/Django as an enthusiast. In my mind, there's very little dilution of culture when this kind of person enters the community.

I appreciate the technology Google has poured into this and I think it has big potential in the future. And perhaps I am simply being alarmist about the potential effects this announcement could have on Python's future. I would love to be wrong and would hate to see what might happen if I'm right.

Toast Driven