Let me support C # and especially XNA support.
With Mono (including paid libraries like MonoTouch and MonoDroid) you can get C # to work pretty much anywhere ( for example ). C # is definitely fast enough for game development. And the working time is very stable. It can work in a browser through Silverlight.
In my opinion, C # is superior to Java as a language, especially for game development, and especially considering the support of tools and libraries - especially XNA.
XNA is a game development library (similar to DirectX in the field), as well as many libraries built for XNA. In addition, the best sample code library is available today.
XNA runs initially on Windows, Xbox 360, Windows Phone 7, and (an older version) on Zune.
On PC, C # and XNA require runtime. The Microsoft ClickOnce installer makes this very easy. This gives your user a bootstrap setup, which then downloads and sets Microsoft's runtime as needed. The .NET 4.0 client profile is 41 MB, and XNA 4.0 is 7 MB. This answer contains more details .
In addition, there are projects that port XNA (2D API only) for other platforms. I am currently funding a project called ExEn to implement a high-quality implementation of 2D XNA in a browser (Silverlight), iOS, Android, and Mac.
If you cannot wait for ExEn, you can try some of the libraries on which it is based - SilverSprite (Silverlight) and XnaTouch (iOS). SilverSprite is pretty buggy, XnaTouch is a little better.
(At the moment, if you want to make a 3D game on these platforms, Unity is probably the best option.)