Can you even set up a bunch of windows server nodes without running into a licensing headache?
Can you even set up a bunch of windows server nodes without running into a licensing headache?
Also a lot of big data farms have some hardcore kernel optimisations which are not as easily done on Windows (if at all).
Also Java runs pretty much everywhere and is supported. C#/.NET is not (and Mono is not a decent response, if it isn't first party supported it isn't supported).
I've had good experiences with Mono and MonoDevelop, and given that Xamarin provides commercial support for Mono, I don't think it makes sense to automatically discard that option.
Its not for C#.
Also to say that its not first party support is a little disingenuous as ultimately one would never say pick a messaging queue that implemented AMQP because it wasn't first party. C# is an ECMA standard. AFAIK the mono compiler has no issues implementing it as well as the Microsoft msbuild/csc.
For me as to why I wouldn't, its simple. Mono isn't as fast as the JRE on linux for most operations, at least I've not heard it is, and its so far removed from my interests and work to test it. http://reverseblade.blogspot.co.uk/2009/02/c-versus-c-versus... I know the mono team have done a lot over work over the last 4 years, but still. I think that is the crushing blow.
Whilst F# support, or TPL or LINQ might make development nicer, I don't think the performance concerns can be adressed.
However, C# has one big thing going for it, unlike java its never tried to install the chuffing "Ask toolbar". Oracle are going to the special hell.
I 100% agree with you on JRE performance.
The Ask Toolbar thing is a pain in the ass. Although it was Sun who started it so blaming Oracle is a bit unfair. It does not excuse Oracle not removing it ASAP though. They don't include it as part of the offline installer, only the stub installer so it can be avoided at least.
Windows Enterprise is not needed for compute clusters; AFAIK Microsoft doesn't actively sell any OS products at all for building a compute cluster (only for failover), rather expecting you to do something at the application level.
Anyhow, I'm not arguing that Windows is a fit for folks who need to spin up more instances on demand without a nearly linear increase in OS license costs, but Windows Enterprise and VS Ultimate are pretty unrelated to the concerns of heavy computing.