Channels ▼

Eric Bruno

Dr. Dobb's Bloggers

Google - Doing No Harm?

July 07, 2009

Google may claim to do no harm, but they sure are being disruptive. I suppose that's generally a good thing. Certainly, most of their disruption has been aimed at industry giants like Microsoft, and even Apple to some extent. Google's cloud-based applications and Android mobile platform compete with both, respectively.

But what about Sun and Java? As I've written in the past, Android contains a non-compliant Java-like VM called the Dalvik VM (http://en.wikipedia.org/wiki/Dalvik_virtual_machine). I say it's non-compliant because they've neither licensed the rights from Sun to do this, nor has it been certified as compliant via the Sun Java Test Compatibility Kit (TCK) - http://java.sun.com/developer/technicalArticles/JCPtools.

But as a developer, do you care? Sun's claim is that it matters to you because if the Java platform gets fragmented (with different implementations behaving differently), it destroys a great deal of the value of Java's write-once-run-anywhere claim. Requiring Java implementations to past a comprehensive test suite and be certified ensures fragmentation will not occur, and is Sun's right anyway since they own the Java platform.

Clearly, Google is showing that they feel this requirement isn't important, and so far I haven't heard of any Java developers complaining about Android's VM. But exactly how well-adopted is Android at the moment? I haven't seen recent numbers, but I don't think there is a large-enough number of Android devices in the market to make it an issue yet.

However, Google just announced details on the forthcoming Google Chrome OS (http://googleblog.blogspot.com/2009/07/introducing-google-chrome-os.html). This mainly targets netbooks and people who spend most of their time on the web, whereas Android targets mobile devices. Google is currently shooting for the second half of 2010 for launch, with x86 and ARM support. 

Although I haven't read anything official yet, I would suppose that Google intends the Chrome OS to not only run Ajax (JavaScript) applications, but Java applications as well. It's not a huge leap to infer that they will achieve this with the same Dalvik VM that they use in Android. If so, this would greatly increase the number of deployed Dalvik VMs in the market across both Android and Chrome running on mobile, embedded, and portable devices of all kinds. On one hand, this has the potential to fragment the Java platform in general, but from Google's point of view, it's a unified Java strategy across all computers running any flavor of Google's platform. 

This is all very interesting because Google has said all along that they're not building an OS, or an office suite like MS Office, and so on. However, the releases of Android, Chrome, and their cloud-based applications seem to contradict this on the surface. This may not be a contradiction because what Google is really building is an entire computing platform. This platform isn't just an OS or an application, it's a computing platform designed to run on the web, on mobile devices, and other portable devices like laptops. In essence, what Google is saying is that all applications, even those that run on mobile devices, are going to move to the cloud. And Google owns cloud.

Going back to fragmentation of the Java platform, it will be interesting to see if Sun and Google work things out to make Dalvik a compliant, certified, Java VM. If this doesn't happen, however, do you think Java developers will care that Dalvik isn't compliant? Write back and share your views.

Happy coding!

-EJB 

Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 


Video