Crossplatform Mobile Programming Languages

Mobile operating systems myopically prefer a different programming language environment (Android - Java, Blackberry - Ruby, iOS - Objective C, Windows - C#). Fortunately, there are a few developer tools for writing crossplatform mobile applications all in a single programming language:
 * C
 * C++
 * lua