I'll address the topics in parts:
Windows vs. UNIX for application development
There are basically two types of operating systems in mass usage in the world today: Windows w UNIX (Linux distributions, Apple OS X, BSD). SO's of these two types are extremely different, solve problems in completely different ways and have very conflicting usage philosophies.
I will not go into detail about these differences here because I think it does not fit into this topic, but it is very useful to keep in mind that there is no way to compare the two directly and choose a better one: they are different animals, each with its qualities and defects ; pointing out that one is better than the other without taking into account the context where they are being used would be stupid.
Server operating system
The overwhelming majority of web servers run Linux, as this is the most ubiquitous and most widely supported operating system for running web applications and being completely free and free. Obviously there are many applications running in Windows environments, especially those using Microsoft technologies, such as the .NET platform (C #, ASP.NET, VB.NET) that was specially made to run on that system. In general, the Windows environment may be a bit inhospitable for some types of platforms - try running a Ruby application on Windows without ripping out some hair tufts trying to debug the torrent of problems that occur:)
Operating system for development machine
If you develop applications using Microsoft technologies (.NET for example) there is not much choice: the solution is to use Windows. While there are some efforts by Microsoft to bring its platform to other operating systems (such as Visual Studio Code , released this week by Microsoft), only Windows offers all the support you need to develop such applications.
If you develop applications for iOS or OS X it is even worse: you are required to use a Mac.
Now, for development in other more open technologies there are more options. PHP is a good example: you can develop web applications using PHP on both Windows and UNIX systems. Which one you will choose depends a lot on personal preference. If you prefer command-line tools, you will usually opt for UNIX, since the command-line environment and the tools available on that system are much than those in Windows (a great example is packages: installing libraries and dependencies on UNIX systems is extremely easy using tools such as Homebrew, APT or Pacman, and in Windows this can become an arduous task, since the tools available are not so advanced and use a very different philosophy). If you prefer to use IDE's and other visual tools there is greater flexibility, and using Windows does not become so problematic.
There is also a great influence of the community. A good example is Ruby: the overwhelming majority of Ruby developers - let alone all - use UNIX (Linux or OS X) environments. This is due to a number of factors: although it is possible to run Ruby applications in Windows, it is extremely problematic; most Ruby tools use the command line and are inspired by the philosophies of the UNIX environment. Soon it is almost obvious to use Linux or OS X to develop this kind of application.
Just by way of illustration: most of the developers I know use UNIX - some Linux distribution or OS X - but this is a reality of the type of application I develop and the community in which I am included.
Dual-boot
You can do dual-boot on any computer, you do not need a specific computer to run Linux. Modern distributions have great support for various types of hardware, and we each have more advancements in this area, so you should have no problem running a Linux distribution on current hardware.