When comparing Hack 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 Hack is ranked 7th. 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 readable
Pro Libre webfonts are available in svg, eot, ttf, woff, and woff2 formats
Hack is free for unlimited commercial and non-commercial use. The webfonts are hinted (TrueType instruction set) to optimize display on the screen and are built into all commonly used web font formats with each new release. They include the complete release character set and smaller (filesize) basic Latin subset releases. They are available in the build directory of the repository.
Pro Fixes many readability issues in Vera/DejaVu
The tilde symbol ('~'), comma (',') and semicolon (';') glyphs have been modified to be more readable at small sizes and/or on non-HD displays. In addition, the underscore symbol ('_') has been slightly lifted for alignment with surrounding characters.
Pro Avaliable in many GNU/Linux distro package manager
Including Debian/Ubuntu (fonts-hack), Fedora (font-hack-ttf), OpenSUSE (hack-fonts), Arch (ttf-hack) and probably many more. Much nicer than having to manually install/update
Pro Free/Open license
Pro Renders accurately on Windows on all font sizes
Pro Based on the tried and tested Bitstream Vera Sans Mono
The fonts are in the Vera Sans Mono lineage with a significant expansion of the character set (which includes Cyrillic and modern Greek character sets), new glyph shapes and modifications of the original glyph shapes, as well as improvements in metrics and hinting/TT instructions to make it more legible at small text sizes used for source code.
The changelog is available here.
Pro Powerline glyph patch is included
The regular set is patched with Powerline glyphs by default. There is no need to patch the font to use it in Powerline environments.
Pro Source code is released in UFO format
UFO source format is widely supported by all modern font editors if you would like to modify the typeface.
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 No ligatures in the default font
Although patched versions with ligatures do exist - see here.
Con Sometimes difficult to distinguish lowercase "i" (eye) and lowercase "l" (ell)
When using a higher resolution monitor and a smaller font size, the lowercase "i" (eye) and lowercase "l" (ell) are very difficult to distinguish. The space between the dot and the remainder of the letter seems to somehow disappear, thereby making it look like a solid line, similar to the lowercase "l" (ell).
Con Too similar to DejaVu
See this gif comparison between the two fonts.
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.