I've asked this over on programming.reddit also: any of you dudes using a distributed version control system like bzr? I'm looking at that and Mercurial.
Read the docs and hang out on the lists and you'll see a world of difference. Of course, trying it out for yourself makes it pretty clear, too. :-)
http://en.wikipedia.org/wiki/Monotone_%28software%29 http://en.wikipedia.org/wiki/Mercurial_%28software%29 http://en.wikipedia.org/wiki/Git_%28software%29
I'd say any system that allows easy branching and merging will make experimenting with your code much more fun.