6 ms·
How does the .NET ecosystem fare these days compared to Java's? Whatever the differences between the languages, on the surface of things it looks like one must
by Koshkin 6y ago
How does the .NET ecosystem fare these days compared to Java's? Whatever the differences between the languages, on the surface of things it looks like one must be insane not to use Java: https://projects.apache.org/projects.html?language https://projects.apache.org/projects.html?language
- loic-sharma 6y agoApache is somewhat Java centric. I wouldn't use that as a measure of a language's ecosystem. For example, JavaScript has an enormous ecosystem but only 17 Apache projects.
- The_Colonel 6y agoApache is Java centric, but as a developer in both Java and .NET it's impossible to not notice that Java ecosystem has much more independently developed projects while .NET world is still largely defined what MS provides as libraries.
- Someone1234 6y agoYou'd be insane because a major Java project maintainer contains a lot of Java..? That's like pointing at Microsoft's github repo and saying you'd be insane to use anything but C# and TypeScript. Personally I think this is a better source: https://octoverse.github.com#top-languages https://octoverse.github.com#top-languages Or this: https://insights.stackoverflow.com/survey/2019#technology https://insights.stackoverflow.com/survey/2019#technology
- The_rationalist 6y agoThe number of repository is not the important metric that apache has. What matter is to have at least one industry grade™ open source library for anything™ Most of apache libs are each ~20000 commits This amount of human resources is unmatched in any other platform.
- shanemhansen 6y ago.NET ecosystem is large, but still windows-centric. If I was choosing between java and C# for a startup, I'd definitely consider C# because it does seem to be a better java (properties and LINQ are the first 2 things that come to mind). But realistically if you're not doing .NET on windows, you're still an early adopter who's going to run into weird issues that you won't have to deal with on java.
- u7u7h 6y ago> windows-centric .NET 5 is going to change this completely. .NET Core has already changed.
- shanemhansen 6y agoI was referring to the ecosystem (libraries that are commonly used that might only work on windows). I've had trouble for instance finding cross-platform GUI toolkits that support linux. Microsoft's newly released toolkit doesn't.
- The_rationalist 6y agoThe point of C# being a better Java is nowadays mostly obscolete because of Kotlin being THE better Java. As for LINQ see https://github.com/mythz/kotlin-linq-examples/blob/master/README.md https://github.com/mythz/kotlin-linq-examples/blob/master/RE...
- snuxoll 6y agoAny of the otherlang-linq projects miss the forest for the trees, the whole point of LINQ is that it's not a set of chain-able methods on IEnumerable - providers get access to the expression tree and can use them to do all sorts of crazy things (see: EntityFramework, Linq2Sql). I love Kotlin and I don't really get a hankering for LINQ when I'm using it, but I wish people would stop trying to say "but we can do that too!" when they really can't.
- foepys 6y agoWhy don't people understand that LINQ isn't just a C#-ish way to write SQL-like statements? So many people are comparing their libraries to LINQ without understanding what it actually does. LINQ brought System.Linq.Expressions and IQueryable to .NET which allows so much more than just filtering and grouping data. You can write entire data providers with LINQ and parse arbitrary expression trees in any way you like. Entity Framework (Core) utilizes this very well. It doesn't just query an SQL database and then use LINQ's Where, Select etc. to manipulate the data but parses everything the developer has written to an expression tree and then generates an SQL statement at runtime.
- runT1ME 6y agoI think this is a valid point, two projects I'm making heavy use of are both ScyllaDB and Apache Beam. Neither have C# as a supported language. Many big projects roll out drivers for the JVM (Java/Scala/Kotlin compatible), Python, and Go first. I agree that C# is a 'nicer language' than Java, but at this point, that doesn't make up for the lack of ecosystem.
- FpUser 6y agoThere is nothing insane here. All depends on context. Games are known to be developed in C# and the amount of those dwarfs Java's counterpart. There are other areas with the affinity of "insanity" leaning either way.
- oaiey 6y agoIgnoring the flawed comparison, the Java ecosystem is better. However, recently, I see first class providers for .NET popping up with most project and the ecosystem growing dramatically. It is no longer a showstopper, it is more a reduced choice situation. What .NET still is not really good in, is first party apps. There is no Kafka or Kubernetes programmed in .NET.