(I'm currently a Mac user, switching to a Dell laptop)
Macs are expensive and Linux has some hardware compatibility problems. That leaves me with Windows.
Most developers I know hate to develop on Windows, unless they're developing .NET applications, which is not my case. Also, I'm very happy with my Unix shell and I don't want to use PowerShell or the terrible Windows CMD.
Don't get me wrong, Windows 10 is great. Microsoft is getting its groove back. And to develop on Windows as a main OS (without dual boot), there are some choices:
1) Docker for Windows
2) Linux VM (VMWare, Virtual Box, Hyper-V)
3) Windows Subsystem for Linux (that is pretty neat)
4) Cygwin
These options give my Unix shell back, and makes development much easier.
Have anyone used any of these options?