Hacker News new | past | comments | ask | show | jobs | submit login
Other Android Languages (tbray.org)
62 points by fogus on July 29, 2010 | hide | past | favorite | 19 comments



I would like to use Objective-c so I can leverage most of the iPhone code and libraries I have. I know it's looked down upon but I have become productive in objective-c.


The problem is not Objective C but the classes that compose the iOS framework.

Perhaps the GNUStep people could help porting some (or you could help them).


An interesting twist to this, although technically not what he stated were the objectives, are tools like Phonegap and Titanium: you write HTML and JS that gets wrapped up in webkit and it works like a "real" Android (and iPhone) app. But as I said, nowhere near as low level as he wanted.

There is also a Ruby-based project but I can't remember its name.


The ruby based project would most likely be Rhomobile Rhodes.


Yes, that's it. Thanks.


Hecl runs ok on Android, although he talks about Python and Ruby, so that excludes us. Oh well...


Yes the article is a bit blinkered especially when Perl, Lua, BeanShell, JavaScript, Tcl, and shell are already available options on Android (along with Python & JRuby): http://code.google.com/p/android-scripting/


He talks about this specifically.

"JRuby also appears in Scripting Layer for Android (SL4A), formerly the Android Scripting Environment, of which more later."

"But maybe we’re barking up the wrong tree; both Python and Ruby are written in C and run well on Linux boxes, which is what Android devices are. In fact CPython has already been ported to Android as part of SL4A; I can’t imagine that Ruby would be that much harder. Also, I’m confident that they’d start up quickly and run acceptably fast."

"SL4A · Whatever the right answer is, some of the work done in what we used to call the Android Scripting Environment will surely go into it. They’re not trying to solve the same problem I am; they want to empower people to knock off little scripts right there on the phone; which is interesting, but I want to write big substantial Android apps using the nice tools on my computer with effortless built-in access to all those nice Android APIs. ¶

But they’ve cracked some very nontrivial porting nuts and figured out one instructive way to expose Android’s APIs to whatever programming language comes along."


Yes thats why I put Python & JRuby in brackets. But there was no mention about any of the other languages already working on Android as part of the SL4A.


I wonder why Google chose Java in the first place, instead of a Python runtime...


Wasn't Android developed by another company that was then later acquired by Google?

http://www.businessweek.com/technology/content/aug2005/tc200...

At the time, most mobile phone dev was done in Java (and probably still is today). It seems natural to want to leverage those developers for the new OS rather than have them learn a whole new skillset.


duh. you're right; I forgot about that.

impressive then that in such a short period of time, Infinite Loop got so many people to develop in an "obscure" language/SDK.


Not to mention that the number of developers whom can create in Java vastly outnumbers those in Python.


Does python runtime have a native interface like JNI?

Android was quickly leveraging a lot of C and C++ code to get the system up and running. Using Java's JNI may have helped bootstrap that process faster.


Yes, you can interface with C/C++. http://www.swig.org/

Not only that, you can also extend Python with C/C++ - http://docs.python.org/release/2.5.2/ext/intro.html


I'd love to use Javascript to code for Android.


You can already do this using Rhino, but it isn't a huge win without idiomatic library wrappers that make the Android Java APIs a little less Java-ish.


And, hopefully, a little less c-ish at the same time.


I've gotten scala to work on the simulator and on a nexus one. It was an enormously painful process, with many sets of contradictory and outdated walkthroughs on the net and clearly very little people actually getting this to work.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: