There are frameworks/toolkits out there that allow you to develop cross-platform for various mobile platforms, in various languages.
For example, Xamarin's MonoTouch is a framework that allows you to write an app in C# and then build an application for iOS or Android. It's also the only cross-platform kit I know of that allows you to share code for iOS, Android, and Windows Phone.
Corona lets you use Lua, a scripting language, but I think it supports Android and iOS only.
If you stick with being platform-specific, the main way to write apps for iOS is Objective-C, though you can also use Objective C++.
On Android, you can write applications in a JVM language like Java, but you can also alternatives like Scala or Clojure if that floats your boat. You can also go native on those respective platforms. Android, for example, provides the Native Development Kit, which allows you to write apps with native code.
For Windows Phone 7, you can use a CLR language. This primarily means C#, but you could also use a more exotic language, like F#.