Businesses are going to move to Azure and use dotnet core. Today we've visual studio on mac too. Plus, visual studio code on Linux.
Who wants to deal with Java BS when their master pisses of people with these idiotic moves.
Not to mention Rider IDE.
Businesses are going to move to Azure and use dotnet core. Today we've visual studio on mac too. Plus, visual studio code on Linux.
Who wants to deal with Java BS when their master pisses of people with these idiotic moves.
Not to mention Rider IDE.
As it stands right now, if your company is developing on .NET for the most part you are locking your developers out of the entire *nix ecosystem...from server licenses to command line tools to open source libraries to databases.
Combine that with how difficult Microsoft makes it to get your data out of SQL Server even for things like Elastic Search and you're in for a world of licensing hurt down the road.
I honestly still don't understand how anyone chooses a stack that locks you out of so many options and imposes so many constraints.
I get that Microsoft is improving...but they have a big hole to climb themselves out of.
Take things like SignalR for .net core, ServiceFabric, many microsoft server only products in Azure, (third party Akka.Net) don't support linux so well yet. Some of them are getting there but it's kind of risky to use due to the lack of being used in production for a while or it's lacking a feature or something is missing. It's been a while since the announcement of open source support, but it's seems like a slow process. It generally gives a vibe that they would rather have you use azure on windows, than support a completely open development ecosystem. They should put more weight behind the open source movement TBH. But it's an improvement, maybe they will get there one day. But right now I wouldn't choose it either for many things, considering the alternatives on linux. And last time I tried running code on linux and windows, the linux version was considerably slower for identical c# code. Might have been a missing compiler optimization, who knows. Not that I don't want C# on linux, I think it's a nice language in that family of languages. Like you said, it needs more success stories from running in a nix environment.
I realize you can use other databases, but once the data goes in, getting it out is a whole other ballgame.
In what concerns UNIX like systems we don't care at all about .NET Core, because it is still playing catch up with the .NET Framework libraries we care about, lacking parity with many mature Java versions.
Which has led to some projects porting a set of small .NET applications to Java, as means to deploy on Linux, because the customer wasn't willing to bet on .NET Core.
Additionally, in spite of not being fully Java SE compliant, it is still more productive to write Android in Java as dealing with Xamarin integration issues.
Rider IDE might be interesting when they start supporting GUI development.
Finally, as any long time .NET developer will tell you, Microsoft also has its own fun moments.
Can anyone who’s used both recently comment?
Concrete example: .NET has nothing comparable to the Hadoop ecosystem, or to International Components for Unicode.
Concrete example: Compared to what's in .NET, a lot of stuff in the core Java libraries feels very half-baked. Streams, for example is missing a lot of useful features that I am used to seeing in every comparable library. There's not even a mapi in there. Bifurcating it from iterables and the rest of the collections API also creates some ergonomic annoyances that don't exist in, e.g., .NET or Scala's equivalents.
See: GenICUWrapper A tool that generates a rudimentary C# wrapper around the C API of ICU4C. ICU Dotnet - .NET bindings for ICU http://site.icu-project.org/related or https://github.com/sillsdev/icu-dotnet
There are also .Net options for Hadoop so I am not sure what you mean exactly?
For example, first line of the readme for icu-dotnet (emphasis mine):
> icu-dotnet is the C# wrapper for a subset of ICU4C
I'd also argue the JVM in general is still a better platform than the CLR.
I'd expect to see more Java shops in SV because Java's huge open source ecosystem makes it a much better platform for doing, for lack of a better term, "tech company stuff." Also, SV is heavily influenced by academia, where .NET was just a flat-out no go for a long time because it only really worked on Windows.
But I see a lot more .NET for the kinds of in-house enterprise development jobs you see in regions like the Midwest. For that kind of work, there's usually not much in Java that you can't get on basically any other platform, too, and .NET/C#'s better ergonomics will let your team be more productive at the kinds of stuff they're doing. (I'd bet Clojure is even better still, but Clojure doesn't look good in khakis and a polo shirt.)
Joda Time, Apache Commons & Guava, Jersey, Hibernate, etc. - heck, even Dropwizard - are all libraries whose .NET equivalents are just different bits of .NET itself. Similar for Java Mission Control, for that matter.
Where .NET pales, IMO, is for stuff like Hadoop that, while astoundingly helpful for some problem domains, isn't so useful for most enterprise development work.
I am not sure how this is an idiotic move. They are laying off ppl working on product that company doesn't think is profitable. Happens all the time, everywhere.