Python versus Groovy in Google App Engine
Really struggling at the moment to make a choice between whether to go with Java or Python in the GAE. Either seem like a pretty solid choice from the reading I’ve done, and I’m comfortable with but not deeply skilled in either language. My great fear is (being distractable and all) is that I will start to implement a project in one, and then realise I really should have been working with the other.
I guess it’s pros and cons time:
Python – Pros
- Been around longer on GAE, should be more stable.
- GAE has some of the Django framework code already preloaded.
Python – Cons
- No support for python modules that make use of C extensions. Primary point of pain here is the Python Imaging Library (or PIL).
- Reading seems to indicate that Django is far superior to internal webapp implementation, problem is all tutorials for django + GAE are getting old and the example appspot.com sites are not working. (Update: This is because people have moved on to using app-engine-patch which brings django 1.x support to GAE very simply.)
Groovy / Java – Pros
- Whilst not implemented at the moment, a future stable release of GRAILS will work on appengine.
- Currently available and working examples of groovy code (and even GRAILS) on google appengine
- Some useful and current information out there available now
Groovy / Java – Cons
- A world spoiled for choice, can often take a lot of research to choose from one technology from another. Groovy vs Scala being a good case in point.
If you haven’t worked it out, the list above is definitely a work in progress and I’d welcome any feedback to help flesh it out a bit more. At this stage, I’m going down the Groovy / GRAILS path, so I’ll feed back some more into this once I’ve made some progress.
Update (2009-05-29):
Since writing this, I decided to go with Python on AppEngine and I’m very glad I did. I’m sure Java is very nice, but my experience coding in Python has been great. Since discovering app-engine-patch it’s been absolutely awesome and I really can’t say enough nice things about django. Highly recommend checking that out.

