At least for high performance C++, the Linux toolchain improves code quality by so much. Between valgrind/cachegrind, asan, efence, always having the latest clang and clang_analyzer, and Dockerfiles for continuous integration environments, programming on Windows feels like I have a hand tied behind my back.
Even something basic like replacing malloc with your own instrumentation to track errant allocations is basically impossible since every DLL in Windows loads its own allocator.
I know Windows has similar tools but wrangling Visual Studio, especially remotely or across multiple developers, is significantly more painful in my experience.
Even if you don't ship on Linux, programming on Linux is worth it imo. I mean, Carmack wrote Quake on a NeXT and shipped on Windows, so if he was doing it back in the day, how wrong can it be?
Even something basic like replacing malloc with your own instrumentation to track errant allocations is basically impossible since every DLL in Windows loads its own allocator.
I know Windows has similar tools but wrangling Visual Studio, especially remotely or across multiple developers, is significantly more painful in my experience.
Even if you don't ship on Linux, programming on Linux is worth it imo. I mean, Carmack wrote Quake on a NeXT and shipped on Windows, so if he was doing it back in the day, how wrong can it be?