Saturday, October 06, 2007

When i read the news about gcc supporting CIL a few days ago, the very first thought to cross my mind wasn't "Wow, that's really cool", it was "Wow, i wonder how many people are going to start shouting to not use GCC anymore because it's 'contaminated' with microsoft code and you'll get sued if you try use it for anything".

So should i take it as a good sign that there's no uproar? Have people realised that implementing an open specification cannot get you sued? You never know, it might have happened. Still, it's an amazing achievement. I can't say it's something i'm ever likely to use, but it does have some nice possibilities.


Amber said...

"Have people realised that implementing an open specification cannot get you sued"

... That should be a no-brainer for anyone ever introduced to the subject of Mono (or Rotor, or dotGnu).

So yes: the folks using GCC just understand this :) Remember, as Miguel pointed out just the other day, GNU has pioneered this fine line since the early 80's


Igor said...

Since the GNU people can't do something non-free(or with a risk of being sued), there's no problem at all :)

But, if Novell who has a agreement with Evilsoft do the same stuff that the GNU people... thats Evil :(

And people that uses MacOSX and Java(not free software yet) for a long time are going to say that Mono is not free software and Novell is evil :(

I think that you just have a good point. Because the statement of this kind of people changes depending of who do it.

WorldMaker said...

You don't see a use for it yet? I think there are some obvious uses for it, particularly if GCC and Mono play together well. On the back-end side it would be nice to see open source tools for some of the interop scenarios that Microsoft's recent C++ compilers provide with Managed C++. (It would be nice to see that made a standard like C#, but I'm guessing there might be a battle with Bjarne Stroustrup, at the very least.) For instance, I recall someone compiled Quake 2 targeting the CIL (unsafe CIL), adding some simple managed code boundaries in C++ and then built a cute wrapper in C# with System.Windows.Forms that displayed the game and a System.Drawing-based radar extension. It would be great to have an open-source alternative to do projects like that. I'm not sure if it would make all that sense for Mono to build a good "quirks-compliant" C++ compiler, but it would be great to have a managed-code friendly target for GCC, which already has the mature C/C++ compiler knowledge.

From the front-end side it could be extremely handy to have a more powerful alternative to Microsoft's ngen. Such a thing could have some small performance gains for large projects or some of Mono's main libraries on some systems. I'm sure something could be done solely from the Mono side of the equation using the existing JIT engine, but it would be nice in build-time to get the full optimizations of a mature compiler suite like GCC.

Theoretically, having a strong GCC front-end might provide useful optimization ideas for Mono. I realize that there is a GPL vs. MIT license disparity, but it would be great to see someone look into when, where, why, and how a GCC front-end might beat Mono's JIT and what lessons to take from that. I'm not expecting a full compiler optimizer to beat a purpose-built JIT like Mono's in the speed/performance department, but there certainly might be some other interesting things to look for. Might it even eventually be a kinder way to start bootstrapping Mono JITs on platforms not yet attempted by Mono but already well supported by GCC? (Unfortunately the more you think about that sort of territory the more you have to worry about license issues...)

It would be great to see a neat 2-way project here now that GCC sees the value in even experimenting with CIL... I'm not entirely sure how feasible such a thing would be, or even if it makes all that sense from a cross-cultural perspective (having no personal idea of the disparity in the GCC culture versus that of the Mono culture), but certainly some interesting things to think about.

Alan said...

@3: I quote:

"I can't say it's something i'm ever likely to use, but it does have some nice possibilities."

I didn't say it had no use... i said it has some nice posiblities, it's just i will never use it. Otherwise, i agree with your post. It is definitely an interesting thing to have around!

narrative essay said...

I keep in mind someone collected Globe shift 2 working on the CIL (unsafe CIL), such as some easy handled value limitations in C++ and then designed a wonderful wrapper in C# with Program.Windows.Forms that confirmed the encounter and a Program.Drawing-based mouth area growth. narrative essay

Hit Counter