3 ms·
There's a small ammount of trolls that spam "M$" kind of arguments but they are largely ignored from what I've seen. On the flip side there's a lot of people w
by rubber_duck 10y ago
There's a small ammount of trolls that spam "M$" kind of arguments but they are largely ignored from what I've seen.
On the flip side there's a lot of people who over-represent C# especially in comparison with Java. I mean the language is very nice, better than Java no doubt - but the platform and ecosystem is much less mature than JVM. Where is the .NET equivalent of ZooKeeper, Hadoop etc. .NET can use those like any other language but the fact of the matter is that Java was and is still the choice on those kinds of projects and the ecosystem is much bigger. Even when .NET gets something from those like Akka.NET, JGit it's usually a worse copy. And JVM ecosystem is much more distributed, there's plenty of stuff going around all over - Scala feels a lot more popular in the real world than F#, Clojure feels like a similarly niche thing but is entirely community driven, and the early results from Graal/Truffle were quite impressive, much better than Microsoft did with the DLR before they left it off to community.
- throwawaydbfif 10y agoYes this 100%. Community ecosystem is a joke on C# compared to Java. Take for example lucene. I just used version 3.03 in a C# project because the port hasn't been updated in years. Version 6.x is the current one. We also needed to use Redis in C# and the client is unstable. Nothing we can do about it besides catch the exceptions and randomly reconnect when it happens. Are we losing some data? Probably. Even if the open source community embraces C# it will take 10 years before the offerings are comparable to Java. And for what? C# is nearly identical to Java in design and performance, it just has slightly prettier syntax
- rubber_duck 10y ago>C# is nearly identical to Java in design and performance One important difference that can make Java almost impossible to use in some scenarios is value types - and that's a pretty big thing when you need to control memory layouts, deal with huge arrays of small structs, etc. Other than that I agree.
- maxxxxx 10y agoI had the same with Lucene a few years ago. It's really frustrating to realize that there is a ton of open source stuff out there but you can't use it because you are on C#. Or you get something outdated or buggy. I really wish MS did something to make Java/C# work together.
- throwawaydbfif 10y agoIt gets worse the more familiar you are with open source, because you know how bad you're missing out. All the guys that live in MS world swear they're not missing out on anything. But these are the same guys that lived in the enterprise version of North Korea until a few years ago.
- maxxxxx 10y ago"enterprise version of North Korea " I like that phrase. Unfortunately it describes my life :-(
- Matthias247 10y agoI think they have different ecosystems where they shine. Java has a huge ecosystem for web services, big data and co. The amount of available frameworks and libraries there is partly so large that you even don't know where to start and what to use. C# has a smaller amount of tools available for web. However in the industries where I worked (automotive, embedded, etc.) I always see C# based libraries and tools instead of Java ones. E.g. I've seen dozens of test frameworks for embedded systems written in C#, none yet in Java. Also libraries for specialized measurement equipment are often available for C#. I guess that's somehow because the EE industry is traditionally more MS focused than the pure software world, and Windows is still the default installation.
- rubber_duck 10y agoYes, particularly GUI stuff, monitoring, etc. but very little of that is open-source from my experience.