When comparing Bitstream DejaVu Sans Mono vs Fira Code, the Slant community recommends Fira Code for most people. In the question“What are the best programming fonts?” Fira Code is ranked 1st while Bitstream DejaVu Sans Mono is ranked 13th. The most important reason people chose Fira Code is:
This is particularly beneficial for those who wish to use combined letters such as "æ" and other diphthongs. But when it comes to programming, the ability to scan through your code is improved with ligatures for equality, arrow functions, and more.
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 Has ligatures
This is particularly beneficial for those who wish to use combined letters such as "æ" and other diphthongs. But when it comes to programming, the ability to scan through your code is improved with ligatures for equality, arrow functions, and more.
Pro Supports retina displays
Fira Coda supports high pixel density retina displays.
Pro Characters look really nice
Some characters that look odd in other monospace fonts look very nice in Fira Code: @, a, 1, lower-case-L, Q, j, *
Pro Good editor support
A list of supported editors and terminals can be found here.
Pro Has a slashed zero
New style since February 2018.
Pro Frequent updates
The repository is frequently updated.
Pro Installs easily on Mac
Many ligature fonts on Github aren't "mac ready". This font comes pre-compiled and ready to install on Windows, Mac, and Linux.
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 The '@' Symbol is asymmetric
It's a style, but it would be nice if it would wrap and not just cover the top.
Con No true italic
Italic is just a slanted original, an Oblique. Looks ugly and is difficult on the eyes.
Con Noisy serif-like style harming the text clarity
Con Ligatures are nice-looking but harm clarity
Even though the font combines characters into ligatures, you still need to type the normal characters, and the ligatures make that difficult in many cases.
Con Ligatures like == and === are harder to tell apart than they should be
Con Too wide, too large line height
Con Too wide
Much wider than other fonts.
Con Ligatures lump some characters together and make them hard to read
Con Needs support for ligatures
It can't work in plain terminal, must have built in support for ligatures in editor.
Con No Sublime Text support
Not the font's fault but even the latest Sublime Text builds (e.g. 3126) don't support ligatures.
Con Ligatures break correlation between symbols on screen and the number of characters
This makes it easier to lose the grasp how long lines actually are.
Con Curly braces are not clear enough
Curly braches ("{" and "}") are not clear enough. They are too horizontally narrow, making them look almost like pipes ("|").
Con Bad 4 and r characters, dotted 0
WHY is r a serif?
Con Cannot enable alternative stylistic styles on Xcode
I've tried enabling some of the alternate stylistic styles using Xcode's Font picker, via the "Typography" screen. None of the stylistic styles I enable get reflected in Xcode's code editor, even if I restart Xcode from scratch. I'm not sure whether this is a limitation of Xcode, or of the font itself.