What is Google's language of choice for backend development on their webapps? For the longest time I have thought it was Python. Is there a definitive source on this?
They did introduce the app engine, which is powered by a modified Django framework. However, being the massive company that they are, it's possible that they are building on several technologies at the same time. Check out GWT. This is in addition to their JavaScript/SVG/VML work with Google Maps, etc.
Java is the no 1 language at google, followed by python. http://java.sun.com/developer/technicalArticles/J2SE/google/limoore.html
From Steve Yegge's blog:
Q: Is it allowed at Google to use Lisp and other languages?
No. No, it's not OK. At Google you can use C++, Java, Python, JavaScript... I actually found a legal loophole and used server-side JavaScript for a project. Or some of our proprietary internal languages.
That's for production stuff. That's for stuff that armies of people are going to have to maintain. It has to be high-availability, etc. I actually wrote a long blog about this that I'll point you to that actually... Like, I actually came around to their way of seeing it. I did. Painful as it was. But they're right
Guido van Rossum, the creator of Python works there and spends half his time working on Python, so they have a vested interest in that.
There is a set of acceptable-for-production languages we use that Steve mentions a subset of above.
Some infrastructure is better supported in one language than another, so that can influence what you use, as can (arguably) performance.
Much of your choice of language is of course based on what the rest of your project uses! But the big 4 are the ones Steve mentions above, with applicability pretty much where you'd think: C++ & Java for server code, Python for scripting, and Javascript for front-end.
The Google App Engine (GAE) is programable in Python. In fact the developer of Python works for them. They may support other languages but not yet. Among the libraries they provide on GAE they include many standard libraries and some non-standard. They also provide the Django Template Language. This is not the same as the "app engine is powered by Django". In fact the Django ORM does not work on GAE and, therefore the Django Database administrative interface does not work there either. Django applications do not work on GAE without major modifications and vice versa. (for the average reader, this is not a critique of Django which is an excellent framework, just a clarification of a common misconception).
You can upload other Python modules on GAE and therefore you can upload many other template languages but you still have to use the GAE API to talk to the Google datastore.
web2py is the only Python framework that runs on GAE integrally because the the web2py Database Abstraction Layer has been ported to the GAE (it also works with MySQL, PostgreSQL, MSSQL, FireBird, Oracle and SQLite). This means you code once and you can run on your PC, on Google, on the iPhone, etc.
http://highscalability.com/google-architecture has some interesting information, although more focused on the architecture. They don't mention what the primary language is but they do say:
Python, Java, C++