az M$ fajtájából adódóan soha nem fog linux alá támogatni és pl soha nem fog olyan nyelveket implementálni a VSbe amit nem szeret, de a lehetõség megven (mint írtad) és ez a lényeg. A többi nem számít.
Az a lényeg, hogy ha a framework-öt rendesen elkészítik linuxra, akkor minden .Net-ben írt alkalmazás menni fog rajta, anélkûl hogy át kéne fordítani. És M$ mindent megtesz, hogy a winre fejlesztés .Net-et jelentsen.
Legnagyobb külömbség a java és C# platformfüggetlenségében, hogy még JVM a köztes kódon sorról-sorra megy és fordítja minden egyes alkalommal (többek között ezért is lassú), addig a C# köztes kódja már egy majdnem rendes .exe amit a framework úgy 'véglegesít', hogy megnézi neme volt már ez a kód egyszer lefordítva ezen a gépen, ha nem akkor lefordítja, ha igen akkor már azt futtatja. Tehát a framwork egyszer elkészít gépenként egy platform függõ kódot (pl a cd-n lévõ köztes kódból) és onnantól kezdve az bármikor futtatható, míg a JVM maga a köztes kód felé egy (mint a neve is jelzi) virtuális gépet mutat így egységes platformot létrehozva, amin keresztûl aztán futtatja az alkalmazást a valós platformnak megfelelõen.
Azt hiszem könnyen belátható, hogy mennyivel jobb a .Net megoldás (szándékosan nem C#ot írtam, mert minden nyelvre igaz ami a framework-ot használja - ez olyan mint pl web lapoknál/böngiknél ismerni a DOM-ot)