4 ms·
C# was Microsoft's attempt to learn from Java's mistakes, which they very much succeeded at doing.
by Salgat 2y ago
C# was Microsoft's attempt to learn from Java's mistakes, which they very much succeeded at doing.
- whoknowsidont 2y agoThat's not even remotely historic accurate. Sun vs Microsoft drove MS into creating C#. Please don't fan boy to the point of lying.
- miffy900 2y agoIt's much much more complicated than that. Sun refused to add many language features that Microsoft (then a cautious but also genuine user of Java) wanted. Such as refusal to add delegates/closures: https://benhutchison.wordpress.com/2009/02/14/suns-rejection-of-delegates-for-java/ https://benhutchison.wordpress.com/2009/02/14/suns-rejection... https://stackoverflow.com/questions/1973579/why-doesnt-java-have-method-delegates https://stackoverflow.com/questions/1973579/why-doesnt-java-... J++, which was Microsoft's Java implementation in the 90's added a few language extensions that were clearly not Sun-approved, but driven by internal engineering feedback at MS. C# having struct and class keywords, allowing you to define your own value types, is clearly a result of that missing in Java, which still in 2025 has no such equivalent yet. Also Java's then native code interop solution, JNI, was and still remains complete garbage, and it's flaws were a huge guide for Microsoft when they deveoped .NET and it's native interop equivalent, PI (platform invoke). Thankfully, Java now have FFM [foreign function and memory APIs](https://docs.oracle.com/en/java/javase/21/core/foreign-function-and-memory-api.html https://docs.oracle.com/en/java/javase/21/core/foreign-funct...) APIs (and also JNA which is community driven), which are much better than JNI.
- whoknowsidont 2y agoThe key point is that C# was happening regardless of whatever technical upsides people wanted to see out of it. C# would still exist today and still be just as popular in the Windows ecosystem even if it made all the same exact mistakes as Java.
- Salgat 2y agoThat doesn't change that C# was designed with that philosophy in mind. The two statements aren't mutually exclusive.
- neonsunset 2y ago> Please don't fan boy to the point of lying. You made 5 replies negative about C# in this comment section alone. As they say, haters are fans too :)
- whoknowsidont 2y agoWhere do you see 5 negative comments? Please link them? Also why are you talking like cliquey high-school girl regarding a programming language. Complete with the emoji no less. It's a tool, not a religion.