[vox] Who thinks Java is cool?

Bill Broadley bill at broadley.org
Thu Jun 16 19:37:34 PDT 2011


On 06/15/2011 10:48 PM, Alex Mandel wrote:
> Android is programmed in Java but runs on a vm called Dalvik which
> apparently not exactly Java but based on it.
> http://www.dalvikvm.com/

Heh, I wouldn't say that.  Speculation on my part is that Sun had a
pretty tight hold on Java and while they started loosening things up for
the Desktop (where there was basically zero market interest) they had a
strict licensing deal on Java on cell phones, yet it was still fairly
popular in the pre-iphone world for apps/games on phones.
My speculation is that dalvik was primarily to leverage the Java
ecosystem (programmers and tools like eclipse while sidestepped this by
not running Java (meaning the JVM) on phones.  A big performance and
memory efficiency improvement was just gravy.

I wouldn't really say dalvik is based on Java.  After all it's register
based instead of stack based which is a rather basic and important
difference.

Stacks are fairly oldschool and evil.  After all I can hardly think of a
better way to decrease code density and impose serialization, especially
in these days where 4 or more functional units are common.  Stacks seem
to be one of the main reasons why the x87 is so depreciated these days.

In fact android's non-jit Dalvik compared rather well to JIT JVMs, while
being more memory efficient.  Not too surprising since much of the JITs
work is converting stack based byte codes to non-stack based registers.
 Today's android has a JIT which makes a fairly large performance
difference for a fairly minimal difference.  I wonder if somehow it's
determined that dalvik infringes on Java's intellectual property that
they will switch to parrot.

> foundation board over Sun/Oracle not being willing to certify it's
> Harmony java implementation.
> http://onlysoftwareblog.com/2010/12/apache-leaves-java-community-process/

Heh, I believe the tools to convert java code to dalvik implements a
subset of harmony.

Wes> Yeah, I've been told by lots of android developers that I need to
Wes> give eclipse a try again.

Heh, I like eclipse for browsing large codes and tinkering with the GUI
parts of code.  But for the rest I often gcc.  It's pretty easy and
straight forward to edit, compile, and test (on a emulator or real
hardware) without touching eclipse.  Android is pleasingly developer
friendly.  Symbian, WebOS, Psion, and Motorola all had promising
products that seem to have died at least partially because of not being
developer friendly and not having enough apps.  Alas, nokia was
developer friendly but refused for years to put a cellular chip in their
smartphone.

Eclipse is definitely pretty big and heavy, I'd recommend a semi recent
desktop/laptop with a fair bit of ram for any serious use.



More information about the vox mailing list