I also love coding on Linux, but there are shortcomings. Not enough to make me prefer Windows, but enough to make me wish for something better.
Generally, Windows has better GUI-based tools. The big one being debuggers, I really miss debugging in Visual Studio (C++). But more generally, Windows tends to have a better selection of IDEs, database editors, version control GUIs, etc...
I love command lines and text editors, maybe that's the reason why I prefer Linux, but sometimes, GUIs are useful.
I don't know how the experience on OSX is. It never struck me as a particularly developer friendly platform but I may be wrong. It has a proper Unix shell, so it shouldn't be that bad.
If Windows is a good GUI, how do I reliably swap caps lock and control?
Assuming you really want to know, try SharpKeys.
https://sharpkeys.en.softonic.com/ looks so scammy, and I have ublock turned on... I can only imagine how it must look without that. I'm sure it's fine but why do all windows tool s always get hosted on the most scam looking websites?
When I'm stuck on windows I use https://docs.microsoft.com/en-us/sysinternals/downloads/ctrl...
Of course adding setxkbmap -option ctrl:nocaps to ~/.xinitrc seems way easier to me. But I'm probably in the minority.
It's also on GitHub: https://github.com/randyrants/sharpkeys