13 ms·
Well to be fair, if you wanted Performance, Linux support, and a framework which was built with dependency injection and async support in mind and not just have
by FromTheSteppe 1y ago
Well to be fair, if you wanted Performance, Linux support, and a framework which was built with dependency injection and async support in mind and not just have them as patched in footguns, you had to migrate to .NET Core. A Java 8 Spring app was just good enough.
- LtWorf 1y agoIf you want linux support, .net is not what you want. Linux support is an afterthought and it shows. And you never know if it might be dropped next year.
- mrcsharp 1y agoWrong. Linux support is first class in .Net just like Windows. We are strictly running our .Net code on linux servers and have encountered 0 problems over the past 5 years.
- LtWorf 1y ago3 seconds of looking at the API and you see it's not 1st class at all. Presuming you have ever done any programming on linux, that is.
- mrcsharp 1y ago> The API Which one?
- LtWorf 1y agothe ones dealing with processes are very obviously a terrible match for posix systems for example.
- neonsunset 1y agoDon't bother: https://news.ycombinator.com/item?id=43396171 https://news.ycombinator.com/item?id=43396171 These people could not care less about engaging with the subject, they are here because they feel obliged to engage in a moment of hatred of what they think is an enemy tribe.
- FromTheSteppe 1y agoIf you are a .NET shop, .NET core still has a better Linux than Legacy .NET framework hence the migration. If you are a Java shop everything just works so why touch it?
- LtWorf 1y agoHow do you tell systemd/sysv that your daemon is now ready to accept connections? How do you log to syslog? In java there's no equivalent to daemon() (unless you go out of your way to call the libc) and java doesn't support SOCK_DGRAM for unix sockets, so no syslog either. .net seems to have the same issues. "everything just works" is true only for a very very narrow definition of "everything" which leaves out "daemon that works decently"
- neonsunset 1y agoWe've had this conversation before, it's likely a waste to reply but, well, my mistake. For those interested as to why: https://news.ycombinator.com/item?id=43396171 https://news.ycombinator.com/item?id=43396171 A few more arguments while we're at it: https://dotnet.microsoft.com/en-us/platform/telemetry https://dotnet.microsoft.com/en-us/platform/telemetry (Linux leads with 77% of all systems invoking .NET CLI commands) https://github.com/dotnet/runtime/blob/main/src/libraries/System.Net.Sockets/src/System/Net/Sockets/SocketAsyncEngine.Unix.cs https://github.com/dotnet/runtime/blob/main/src/libraries/Sy... (first-class epoll/kqueue integration with async, much like the one Go has with goroutines via netpoll) https://github.com/dotnet/runtime/blob/main/src/coreclr/gc/unix/cgroup.cpp https://github.com/dotnet/runtime/blob/main/src/coreclr/gc/u... (GC implementation is cgroups-aware, unlike Go)