4 ms·
Ask HN: is C# Evil or Not?
I'm a C# guy, and though I'm not a big fan of Microsoft, I find some (see: some) of the things they do rather helpful and occasionally reasonable.
I'd like to ask: Given the fact that C# is/has been an ECMA Standard, and now its an ISO lanaguage too, Why do people still think its /Evil Inside/? I realize RMS and his friends have made it look oooh big and scary, but really, what's the point?
some of the arguments I've heard are:
- Not totally free
- Microsoft, therefore, EVIL!
- RMS said it was evil therefore, EEEEVIL.
- Changing standards
- not native code (therefore, EEEVILL)
- Its worse than java
What's the HN take on it? Purely technical, please :)
- flatline 16y agoC# 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.
- justrudd 16y agoI believe that most people blend C# and .NET together. C# is a standardized language. .NET is a closed platform. Anyone can implement C# the language. You can write a compiler that outputs Java byte code if you really want. But a language isn't that useful without a standard set of libraries (or platform). And I believe that is where you run into issues. Novell has made a clean room implementation with Mono. And many people believe (myself included) that Microsoft would be doing itself more harm than good to go after Novell's clean room implementation of some of the core System libraries. But there is no guarantee that someday they won't do it. Other than the fact that there is no money in it.
- drivingmenuts 16y agoMy take on is that it's a language and a bunch of libraries - no more or less evil than, say, Perl. If there is evil to be found, it will be in what is created with the language, not the language itself. The only exception to this rule is Lisp. It's parentheses all the way down to Hell and back with that one.
- deleted 16y ago[deleted]
- vlisivka 16y ago> Purely technical, please :) Technically, C# is the language. Only live things can be good or evil. Microsoft is the Evil company, and C# is their language. For example, A-bomb, technically, is a big nuclear bomb. It is good thing in our hands and evil thing in their hands.