I just use Linux through a
KERNAL built to play nice on Windows. I dual boot, but can access it from Windows. It's kind of like a VM, except I can reboot and actually boot into Linux. It reminds me of Cygwin, except it is actually Linux.
The only thing that changes on boot is the kernel. If I'm booting linux proper, I use the normal Linux kernel, otherwise I boot from a windows exe file that is a kernel and talks with the modules on the linux partition. I can either access it using an ugly cmd.exe like screen, or use putty (the boot is given a separate network address). As for graphical programs, I either don't use them, or use them through Cygwin/X (with no root window, so all windows look like they're managed by the Microsoft shell). I thought of using it through a VNC, but having two completely different desktops at once was too much for me. I tended to ignore the VNC window and everything on the VNC desktop.
It's really useful! It's also fun to experiment with code from the windows Linux-exe kernel to try and tweak it.
I've also experimented with Linux on the ARM and MIPS architectures (mainly for compilation work, however). They're specialised versions, so no fancy names.
I used to love going through a Gentoo stage one install.
Now I want to do an LFS project! Damn you for awakening the beast!
For those who are only interested in Linux because their university course requires students to use GCC/G++ or other tools, you could try *ubuntu, but remember you need the universe and to apt-get install build-essential
Though, I'd recommend for those people that they either try with cygwin, a mingw compiler, or use a VM with a Linux distribution pre installed.
That being said, not much is ever mentioned about BSD! Why is this? I've heard OpenBSD finally after all these years has an exploit... exciting times!