1) What OS/IDE combination do you use?
2) Is there any reason you've not switched to other languages that are most commonly found in non-windows environments?
3) How is the tooling around .NET diagnostics and memory profiling on the OS you use?
1) What OS/IDE combination do you use?
2) Is there any reason you've not switched to other languages that are most commonly found in non-windows environments?
3) How is the tooling around .NET diagnostics and memory profiling on the OS you use?
1) Linux and jetbrains rider
2) 30k sloc heavily v&v'd code? Why? The cost and effort would be insane, and, to MS' credit, the current .NET ecosystem is great.
3) First class citizen. Rider (and the other jetbrains stuff) is as good as any other I've used
In my eyes, as someone who has been exclusively a Linux user since 1998, I now include C# in serious consideration for greenfield projects as well as legacy.
Even Microsoft's own Visual Studio for Mac is getting better - but has a long way to go to match Rider.
C# is a lovely language.
It also has quite a big standard library while not being 10 years behind everything like Java is.
It also has quite good performance (speaking in a web development context) compared to other popular choices like Ruby and Python.
I've personally only switched away from using C# in my free time because I was already writing C# during my day job, and that doesn't feel good (or look good on a CV).
1. Any popular Linux distro (or macOS) and JetBrains' Rider
2. They are probably a .NET developer for their job.
3. JetBrains' tools, like dotTrace Profiler, work really well
(And yes it's macOS, and increasingly Linux (but not yet exclusively) for prod servers)