I recently read a thread on Hacker News that got me thinking about the font I use when programming. I spend about eight hours a day looking at text in Textmate, but I've never really thought about the font. I didn't even know what font I was using. So I decided to do some research.
Apparently I was using Monaco 12pt.
As you can see it is a little largish, but it never really bothered me. I began to search for other fonts to try. The first resource I found was Jeff Atwood's Programming Fonts post. I saw nothing that made me want to switch even temporarily. Next I looked at Top 10 Programming Fonts. I decided I might as well try out a couple of these fonts, even if just for a few minutes. I downloaded Monofur, Inconsolata, and Envy Code R. Envy Code R wasn't mentioned in the list, but it was brought up in the comments and in the Hacker News thread above.
There seems to be no 'best' font. Font preference seems to vary immensely from person to person. I had a hard time deciding if I actually have a preference. After a couple of days of font switching I finally decided on Inconsolata 12pt. I really don't know why. That makes it impossible for me to actually suggest a font to someone else, but I do recommend trying out some different fonts and seeing if one of them makes your time staring at text a little more pleasant.
Here is what my screen looks like now:
One final note on anti aliasing: It seems that I like it (at least with Inconsolata and Monaco), some people do not. As with font choice I suggest trying it out and seeing for yourself.