Slashdot Mirror


Mono's MCS Compiles Itself On Linux

thing12 writes "On Thursday Paolo Molaro announced that he had managed to build the MCS C# compiler using MCS. This is a big step forward for Mono, as it means that Mono is almost a self hosting environment."

4 of 215 comments (clear)

  1. Re:Chicken or the egg by jaavaaguru · · Score: 4, Insightful

    On that mentality, Linux is being as bad as MS in re-ripping off an idea from Sun. If one car manufacturer releases a model with built-in GPS/sat-nav, and others follow, do we say they're ripping off an innovative idea? To compete in an industry you must either provide what your competitors do, or provide something better.

  2. Re:Program Java in Java by Ayende+Rahien · · Score: 2, Insightful

    The language, naturally.
    Otherwise you can't write a compiler.

    ISTR that the first Pascal compiler had compiled itself, by hand, someone sat and run the program through his head and wrote the opcode to the machine.

    --

    --
    Two witches watched two watches.
    Which witch watched which watch?
  3. Re:They did it on *Linux* by thing12 · · Score: 3, Insightful

    Yeah, I probably should have mentioned the difference between then and now in the content of the story. This really is a huge milestone for them - going forward they no longer need any Microsoft tools. C# is a great language, it's fast and flexible - it fills the gap between C and Perl nicely. And while it may be the bastard cousin of Java, I think it's got a much more polished feel to it. Being developed under Microsoft's wing wasn't the best, but at least now it's an ECMA standard, not owned by any company - much less Sun whose position on open source sways like trees in the wind.

  4. Re:Clue me in... by coyote-san · · Score: 4, Insightful

    There were some mid-80s articles in Dr. Dobbs or Micro Cornucopia or the like that used a subset of C. No floats, and IIRC no typedefs, no multidimensional arrays, etc. Overall you probably lost about half of the features in a standard C compiler.

    The idea was to bootstrap a full compiler via this intermediate language. It was good enough for you to write your full compiler, but simple enough that you could implement it in assembler in half the time required for the full compiler. (Remember that when you're bootstrapping a system you need to write all of the standard libraries, not just the compiler itself.)

    A few years later gcc became good enough that this was a moot point. If you're developing for a new architecture, use GCC to bootstrap a cross-compiler.

    --
    For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken