Saturday, 27 October 2007

On .NET

OK, I personally prefer Java over .NET, maybe because I used it for some time now, so it's easier for me to understand it.

But I don't understand this hype (mainly on the net) about all these new Microsoft technologies. For example .NET is almost described as cross-platform and freely available. But think about it twice, guys:

  • Only the core part of .NET is an ECMA standard, free from Microsoft patents. Much of the "cool" parts (and much of the base class library) are patented Microsoft technologies, that can not be implemented freely. Mono implements much more than only the core part of this technology (you can do nothing with only the core), but according to the Microsoft - Novell agreement, you can use Mono freely only on Suse.

  • People say that .NET is now available on Linux as well as Windows because of Mono, but the Mono team (even if they did some great work) have not implemented all .NET 2.0 yet. .NET 3.0 is available since end of 2006, and .NET 3.5 will ship beginning of 2008. So much for the cross-platform stance...

  • Silverlight is a new runtime to build rich-internet client applications... but it is bound to a specific Microsoft technology. I don't like flash very much for the same reason...

  • And as for XAML, it does what SVG and XUL already did, but it is another specific (they even defined different keywords for the same concepts). And try to find the XAML specification in the Web, you will find it very hard, because there is none.


This list could go on an on... And in the same time, people are saying that Java is not free because 4% of the encumbered JVM code has still to be freed by Sun...

As for me, I will still stay away from all these specific technologies...