http://www.adamfrisby.com/blog/2008/08/opensim-c-standards-patents-and-you/A brilliant blog post that answers many of the concerns I raised about OpenSim’s use of C#.A couple of points.
If Microsoft decide to add new extensions onto .NET (which they have done with every major release), the OpenSim developers are content to wait until those extensions are available under Mono (which moves fast enough that it isn’t a major problem).
Does this mean that there will be elements of Mono, used in OpenSim, that will not be included in the ECMA standard and potentially will not be covered by Microsoft’s patent pledges?
Java is a beast of a language that has had layers of gunk added in every revision resulting in a hodge-podge of inconsistently named items in the standard library that may, or may not address what you want. The second major reason is that the C# standard library is both larger and more functional – the amount of time and effort the Base Class Library has saved is astonishing.
I got fed up with Java with the 1.1 release (Swing and inner classes were turds), so I hold no brief for Java. C# looks like it has some nice CLOS-style accessor magic. I would be surprised if C# has better libraries in aggregate (including the net rather than just out of the box), though.