For a programmer, the Unix like environment provided by GNU/Linux is miles ahead of what is available on Windows. It is extremely easy to install most of the development tools with just a single command.
I switched from Windows to GNU/Linux over a series of steps.
- starting with using Cygwin under Windows
- using GNU/Linux inside a VM
- dual booting
Cygwin has been superceeded by Windows Subsystem for Linux.
My current distribution is Kali Linux. AFAIK, it is the only Debian derivative that uses a rolling release, making it possible to update without needing to reinstall.
Using the kali-last-snapshot branch for more stability as it undergoes release testing. All else fails, there is linux recovery