Slashdot Mirror


Mono+Ikvm Runs Eclipse

miguel writes "Today Zoltan Varga announced that he got Eclipse running on Mono using the open source IKVM Java virtual machine for .NET by Jeroen Frijters. This is the first time a complete free software JVM implementation can run eclipse in a reasonable time. This runs with our latest Mono release. Mandatory screenshot"

4 of 38 comments (clear)

  1. Just out of curiosity... by GoRK · · Score: 5, Funny

    Does anyone know what the hell this actually *MEANS*?

    Is this sort of like the one time I ran the TI-85 emulator inside of vMac inside of VirtualPC on a Mac, or am I just missing something? Or maybe the time that I ran VPC in ShapeShifter inside of UAE on the PC?!?!

    And, again, we are supposed to use this sort of thing in *ENTERPRISE COMPUTING* .. or am I again missing something?

    ~GoRK

    1. Re:Just out of curiosity... by miguel · · Score: 4, Informative

      IKVM is a JIT compiler for JVM to .NET code. So there is no emulator involved, it just JITs from JVM to CIL bytecodes, and then Mono JITs the CIL bytecodes into native x86 code.

      What this shows is two things: the maturity of the IKVM JITer and the maturity of the Mono runtime as it is able to host this technologically advanced VM to run a large and complex application.

      IKVM also helps bridge the two worlds: Java and CIL. Your Java code can then be loaded and used by CIL applications (C#, VB, etc) all running together.

      Miguel.

  2. Meaning by fm6 · · Score: 4, Informative
    Does anyone know what the hell this actually *MEANS*?
    That's actually quite an important question. Let me give it a stab.

    As I've previously argued, .NET has some nice technical advantages over J2EE, but probably has no hope of overcoming Java's lead. (And even if it did MS would just screw it up.) But the Java/.NET thing doesn't have to be an either/or choice. It only works that way because Microsoft has very deliberately excluded Java backward compatibility from .NET. (There's J# or whatever it's called now, but that's just a migration path.)

    Now, various open source people have gone off doing what they do best, and their efforts are beginning to converge:

    • Mono, the open-source version of .NET, seems to be moving forward apace.
    • The IKVM people seem to have negated Microsoft's non-support for Java.
    • Mono's biggest missing piece is an IDE. Eclipse is a first-rate IDE, and now runs under Mono.
    • Aside from giving Mono an IDE, Varga has given an impressive demonstration of the robustness of IKVM and Mono.
    So the whole Java versus .NET debate has changed radically, and now may be less of debate than a negotiation towards coexistence.

    Of course, Microsoft will almost certainly make silly, unnecessary changes .NET that will render it incompatible with Mono. But that might actually work against them, and destroy the Evil Empire's control of .NET.

  3. Man, this rules! by RevAaron · · Score: 4, Interesting

    This is awesome!

    Since .NET's original annoucnement, I've thought that it was a really cool potential technology. As a Mac and Linux guy, I kept myself from getting too excited, as there was little chance MS would do a port themselves to these platforms. But then Mono and dotGNU were announced. And the potential of this couldn't be denied- Mono was/is a project led by *the* Miguel nonetheless. So now, as a Mac and Linux guy, a *free* implementation of .NET was within reach. I probably wouldn't have been as hopeful if it was just some SourceForge page someone put up, but no, big names were behind Mono.

    We have been seeing very steady progress for a while, and now we are getting something quite meaty indeed. If running Eclipse on Mono isn't proof that Mono is becoming a viable solution for many coders, I don't know what is. .NET provides many technical advantages over Java and other systems. Hell, I would even go so far as to say that MS *innovated* with its creation. It was a pretty bold thing to base their future on. The technology to do something like .NET has been around for a while, but never before has it been done in a way that interop between languages was so transparent and seamless.

    Sure, you've been able to run other languages on the Java VM for a while. You've been able to run other languages on various Smalltalk VMs for longer. You've been able to run other languages on Lisp VMs for even longer than that! However, none of the attempts before .NET provided such a neat little package for such a system.

    I occassionally laugh when some Java advocate points to the Java languages page when someone else brings up that .NET can do seamless interop between many languages. Even if I have Jython and Bistro installed, there is no (relatively simple) way that I can subclass classes written in Java in Bistro/Smalltalk, write some of the methods in Jython, and then do the scripting in JTcl. It could be done with a hefty amount of additional code to call various evalLanguage()-ish methods, but luckily, we don't have to do that with .NET.

    I am a Smalltalk programmer. I am a Mac and Linux user. I am also an ecologist. The last thing I want to do is switch to Java just so I could have access to a few more libraries for data analysis. I think it is silly for Sun to expect every programmer in the world to switch to its language without hestitation. It may work on the C++ guys, who are usually moving up in the language food chain by switching to the Java language on the Java platform, but for me, it'd be a downgrade. A decrease in productivity. A decrease in flexibility. Etc. The list goes on. However, with .NET, I don't have to use the One True Language that any one vendor hath ordained, and with Mono, I don't even have to use the One True Runtime Implementation. With the newly released #Smalltalk, things are looking pretty damn good from here. ANSI Smalltalk, yet access to all classes and code written for the .NET VM available like any other Smalltalk class. And if someone else wants to use my code later on, she won't have to convert it, open up the parts she wants to some RPC protocol or anything else like that- she can just subclass it. Or instantiate it... like it should be.

    Christ, I rambled plenty for this post...

    Many thanks to the Mono team!

    --

    Working toward a usable PDA environment in the spirit of Newton OS: Dynapad