3 ms·
The .NET ecosystem is an order of magnitude smaller than the JVM ecosystem. Up until ~3 years¹ ago C#/.NET also meant a fully Microsoft and Windows environment
by dtech 7y ago
The .NET ecosystem is an order of magnitude smaller than the JVM ecosystem. Up until ~3 years¹ ago C#/.NET also meant a fully Microsoft and Windows environment for all practical purposes². This is changing and Microsoft seems to be embracing open source and Linux, but it takes time for a 20 year old ecosystem to fully make the transition.
¹ The story is Steve Balmer was very anti-open source and forbade most interop or support for Linux, so this only could start changing when he left in 2014.
² You always had Mono with is why Unity and GNOME could also use C#, but is was very niche outside of Unity.
- inapis 7y agoThat fully Microsoft and windows stack has had ripple effects. At least from my perspective in South Asia. First the price was a deal breaker. Second, people who started with C# quickly found their only employment opportunities to be at large companies. Those who started with Java/Node/Ruby had a much wider array to choose from. Third, when people jumped to start their own companies, Java/Node/Ruby/Python/Go won by a large margin. Startups rarely had the cash to spare for Microsoft stack and MS stack guys had to change their skill sets which is a painful endeavour in and of itself. Fourth, after some time people, who had been in the market for years, started discouraging younger devs to committing exclusively to a full MS stack. People rather interpreted it as dumping the MS stack. In my batch, only a dozen or so people were interested in pursuing C#/.Net. By the time we graduated only one person was still pursuing that stack. TLDR; Price was a big factor which only large companies could afford. Not everyone can be employed by large companies. This had a lot of secondary effects.
- marak830 7y agoThat's a very interesting view point, thanks for that. I hadn't considered it from that point of view. Back when I was learning code(early high school) it was qbasic, HTML and c++, once I was able to afford a cheap pc I learnt via scripting (for Ultima online free servers). I guess it's a big difference between learning for a job and learning for fun(pre-job that is). Which it seems I have kept on the years after haha. Thank you again :-)
- wolfspider 7y agoFunny you should say that because it was Sun Microsystems itself which caused me to switch to C#. Starting out in my career I worked for serial entrepreneurs exclusively to learn from them and one such company used Sun Java for their main product. Hello there! Every time the Java development chatroom crashed for a couple years or so it was me who started it back up. The company I worked for provided that chat software. Sun was not happy with the performance and sent us a letter citing the GPL demanding we host, at our expense, the server for their chats and also a 10 point response plan for turning things around. They claimed that since we used Java our IP was theirs respectively and we were now unpaid employees of Sun. They did not take our revenue (although that was never off the table) but they did assign a tech writer to scream at me over the phone whenever it went down. This “product” was written by a teenager for a coding contest we did and that developer received ~100$. Those agreements you sign off on when installing Java are all about that and sooo much more. This article is about the same thing happening once again under Oracle. Be careful what you agree to- anything I do Java related anymore is OpenJDK. TL;DR here is Java is not evil in itself but the licensing around it certainly is.
- miskin 7y agoThis sounds very unlikely. So SUN Microsystems claimed that you should run service for them because of GPL that had classpath exception? Even without that exception that is not how GPL works.
- marak830 7y agoHmm thanks for the info, I'll admit I haven't used pretty much any ecosystem outside of windows (aside from my new jobs Mac which drives me nuts(non coding job)), but haven't had a need to install any variant of Linux. Which still leaves me a tad confused, is the anger because c# is a propriety windows tech(I'm guessing from the responses - which btw thank you to the threads I don't respond to).
- jayd16 7y agoIt used to force you to a Windows only stack which can be problematic in a server based app. Its much easier to manage linux servers even if you just look at it from an OS license perspective.
- nathanaldensr 7y agoThe anger is a "red vs. blue" mentality. They're Java developers, they always have been, and they always will be. They still think Microsoft--the EEE Microsoft of years past--somehow relates to their (Microsoft's) development tools and platforms org. It doesn't. Things aren't "changing," they've changed already. .NET Core is more than stable enough to run on any major platform and has been for quite some time now. C#--especially the upcoming C# 8.0 with the new nullable reference types feature--is an excellent language that can handle anything you want to throw at it. The hate comes from ignorance, pure and simple.
- ptx 7y agoThey have certainly changed – the .NET installer used to ask if you wouldn't mind participating in their product improvement program by sending data to Microsoft (defaulting to disabled by default), but now .NET Core will send your data to Microsoft by default without asking: https://github.com/dotnet/cli/issues/3093 https://github.com/dotnet/cli/issues/3093 The data is supposedly anonymized, except sometimes (according to comments on above-mentioned issue) when it accidentally isn't. You can also disable it, except when the disabling mechanism is accidentally broken.