It depends on your language(s) of choice, but I prefer to use some form of linux. My go to lately has been Linux Mint.
If you enjoy windows for your day to day business, then just code inside of a linux virtual box.
If you enjoy windows for your day to day business, then just code inside of a linux virtual box.