Top Programming Fonts
hivelogic.com
hivelogic.com
1. Working with inherited code, one of the original programmers had an identifier I believed was "el" (short for "element") but that was actually "e1" (presumably short for "element 1"). You don't know frustration until your compiler tells you "undefined identifier 'el'" when, by all appearances, there's nothing wrong with your code. Not only did I waste a couple of hours on this, but the stress probably shortened my life by a few hours, too.
2. Embarrassingly enough: For reasons that I don't understand, I have on a couple of occasions typed a zero where I meant to type an uppercase 'O'. I shipped Python code that had a bug in it because I assigned a value to "box0ffset" instead of "boxOffset". The bug was thankfully minor, and I obviously must have been smoking crack to make this typo, but it has happened and could have been avoided if I'd been using a good font.
3. I've seen C code (I think in an open source project) where the programmer typed something along the lines of "100l". He probably meant to type "100L" and just missed the SHIFT key. By this time, I'd switched to a font that had an "l" that was clearly distinct from a "1", but I imagine that I would have otherwise been utterly perplexed.
These are probably not everyday examples. The circumstances in which confusion is possible are rare. But they do happen and are (in some sense) expensive. At the very least, it's a whole class of errors that's easily and cheaply avoided by choosing an attractive font that minimizes the opportunities for confusion. Why risk the frustration?
Personally, Proggy is the only font that I can agree with @ spoondan's complaints about. But I wouldn't use it for other reasons. Too narrow for my liking. However, I have to flat out disagree with his assessment of ProFont and Droid Sans Mono having confusing O and 0's. The slash through the middle really drives the point that it's a 0..
However, I still don't find them too hard to distinguish, even without the / through the middle for Droid Sans or the 1 vs l in 11 or 12pt Profont.
I don't know why but switching to a new font made me a happier programmer!
It is, however, somewhat annoying when I exuberantly recommend a typeface, only to see it become rather unusable when rendered by another system.
http://fractal.csie.org/~eric/wiki/Terminus_font
apt-get install xfonts-terminus
http://www.eurogaran.com/downloads/lispmfont/
A similar appearance! The CADR was dreamy in many ways, even its screen font.
Downside: only one size...
None of the versions I could find worked well on OS X though, so I converted the BDF sources to dfont. If anyone is interested, I just tossed the file on github, http://github.com/deactivated/dfonts/tree.
No, thanks. All the anti-aliased screenshots in his post look blurry and some make me outright cringe.
Also he missed my personal favorite: http://www.netalive.org/tinkering/triskweline/
Generally screenshots can hardly do programming fonts justice. You have to load them into your editor and try them out on familar code.
Most of the fonts showcased on that page look perfectly fine to me from the images. I only learned that I can't bear an anti-aliased font and about my various gripes with the other fixed contenders because I once went and tried all of them for at least a few hours each.
I've found that some fonts look much better as light text on dark backgrounds, or vice-versa. I use terminus (http://shenani.gen.nz/~scott/img/terminus-sample.png), but something about it doesn't look right to me on a light background.
But I, too, noticed the difference and I don't think it's just subjective. Black-on-white is generally easier on my eye in the short-term but for the long-term (e.g. coding sessions) I strongly prefer white-on-black because staring at a mostly white screen for extended periods of time makes me dizzy.
It turns out the problem was my Windows box had Clear Type font smoothing disabled.
So make sure you have Clear Type enabled:
switched first to inconsolata, but i like consolas a little bit better.
It's kinda pricey, but so beautiful when sized and anti-aliased right.
I'd recommend both, but I like Liberation Mono more.