5 ms·
The choice of Java is one of the most mind-boggling things to me. There must be so many developers turned off of the platform because of it. Luckily, you can n
by mahipal 16y ago
The choice of Java is one of the most mind-boggling things to me. There must be so many developers turned off of the platform because of it.
Luckily, you can now distribute Python scripts as APKs (http://code.google.com/p/android-scripting/wiki/SharingScripts#Scripts_as_APK http://code.google.com/p/android-scripting/wiki/SharingScrip...).
- jonknee 16y agoWhat would you have chosen? Java is popular, featureful (have fun allocating memory with objective-c while working on iOS apps!) and fast. I'd bet that it got more people interested than turned off.
- tjstankus 16y agoJava is popular in the broad sense, but it doesn't seem to be very popular with the developers I know that are creating and interested in creating mobile apps.
- jonknee 16y agoIs that because they are iPhone users or because Objective-C is a better language for mobile development?
- woadwarrior01 16y agoProbably a combination of iPhone's traction and the general negative sentiment towards Java. I personally feel Objective-C is a good fit for mobile development, because its so easy to drop down to C at any time. And I'm sure I'm not the only one who thinks its conceptually simpler than Java (The Obj-C all just C structs and functions under the hood).
- tjstankus 16y agoI think it's general sentiment against Java, the language. Many I know, including me, have been there and don't want to go back. At the same time the JVM is a pretty interesting space for language runtime.
- falien 16y agoEven if its not well liked in the most tech forward circles that may be the most desirable audience for google, there should at least be familiarity with it. And I don't know about you but I can't think of any even halfway decent and plausible alternative google could have chosen.
- technomancy 16y ago> Java is popular, featureful (have fun allocating memory with objective-c while working on iOS apps!) and fast. More importantly, it's the most popular VM to target for new language implementations. You can use Rhino, Python, Lua, Scala, Scheme, Clojure, Fantom, Frink, and others on it.
- jacoblyles 16y agoWith a substantial speed penalty on Dalvik.
- technomancy 16y agoTrue in cases where code relies on Hotspot's server JIT and GC, but the fidelity of the JVM->Dalvik bytecode conversion is remarkable.
- orangecat 16y agoJava isn't ideal, but I much prefer it to ObjC. You can also "in theory" use any language that compiles to the JVM, like Scala: http://www.assembla.com/wiki/show/scala-ide/Developing_for_Android http://www.assembla.com/wiki/show/scala-ide/Developing_for_A... Thanks for the Python APK link, last time I checked you couldn't deploy standalone Python apps but now I can play with it.
- bitsai 16y agoIt's also possible to use Clojure on Android: http://riddell.us/ClojureAndAndroidWithEmacsOnUbuntu.html http://riddell.us/ClojureAndAndroidWithEmacsOnUbuntu.html ... although the impression I get from the stuff I've been reading is that there's a 3-4 second delay when starting up an app written in Clojure. There were hopes that Froyo will help in this regard, but I haven't been able to find any reports on that yet. My Nexus One should be arriving this week, so I guess I'll be finding out soon :)
- lzw 16y agoI submit that if you take the time to learn Objective-C you'll feel quite differently. I've learned many languages in my years, while neither Java nor Objective-C is my favorite language right now (erlang is, though I haven't used it for awhile) they both were at different points in my life. I hated Objective-C for the first week or two, then came to understand it, and saw how it was so much better than Java. Of course, Java means both the language syntax and the frameworks, and half of what makes Objective-C so great is the frameworks. Don't let syntax hang you up... you have to get over the syntax hassle to really understand a language. If you want "bad" syntax, look at erlang. That was tough, I had to force myself to learn it, but once I did, the syntax became a non-issue. Objective-C has every advantage Java does, but the converse is not the case.
- orangecat 16y agoI submit that if you take the time to learn Objective-C you'll feel quite differently. I've used ObjC for many years and released several Cocoa apps. The syntax isn't the problem; I actually rather like the brackets. Objective-C has every advantage Java does, but the converse is not the case. No garbage collection (on iOS at least), inherently unsafe, primitive types requiring silly [NSNumber numberWithInt:x] contortions, header files, no namespaces...
- amackera 16y agoGarbage collection, (now) JIT compilation, combined with Dalvik, plus lots of developers know the syntax. Not to mention you can use native code with the NDK. Java was a good choice in my opinion. I've done enough development for Android to love it, hate it, then love it all over again.