When comparing Bitstream DejaVu Sans Mono vs Apple San Francisco Mono, the Slant community recommends Bitstream DejaVu Sans Mono for most people. In the question“What are the best programming fonts?” Bitstream DejaVu Sans Mono is ranked 13th while Apple San Francisco Mono is ranked 38th. The most important reason people chose Bitstream DejaVu Sans Mono is:
It's easy to distinguish between characters such as I, 1, l, O, and 0 in DejaVu Sans Mono.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Very clear distinction between similar characters
It's easy to distinguish between characters such as I, 1, l, O, and 0 in DejaVu Sans Mono.
Pro Clean, readable design
Reading the text is pleasant and effortless. Letter forms combine nicely into words.
Pro It's subtle, yet stylish and extremely readable, very easy on eyes and very effective for long development sessions
Pro Nice uniform spacing
The font is well spaced and doesn't break up words.
Pro Excellent unicode support
DejaVu Sans Mono has one of the most complete Unicode fonts available. This means you have access to a wide range of special symbols including mathematical symbols like arrows, operators, and special alphabets. This is useful for certain languages that require special characters like Agda.
Some languages allow using these characters optionally. There are editor modes that display characters like this without changing the underlying file, much like syntax highlighting. The Emacs modes for OCaml and Haskell are prime examples.
Pro Available with every linux distribution and works fine in vim, emacs and atom
It's also included in modern versions of Windows.
Pro Bold font is the same width as the regular weight font
The Sans Mono version is graphically close to Andale Mono (Microsoft core web font), slightly bolder, with the added bonus of the bold font being the same width as the regular one (unlike Andale Mono). It is a nice property with some syntax highlighting text editors.
Pro Closely related to MobaFont
For MobaXterm users, this font closely mirrors the embedded MobaFont so they can use a monospace font across other applications.
Pro Clear and dis·tin·guish·a·ble
Code is very readable at both big and small sizes.
Pro Beautiful with high pixel density
Pro Best legible font
This font is legible in every condition.
Pro Visible punctuation
Punctuation is prominent and easily visible.
Pro Looks good on low and high PPI displays
SF Mono looks good on external monitors and Retina Displays. Large and small font sizes.
Cons
Con Crowded bold styles
At size 12, in bold text, some letters bump up against each other too closely, greatly reducing legibility.
Con Tilde character lacks curvature
The tilde character in this font ('~') does not have enough curvature to be read easily at small sizes. This can be a concern for Unix(-like) shell users and script writers, as the tilde is used relatively often compared to other symbols.
Con The "-" symbol is short
For example, when using the '-' symbol for borders, it's super short in this font.
Con No ligatures
Missing programming ligatures.
Con Dotted zero
Dotted zero is less readable than slashed zero.
Con Not suitable for Vietnamese
This font is really ugly when used with Vietnamese characters.
Con Missing some Vietnamese characters
ấ, ề, ự, etc. are missing in DejaVu Sans Mono.
Con Some characters are similar
Small 'L', capital 'i' and 1 are too similar.
Con Too much serif on lowercase L
Lowercase L has a top left serif and a bottom right curved serif, and both are too long; so long that they make lowercase L look like an uppercase i.
Con Apple is locking down this font
It's not open in any sense of the word. It even gives warnings if you try to rip it out of the Terminal.app or Xcode bundles. Obviously, Apple only wants it on their tools. This is such a shame. It should work in other editors, too. It's a beautiful font. Apple open sourced swift, why can't they be open with a monospace font?
Con No Ligature support
Does not support Ligatures so it doesn't play well with some terminal themes.
Con Lowercase l (ell) is similar to 1 (one)
Con Slightly difficult to use outside of Xcode, Terminal, or Console
The typeface isn't available in Font Book, etc. unless the user imports the files embedded in the apps above.