I posted a detailed guide on my blog about how to create a Yosemite VM, feel free to check it out if you're interested. The first version of macOS was launched by Apple in. It is the second most used operating system in personal computers after Windows. Users were also surveyed for WSL, and it turns out, 65 of developers on Windows don’t use it. It was developed using C, C++, Objective-C, assembly language and Swift. 61 of people run Windows, followed by 47 Linux users and 44 macOS users. It is specifically designed for Apple mac computers. Graphics are still slow (and it's even worse in Yosemite) but besides the login screen which takes a good 5 seconds to render due to its transparency, everything else is pretty usable, and it's enough for occasional (hobby) iOS development until you get enough experience to make profitable apps in which case it's still better to buy a real Mac as this setup may break at any update. It was earlier known as Mac OS X and later OS X. An SSD is a must have though, a hard drive will be bloody slow (that's also true for a real Mac).
In the end, with my solution I am able to successfully run Yosemite with 3,5GB of RAM (out of the 4GBs of my computer, and by tweaking the host system I could probably push it even more to 3,7GB), using the two cores of my CPU, with reliable USB pass through and no tweaking required (the emulated hardware is close enough to a real Mac that the OS boots directly without any kernel command line parameters or extra kexts). What you can do (and I have done it with much success) is use a lightweight Linux installation as a base for QEMU which is a Virtualbox alternative, with much more configuration options, including the ability to emulate the Apple SMC and its "OSK" string (you won't need shady "hackintosh" kexts) and it has reliable USB pass through (I successfully restored iOS devices and installed apps on them). Virtualbox on Windows is definitely not suitable for this, as Windows itself is quite resource-hungry, Virtualbox lacks many configuration options and even if you can get it to work it's going to be quite unreliable, not to mention that you can't pass through USB devices.