The most obvious difference is probably in the 0s. For example, I would never use Droid Sans Mono (#8) because it lacks a clear distinction between O and 0.
With the abundance of fonts available today, I can't see any reason for the existence of a programming font that doesn't properly differentiate between 0/O and 1/l/I/|.
I thought I was the only one. I much prefer small fonts and I am often made fun of for it. This font is still great, but I often have problems on OSX with the font becoming blurry and not being able to set anti-aliasing properly.
I use "DejaVu Sans Mono" for a few years because of number of supported languages. It may seem that software developer needs only English, but I actually have to view files in at least three languages, like HTML, XML, JSON, other data files, including localization files. So it is nice to have all symbols rendered with the same font.
Are people really that conscious about coding fonts? Maybe it's just me, but I am more concerned with color palettes for the code highlighting more than fonts. I barely notice font differences in most cases. When it comes to fonts, any gun can shoot really. Except Wingdings, where is that font even used?
FWIW, after trying out many fonts (some are mentioned here) I settled on Cousine and PragmataPro depending on the terminal application. One uses Bash, other one Fish. One's for serious work, one's for quick work or backup. Etc etc. Both have the same color palette though (Solarized Dark).
I've had different opinions on fonts over the years, sometimes with little to no preference and other times trying to use a single font across all my devices. I finally decided the only real preference I had was not seeing the same font all the time for a long time. Seeing a similar pattern with my preferences toward color themes, I finally decided to stop letting myself worry about it and set up [1] for my fonts and [2] for color themes. Every time I launch emacs it chooses at random from up to 22 available monospace fonts, 4 font sizes, and 38 color themes. This has proven very useful for juggling large numbers of sessions on the same desktop (especially with window translucency).
It depends, I try to choose something that's easy to read to avoid confusion between some characters and numbers. Also some programming fonts offer symbols ligatures. I don't like them, maybe it's just an habit but, if I have to write something, I don't want to think about the meaning of a symbol into another font. I find my self comfortable with the Ubuntu fonts, these are my system & browser defaults. Being everywhere in the interface I forget about them and concentrate on the code. Color palettes and code highlighting are also my concerns, I change them depending on ambient light. But I usually prefer bright palettes.
To me, both fond and colour are important. I want a good, clean[1] monospaced font with a nice set of ligatures.
[1] What I mean by this is that characters (and especially symbols) are easily identifiable, which usually means they should not have much unnecessary detail. They also should not bee too thick or thin. I mostly use Fira Code currently, which is like Fira Mono but with ligatures.
Yes. I care a lot about the font. One of the first things I install in Windows is DejaVu Sans Mono. A good font has clearly distinct characters. Can you tell these apart without trying? ijtlI|!?[{(
A good font is clearly readable, even when bold and small.
A bad font can be headache inducing, and requires extra brainpower from the reader, especially when spelling is important.
>Are people really that conscious about coding fonts?
Probably not as much anymore, most IDE's in the past 5-10 years have default font and color schemes that are pretty good for most people. It used to be that the first 30 minutes after installing any IDE would be spent customizing the color scheme. And since no IDE's had export/import functionality, and most programmers having almost no background in graphic design, they all looked hideous. Today, the only thing I feel compelled to change is selecting whether I want a light or dark colored theme, and they're all way better than anything I could come up with myself.
i decided to give Go Mono[1] a chance when they released it almost a year ago and i love it! and to the HN commenter who said i wouldn't last a week with the font, i thumb my nose
Because the article isn't actually a popularity list - it's an opinion list. Down at the bottom, the author mentions that last bit. There's no numbers, no statistics, no nothing. Just some opinionated designer regurgitating what we've read many times.
I don't mind that Consolas wasn't featured (even though it is my personal choice), but not mentioning it in the Inconsolata listing seems like a huge oversight, to say the least.
I've switched programming fonts about a million times in the past 20 years, and just recently settled on what I now consider to be the perfect font, and one that was hiding under my nose the whole time:
Hah, I always thought M+ 1m was my little secret that I had discovered; apparently it's the fifth most popular coding font. It's significantly more narrow than most monospaced fonts while still being easy to read, allowing for more side-by-side editor windows.
I really like the way Fira Sans looks, and I used it for a while, but M+ 1m has a huge practical benefit. And it still looks great, too.
I switched to Fira Code a couple months ago, as well, and now when I don't have it I feel sad. The ligatures make my Perl and JS code so pretty. It's just more satisfying when I have to stare at the same project for hours.
I've been using Fixedsys Excelsior for months and I love it; it's pretty big compared to most bitmap fonts and it being bitmap keeps me from messing with fontconfig's hinting more than necessary. The only flaw is that it doesn't have an italic or bold version.
It does have a variant with programming ligatures though, if you're into that:
The article is missing to mention the most important change, when it comes to on screen fonts, in recent years: HiDPI displays.
Before that, only a few monospaced fonts, like Consolas, with proper pixel hinting worked for me, or I had to go for absurdly high point sizes (16 or above) to not be irritated by uneven lines and dotted zeros with no gap.
Since switching to Retina-like displays anything on that list works pretty well to personal preference and eye strain seems to have much reduced.
A shoutout to Iosevka: https://be5invis.github.io/Iosevka/ , which is not only extremely configurable with presets for other popular coding fonts so you can mix and match your preferences, but each glyph is composed from a set of underlying components, defined in a glorious and hackable lispish DSL. It also has a splendid set of ligatures. I think it's a work of art, and have been supporting the creator's patreon: https://www.patreon.com/user?u=5787198
"10 fonts that I think most people writing code are using but I really have no idea..." should be the title of this. There's no way to know for sure, but realistically the most used fonts are probably Consolas, Inconsolata, Office Code Pro D and Monospace since these are the default fonts on the likely most used code editors (VS, Atom, Notepad++, Sublime, VSCode, Eclipse). Most vim/emacs users likely change their font from the default.
59 comments
[ 0.68 ms ] story [ 15.4 ms ] threadapparently i'm a font heathen, though, because i use menlo or consolas.
I've recently switched to Iosevka ; it's a little quirkier but also good.
FWIW, after trying out many fonts (some are mentioned here) I settled on Cousine and PragmataPro depending on the terminal application. One uses Bash, other one Fish. One's for serious work, one's for quick work or backup. Etc etc. Both have the same color palette though (Solarized Dark).
[1]https://github.com/dwringer/emacs/blob/master/.emacs#L120-L1...
[2]https://github.com/dwringer/emacs/blob/master/.emacs#L210-L2...
[1] What I mean by this is that characters (and especially symbols) are easily identifiable, which usually means they should not have much unnecessary detail. They also should not bee too thick or thin. I mostly use Fira Code currently, which is like Fira Mono but with ligatures.
A good font is clearly readable, even when bold and small.
A bad font can be headache inducing, and requires extra brainpower from the reader, especially when spelling is important.
Probably not as much anymore, most IDE's in the past 5-10 years have default font and color schemes that are pretty good for most people. It used to be that the first 30 minutes after installing any IDE would be spent customizing the color scheme. And since no IDE's had export/import functionality, and most programmers having almost no background in graphic design, they all looked hideous. Today, the only thing I feel compelled to change is selecting whether I want a light or dark colored theme, and they're all way better than anything I could come up with myself.
[1] https://blog.golang.org/go-fonts
Courier New.
I really like the way Fira Sans looks, and I used it for a while, but M+ 1m has a huge practical benefit. And it still looks great, too.
Much better, and justifies the use of a special font, which IMO is not really worth it without ligatures.
https://github.com/tonsky/FiraCode
It does have a variant with programming ligatures though, if you're into that:
https://github.com/kika/fixedsys
https://fonts.google.com/specimen/Roboto+Mono
Before that, only a few monospaced fonts, like Consolas, with proper pixel hinting worked for me, or I had to go for absurdly high point sizes (16 or above) to not be irritated by uneven lines and dotted zeros with no gap.
Since switching to Retina-like displays anything on that list works pretty well to personal preference and eye strain seems to have much reduced.