3 ms·
C# dev here, mainly working in enterprise size companies who are Microsoft shops. We usually deploy on Windows for on-prem services, and on Linux for cloud serv
by GordonS 6y ago
C# dev here, mainly working in enterprise size companies who are Microsoft shops. We usually deploy on Windows for on-prem services, and on Linux for cloud services (some on VMs, some on containers, some serverless).
I'm more of a Windows guy for desktop, but always prefer Linux for server. Nowadays dotnet is a first class citizen on Linux and MacOS, through dotnet core.
On performance, there has been a big focus on perf by the dotnet team over the past years - I'd be shocked if Java could beat dotnet on just about any metric. If you know what you're doing you can write allocation-free code, and you even have hardware intrinsics at your disposal - I recently ported a hashing algorithm to C# and got the performance pretty close to parity with native C code (almost memory speed).
C# doesn't get much love on HN, but IMO it's a truely fantastic language.
- cheerlessbog 6y agoTheir recent blog post gives a flavor of some of the performance work in the platform: https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-5/ https://devblogs.microsoft.com/dotnet/performance-improvemen...
- jeswin 6y ago> We usually deploy on Windows for on-prem services, and on Linux for cloud services. Which makes a lot of sense. AWS Windows machines cost ~50% more compared to Linux boxes. I was quite surprised at Windows pricing actually; that made it an easy decision to make given that .Net core has been stable on Linux for a while now.
- GordonS 6y agoI work with Azure a lot more than I do AWS, but even on Azure Windows VMs cost a lot more than Linux ones - typically around 75% more for smaller VMs, and 40% for larger ones, which means you can easily end up paying thousands each year on Windows licenses. Honestly, their high pricing of Windows VMs is insane - it's like they don't even want you to use them!