Nifty, though having used both languages I don't know why you would want to use Java instead of Objective-C. Plus it's not the language that matters most, it's the Cocoa libraries, which you'll still need to use anyway (I suppose that could be an argument for using whatever language you're comfortable with, but I feel Objective-C is particularly well suited for Cocoa)
It seems a little ridiculous to convert Java source code to Java bytecode to XML, then use XSLT to convert to Objective-C source code, but I guess if it works...
Also, there's a few inaccuracies:
a) Apple isn't just planning on adding garbage collection to Objective-C, Objective-C 2.0 already has it (though it's not available on iPhone, for whatever reason)
b) He says it's a downside that there's no strong compile time type checking, but really the warnings the compiler gives you that your class hierarchy doesn't implement a selector are pretty much equivalent to the Java compiler telling you it can't find a method. Just enable -Werror if you want to treat warnings as errors.
Agreed. But still, the research sounds pretty interesting, as it brings more possiblities for porting applications between different platforms. With this XMLVM I can imagine a unnified meta platform which allows to run same piece of code on a number of different platforms by "cross-compiling on run-time (somewhat like Inferno does probably).
"Nifty, though having used both languages I don't know why you would want to use Java instead of Objective-C."
One big benefit of using Java is for people like me, who don't own a Mac, and can't develop using the Cocoa platform. Once I get my hands on a Mac, it probably will make more sense to use the native platform, but until then...
I couldn't tell from the presentation whether some sort of JVM is required to be installed on the iPhone. It doesn't sound like it if the code is finally converted into Objective-C, but I remember seeing some installation instructions when I visited iphone4java.com...
Or is this an entirely different project?
It wasn't really clear from the talk, do they abstract away the Cocoa APIs so you're writing standard Java library calls, or is it just a language bridge where you still write to the Cocoa APIs using Java? If it's the latter, then there's really no cross platform advantage.
It seems a little ridiculous to convert Java source code to Java bytecode to XML, then use XSLT to convert to Objective-C source code, but I guess if it works...
Also, there's a few inaccuracies:
a) Apple isn't just planning on adding garbage collection to Objective-C, Objective-C 2.0 already has it (though it's not available on iPhone, for whatever reason)
b) He says it's a downside that there's no strong compile time type checking, but really the warnings the compiler gives you that your class hierarchy doesn't implement a selector are pretty much equivalent to the Java compiler telling you it can't find a method. Just enable -Werror if you want to treat warnings as errors.