Quote:
Indeed, but the fact that there happens to be an emulation environment available doesn't make C# portable - just like the fact that OpenOffice etc. are (mostly) able to read MS Office docs doesn't make the MS Office doc format portable.

I am not a programming expert, and don't know much about Mono, but I didn't think it was actually emulation. It is a clone of the C# compiler and framework. So the theory is you can compile an application with Mono for any of its supported systems and it would then run natively there. If an application works correctly under Mono, I would describe it as portable, by definition.

Quote:
If MS changes something in the C# environment, Mono can break. Yes, I am sure it will be fixed, but there might be a time delay that could cost you your business...

I cannot see Microsoft changing anything fundamental in C# which could break Mono. If they did, it would have to be a big change, and they would have to call it .NET 2.0 or something.... its all pie in the sky. Even if there was some language update that broke stuff, why would you have to use it straight away? A paradigm would be the Empeg - it runs Kernel 2.4.something. Not 2.6, because 2.4 works.
_________________________
Hussein