Also, the thing is that in .NET, Microsoft introduced CLR or Common Language Runtime. Simply put, it means that the code of VB.NET, C#.NET, VC++.NET etc. all compile to same bytecode, there's no difference, as was in Visual Studio 6, with VB6 compiling stuff different than what VC++6 compiled. So this way, to run an application written in any .NET langauge, you just need the single set of runtime files.
Now in MONO, its developers sort of created an adaptation of this CLR, and they have a C# compiler based on ECMA standards. As I know of it, currently you can use only C# and Perl with Mono, but you can run any .NET application by installing Mono's CLR as again, the byte code is same, be it that the language was VB.NET or J#.NET or any other .NET language.
I read it somewhere that some guys are trying to create a PHP compiler for .NET so that PHP can be used in ASP.NET and can take advantage of its controls etc.
What I wonder is how long will it take ASP.NET applications to be able to start running on Linux/Apache!!!
