I do game programming for Android, and use Scala for my server infrastructure. I'd like to use Scala for the Android device as well, but haven't even tried because I'm concerned about garbage collection. You see, I can't even use Java iterators in areas that are called on every frame on the Android device, because those create little object instances that will trigger garbage collection. So I have to write for loops. There are all kinds of things I need to do in an action game in Java on Android to carefully pre-allocate my memory and not trigger garbage collection.<p>When I look at the code that Scala produces, it's spinning off little instances of auto-generated classes all over the place to work the magic that it works. You can't breathe in Scala without it generating a few anonymous classes and instantiating them. All that is fine for an app where the device is idle between UI events (a "normal" app), but how does it fly in a game? I can see and "feel" a noticeable glitch when my machine GC's, and I need to avoid that pretty much at all costs. How in the world do you avoid that with Scala in an action game? So far I've been assuming that you pretty much don't avoid it, so I haven't bothered trying to use Scala for my games on Android.