Also outside HN universe, Windows servers are a thing, so it is not only .NET, there are also Java and C++ applications.
Also outside HN universe, Windows servers are a thing, so it is not only .NET, there are also Java and C++ applications.
I work at a consultancy for enterprise-size orgs, and Windows servers are indeed still frequently used - but almost exclusively on-prem, and I've never even once come across Windows containers being used. Seems the shift to the cloud, and Microsoft's shift to OSS and Linux love, has tamed even the most fervent of Microsoft shops. 10 years ago you'd be laughed at if you suggested anything other than Windows, but now it's the default for anything in the cloud.
All the cloud based deployments I have done, other than a couple of serverless microservices on AWS Lambda, have been done on Windows and that won't change for the foreseeable future in what concerns the kind of customers I work with.
In fact, it is a bit ironic that instead of getting advises from cloud experts, I am the one with my lower skill set in the domain, to have to explain to them what is to be expected for production delivery.
Don't take marketing for the full use in production environments.
Also we can keep doing this game, there are plenty of enterprise tools I can list.
.NET Core is the Python 3 of .NET world.
You are correct that you don't get a VS designer, but I've personally always favoured a code-first approach anyway, so this never affected me.
> .NET Core is the Python 3 of .NET world.
I see where you are coming from, but I don't think I agree. There is still a large segment of Python 2 devs, and for many, there isn't a particularly compelling reason to move to Python 3. Dotnet Core is different, in that there are very compelling reasons to move: cross-platform (massively important in our new cloudy world), performance, and of course ongoing support. There are for sure a small hardcore of sad dotnet devs stuck on Framework because of some legacy libraries, but I reckon the majority made the move to Core a long time ago.
The .NET Framework version is working fine and has been for years. That's why my company won't switch in the near future. Marketing and reality are just too far apart.
That's tooling, not Dotnet Core itself. As an aside, I think there is even a WinForms GUI editor in Jetbrains Rider now.
> Marketing and reality are just too far apart
I mean, that's your opinion, but there are millions of Dotnet Core devs for whom the reality is as wonderful as promised. If you still have to work with legacy libraries or maybe WinForms, then of course I understand where you are coming from, but I don't think it's fair to tar the whole of Dotnet Core based on some limited failings that affect only a minority.
The current LTS release of .NET Core 3.1 has a broken socket implementation that can lead to deadlocks on Linux and macOS.
Microsoft will not fix it in 3.1 LTS and recommends using .NET 5, which is not an LTS. If you are a company that is deploying multiple times a day, that's probably fine. If you are a company that keeps the lights on with about 5 devs for a few hundred customers with on-prem setups, this is just unacceptable and doesn't even have anything to do with legacy libs.
Admittedly it's just from what Raymond Chen's blogged about, but it seems to me that Microsoft had a different "corporate attitude" back then, so to speak.
Just look at the github issues of everyone on the UWP/WinRT disgruntled with the lack of roadmap for .NET Native, or how WPF has taken one year to ramp up a new team, after they sent everyone away. Worse it seems that WPF bug fixes are being done from other side of the globe in some offshoring deal.
Real life on the trenches is not like on Channel 9 TV.
I absolutely do not dispute that anyone involved in building Windows-only desktop apps is not going to be satisfied - but they are absolutely in the minority.
As a consultant, I don't just see the workings of a single org - I work across several orgs every year. When Core first became a thing, some were slow to take it on, which was understandable considering the confusing messaging from Microsoft. But it's been around for a long time now, and Microsoft's messaging and intentions became clear. What I now seen is huge uptake of Dotnet Core - way, way more is now on Core than Framework, and I haven't seen anything new being built on Framework for at least a couple of years.
On my side, I am yet to see a new project done on Core besides some tiny micro-services on department level.
As mentioned on another thread answers, still waiting on SharePoint and Dynamics running on Core.
So yeah, we'll need to disagree.
Similarly with WCF. It's something I used to use a decade ago (though I admit I was never a fan), but haven't seen it used in eons.
I don't think Java applications have dependencies to Windows that often, and it's a pretty bad idea to use C++ in server applications.
Sure Java runs on Linux, that doesn't mean many shops want to build the human skill set to manage those boxes.
As for C++ and server applications, in what languages do you think database servers and similar high performance servers are written on, most of the time?