Since I am not in school anymore (and therefore no longer have homework), I feel that I should be keeping productive by doing more programming. Unfortunately, my move to Linux presents a bit of a conundrum - in order to ensure that the largest possible audience can run my creations on their computers, it is necessary that I take steps to ensure that my applications can run on Microsoft Windows.
For a creative standpoint, this is not a major setback. While my most recent desktop development has been in C#, I should be able to use GTK# in order to ensure that my applications run on all three major operating systems (Microsoft Windows, Mac OS X, and GNU/Linux).
Debugging is another story. While I am running Linux natively, I only have access to computers running Windows at work, where I obviously cannot debug personal projects. There are three possible solutions to this conundrum.
- Dual-booting, which I find unacceptable. The reasons I do not like it have been previously covered on this website.
- The best solution would probably for me to get a second computer. In this case, best is defined in terms of material happiness and not financial solvency.
- Virtualization would be better for my finances. Having some experience running Windows XP through VMWare Player, I feel confident that this option would work for debugging.
The Apple fanpeople in the audience are probably already halfway through the mental composition of a comment noting that while I can run Windows in a virtual machine, I cannot do the same with OS X (at least, not legally). This problem is not one of my making, so I refuse to worry about it.
Virtualization works fine for testing application or operating systems simultaneously without have to reboot computer or to buy a lot of hardware. You could tray QEMU or XEN if you want to work with free software (Vmware is free like free beer).
I do not think I can actually run Xen to run Windows XP, because my processor does not have the hardware virtualization support necessary. QEMU looks interesting, except since VMWare Player refused to install in Ubuntu.