5 ms·
C# has advanced more as a language than Java has in recent years. The JVM has made great strides in terms of performance, and Scala, Clojure, et al., have been
by flatline 16y ago
C# has advanced more as a language than Java has in recent years. The JVM has made great strides in terms of performance, and Scala, Clojure, et al., have been success stories of the Java ecosystem, but Java itself has sort of just lingered. The main difference that people call out is that C# supports higher order functions, lexical closures, and other constructs from functional programming, whereas Java does not.
My experience has been that using C# means vendor lock-in, which is lack of freedom from the tools you use to the types of projects you work on. The language is great but the politics, licenses, and toolchain built around it suck for tinkerers/hackers. All substantial changes to the platform come from on high in Redmond. There was a great post on this on HN last week: http://whatupdave.tumblr.com/post/1170718843/leaving-net http://whatupdave.tumblr.com/post/1170718843/leaving-net.