I was pretty interested in the contest until I read the T&C and learned that all submissions had to be written in Java. I think that shows a lack of imagination on Google's part. A lot of cool applications could have been made by people using other JVM-targeting languages (JRuby, Jython, Scala, Cal, Javascript, etc.). I was thinking of using it as a Scala-learning exercise myself. Ah, well...
I'm sure it would be sufficient to submit Java code. They wouldn't necessarily be able to tell whether it was source or object code.
The late, great Ken Anderson faced this problem when he was working at BBN and the client (the government) insisted the app be written in Java. He and Tim Hickey and Peter Norvig wrote JScheme-- you program in Scheme, but get Java out at the end:
The only potential problem is Android has funky XML config files for layout, string values, etc which are dynamically linked to the code through the R class. Handling all that could be non-trivial. But such a project could be a cool entrant in it self and I'm sure would make a lot more people willing to try Android.
Not really. Android's VM has Java semantics and should be able to run any Java bytecode, including JRuby, Jython, Rhino, etc.
The contest requirement to use Java may just be an oversight on Google's part. JVM-based dynamic languages may not execute very fast on a phone, though.
Yeah, there does seem to be some confusion on that point. The Terms and Conditions say that it has to be written in Java, but the FAQ just says that it "should" be written in Java. Hopefully they'll change it...
Exactly. And I'd wonder if some sort of direct Scala -> Dalvik compilation could work around some of the crufty bits of Scala (like its lack of proper tail recursion) and of Android (like all of the performance tuning suggestions in the SDK documentation).
true - although I think if people are put off a mobile platform cause of the initial incarnation of a programming language for it, then perhaps they aren't really that interested in the apps (only in the tech).
I don't think that's quite I'm saying. I'm not put off by the platform because of the initial incarnation of the language I still want an Android phone and expect to write programs for it at some point. Instead, I'm saying that I'm put off by the contest because of the rules - which is something different.
Ah ok. I am waiting until I can actually get an android phone before I would try. As fun as emulators are, there really is no substitute when its all about the user experience (ie how your app works when you are hurrying to catch a train or something - I have an iphone and I have to say its not too bad in that regard so far).