Linked by Thom Holwerda on Tue 1st May 2012 21:59 UTC
Mono Project Wow. "One crazy idea that the team had at that dinner was to translate Android's source code to C#. Android would benefit from C# performance features like structures, P/Invoke, real generics and our more mature runtime. [...] We decided it was crazy enough to try. So we started a small skunkworks project with the goal of doing a machine translation of Android from Java to C#. We called this project XobotOS." Most of Android's layouts and controls are now in C#. The small benchmark is stunning, but as much as I admire the work, I'm wondering that this like going from bad to worse - from Oracle's Java to Microsoft's C#.
Thread beginning with comment 516595
To read all comments associated with this story, please click here.
Why not just use gcj
by JPollard on Tue 1st May 2012 22:13 UTC
JPollard
Member since:
2011-12-31

At least then you bypass the interpretation layer and get a real executable to directly run applications.

Reply Score: 2

RE: Why not just use gcj
by schala09 on Tue 1st May 2012 22:29 in reply to "Why not just use gcj"
schala09 Member since:
2012-05-01

It's a mistake to call a JIT an interpreter. Yes, it's possible to interpret bytecode, and that's what Sun's earliest implementations of Java did. But modern JITs will compile bytecode to native code before ever running it (or, in some cases, after it's run more than once). The only difference is that compilation is done when needed rather than ahead-of-time.

There are legitimate issues with JIT compilation strategies. The obvious one is startup time: there's a tradeoff between shorter compilation times and faster code, and so if you have to compile an application every time you run it, then you're going to do less optimization. But it's not interpretation.

Reply Parent Score: 7

RE: Why not just use gcj
by Rugxulo on Wed 2nd May 2012 20:12 in reply to "Why not just use gcj"
Rugxulo Member since:
2007-10-09

At least then you bypass the interpretation layer and get a real executable to directly run applications.


Dunno, but (without having tried) it "seems" that only C/C++ are supported via NDK on Android. So maybe GCJ isn't supported there (and I'm honestly not sure it's still maintained upstream much, if at all, though I could be wrong).

Reply Parent Score: 1

RE[2]: Why not just use gcj
by moondevil on Thu 3rd May 2012 15:18 in reply to "RE: Why not just use gcj"
moondevil Member since:
2005-07-08

Sadly, GCJ seems to be in a kind of maintenance mode.

Since OpenJDK was made available, the contributions to GCJ development dropped to almost zero.

Reply Parent Score: 2