(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?
Don't, just don't, I've been using Windows for quite a while now (work mandated) and I spend more time figuring out how to deal with it's quirks.