Google Android and the CLI

Today morning I was reading about Brad AdamsGoing Google and ruminating about what he wanted to do there when several earlier articles I had read suddenly came together and I had an inspiration that I thought I’d blog.

It would by really cool if Brad and Tim Bray (who recently left Sun and joined Google Android) get together and implement the CLI on the Android OS.

Brad is one of the architects of the CLI and has been one of the main driving forces behind the development of the .NET framework and it’s adoption. He is currently looking at what he wants to do when he starts at Google. He mentioned that he thinks the cloud plus devices is one of the dominant trends of the future and I agree.

I think the Android OS is an important part of this future and currently I am frustrated that there is only Java support for developing in it. Tim shares my frustrations and he is looking at getting other languages supported in the Android OS.  He is looking at Ruby right now – it’s open source and a dynamic language and it makes sense . But I feel the CLI (which is an open ECMA specification) is a great fit for the Android OS because it can be used to as a basis to quickly support a lot of languages.  Besides as a .NET developer myself, I think that having the capability to develop Android applications in C# or IronPython is a far more palatable proposition than doing it in Java :-)

I saw this article by Miguel de Icaza where he puts out an idea to incorporate the CLI into the browser engine so that we could use languages other than Javascript in our client-side scripting (my take on that is here). It occurs to me that it should be similarly possible to bring it into the Android OS as well.  There are currently efforts to port Mono that could be used as a starting point.

So what say guys – can we get the .NET CLI in Google Android ?  Become the opposite of the Apple iPhone and embrace developers instead of driving them away :-)

7 comments on “Google Android and the CLI

  1. Pingback: Chirpir News | Google Android and the CLI « Technikhil Writing

  2. Pingback: Top Posts — WordPress.com

  3. JRuby (or any other dynamic language) on Dalvik is a major disaster, just go look at Charles Nutter’s lastest archivement. A jar with ruby’s stdlib that can’t be compiled to a dex file because it features a gazillion methods – 47Mb of class files.

    The major issue with the JVM is it’s braindead design. For example, mono’s full classlib including tools and web stack weights 26Mb uncompressed, openjdk rt.jar is 60Mb compressed.

    All this junk has to be loaded into memory and this is one of the reasons why the JVM is insanely memory hungry. That’s basicaly what the DEX format fixes. Breaking in the process all software that depends on runtime code generation like JRuby – which is a major loss for the platform.

    Not counting that the CIL has a much more rich and advanced type system. With real support for generics, valuetypes, delegates and more. Those improvements make for programs that do use less memory and are more efficient.

    HotSpot does an awesome job on servers but no one has ever managed to scale it down to small devices like smartphones.

    The CIL OTOH has been proven to be scalable to devices such as smartphones, MonoTouch is a fine example of that.

  4. @cosku There is a JIT compiler for Dalvik in Android 2.1, it is just turned off currently. Should be enabled in 2.2

    Real question is is there a stackless implementation of CLI out there? Dalvik was chosen instead of a JVM implementation because of memory concerns.

    As for other languages, I have scene Scala, Jython, and JRuby all ported to Android. Better native support is always welcomed thouh.

  5. I think I read somewhere on Icaza’s blog that mono team already works on an android port.
    I don’t know how flexible the android NDK but in theory it should be doable.

    I think that would be a very important milestone on android platform because as you already mentioned CLR and DLR can bring a lot of other languages to the platform: python, ruby, lua, c#, boo etc… and unless android team brings the JIT compiler any time soon, mono would be actually faster than the dalvik.

  6. Pingback: Tweets that mention Google new hires, Android and the CLI « Technikhil Writing -- Topsy.com

What are you thinking right now?