Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!gegeweb.org!de-l.enfer-du-nord.net!feeder1.enfer-du-nord.net!feeder.news-service.com!feeder1.cambriumusenet.nl!feed.tweaknews.nl!195.96.0.7.MISMATCH!newsfeed.utanet.at!newscore.univie.ac.at!aconews-feed.univie.ac.at!aconews.univie.ac.at!not-for-mail Newsgroups: comp.lang.java.programmer From: Andreas Leitgeb Subject: Re: Android?Why Dalvik? References: Reply-To: avl@logic.at User-Agent: slrn/pre0.9.9-111 (Linux) Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: Date: 31 May 2011 22:03:40 GMT Lines: 40 NNTP-Posting-Host: gamma.logic.tuwien.ac.at X-Trace: 1306879420 tunews.univie.ac.at 60386 128.130.175.3 X-Complaints-To: abuse@tuwien.ac.at Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:4824 Steve Sobol wrote: > In article , Lawrence D'Oliveiro says... >> In message , Steve Sobol wrote: >> > The maintainer of the virtual machine has to worry about the OS- and >> > architecture-specific stuff. You don't. >> In other words, Java code cannot be ported to a platform until the Java >> system itself has been ported. And what is the Java system written in? > C/C++. If I'm not mistaken. :) The question is not, what the JVM is written in, but *who* does the porting work to a particular new platform. If you've just designed a new microprocessor and need to get a specific program to run on it, then chances are high, that porting a small C-program to the new platform's peculiarities will be easier, than to port the whole JVM to it (and have the program written in Java). Oh, and you'd probably need a C-compiler ported to it anyway, so I wasn't mentioning it for the comparison. If, on the other hand, all of the interesting platforms already have a Java on it (ported by someone else) then doing the program in Java could well be the better choice. My impression is, that Android typically runs on hw-platforms - with a relatively small screen (both: physically and pixels) and no normal keyboard. (Even though you could pair it with a bluetooth keyboard, you wouldn't have one with you, most of the time.) - with a multi-touch-sensitive touch-screen, that can deal with two (or more) fingers touching it at the same time and with varying pressure. - which don't know the concept of "hovering" above a gadget (for tooltips) or alternative-button clicks (for context menus) Whereas Java (J2SE) would typically run on hw-platforms that would be characterized by logically inverting each of the items above. Any *GUI* app, that might conceivably run on both types of platforms, would either be really two-separate-apps-in-one, or suck terribly on at least one of these platforms.