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.

Leave a Reply