Er - or possibly this is yet another troll?
Nearly every time I have been on the forums this week you have said that at least once somewhere
As JJ said, your best bet is to buy a box, Linux will run happily on older boxes (Although some Distros like SUSE won't) Programming on Linux is not all that different to programming on Windows (Depending on what language you are using of course) but the basic concepts of a language like C (i.e. Arrays, pointers etc) remain the same whether you are writing for Windows, Linux, Mac or a washing machine
I use Linux on my server as well as all my home PCs, in fact I can't think of the last time I had a computer with Windows installed on it.
You may find it hard to find a PC with Linux preinstalled at the moment. Thats not to say they don't exist, they are just far and in-between. Largely to do with MS' OEM contracts
Having said that its not a bad thing, because whether using a Distro with a Graphical installer (SuSe, Mandriva, Fedora and many others) or doing it from scratch (Gentoo
) you learn more about the system you are installing.
Incidentally if you are interested in programming and want to use Linux for it. Then you could as previously suggested use a VM on XP or install Cygwin and that will give you a Linux like environment. Co-operative Linux is also very good, and will let you run Linux on Windows. Nothing quite beats a Windows free box though