Java portion of Android ported to C#

May 1, 2012

Here's yet another Android project that leaves the question of "why" hanging while retorting with a resounding "why not?" A team of independent developers have created version of Android's Java codebase that can run entirely in the older C# programming language, with no Java to be seen. At this point it's more of a computer science exercise than anything else, but if certain megacorps get their way, it could be a viable alternative to standard Android.

This feat was accomplished by using a tool called Sharpen to translate Java code to c#. The net result is that you can use pure Android code on a machine running the team's Mono virtual machine, and get the software to boot and run without any Java at all. Under the right conditions, the Mono virtual machine can far outpace Android's default VM, Dalvik. The team calls their project XobotOS, and it's available on GitHub.

Despite the obvious plus of not having to deal with Oracle's Java patents, developers could code new apps and other software directly in C# for XobotOS. It's not anywhere near being included on mobile hardware (retail or otherwise) yet, but the project shows promise. Oh, and if you're a computer science major looking for a job, they're hiring.

[via Slashdot]

Recent Stories

  • storm14k

    C# is not older than Java. It is the result of Suns lawsuit against Microsoft. Thos language is controlled by Microsoft. It isn’t going anywhere.

    • bitflung

      i was gonna post the same observation – i find it odd that anyone would perceive c# to be older than java… it’s like calling american english older than british english. 

  • TheBlackCat

    Wait, so in order to avoid dealing with oracle’s patents, you instead want to deal with Microsoft’s?  How is that an improvement?

    • lolhipster

      MSFT has submitted the C# and DLR specs to Ecma. Add their Community Promise, and I think MSFT seems a lot less dangerous than Oracle. 

      • TheBlackCat

        There are patented technology in Mono not covered by the Community Promise and not part of any standard.  Google is currently being sued in part for very small amounts of code, most not actually shipped with Android, that was removed once it was found to be copied.  So removing patented portions once litigation begins would not necessarily help.

        Also recall that Dalvik is a non-conforming superset/subset of Java designed specifically for mobile phones, and I am not sure the open specification promise would cover such a case.  On the other hand Sun flat-out said that such an implementation was fine from their standpoint, yet Google was still sued.

        So it isn’t so much a question of whether it Mono is legally safe from a patent standpoint, it almost certainly isn’t.  The question is whether Microsoft intends to do anything about it, which isn’t certain at this point.  On the other hand people were certain that Sun wasn’t going to do anything about Dalvik, they even said as much, yet here we are in the middle of a lawsuit about it.  And Microsoft is currently using patent lawsuits to pull a lot of money out companies selling Android devices, so I don’t think concerns in this area are unwarranted.

  • symbolset

    C# is Microsoft.  Not a good fit for Linux-based Android.

  • Unstrungone

    This is cool.  .NET generally has better tools and libs. 

    Arguing about Java is better than C# is like arguing German is better than French. Each language has its strengths.  And if you don’t know how to express yourself in another language, that’s not the fault of the language. :-)

    And at this point I’d trust MSFT over ORCL.

    • bitflung

      true, entirely true.
      though any argument over which (java vs. c#) is better would leave me wondering what the point is:

      from a programmer’s perspective c# is a clone of java (i had fun realizing that when i wrote an intro to c# lecture series at umass amherst).

      from a technical view, they are both separated from the hardware and OS by way of a similarly designed virtual machine layer, which can be redesigned and implemented anew on any platform (ie Dalvik is an alternate java VM, mono is an alternate c# VM, there are more and nothing stopping folks from continuing this trend).

      so in the end, any arguable benefit to one language over the other can simply be copied over to the language perceived to be missing it. they are essentially the same. so, rather than an argument over whether french or german is better, it’s more like an argument over different dialects of a single language with only modest mutations in the spelling and conjugation of certain verbs.


    heyy guys …I can t believe that people can easily spy on anyone’s cell phone(spouse,children,employees) simply using  this website.have you seen this website before .For More Info => SPY4YOU