Try this site and pin the ones you like to compare really easily. You can also change the code to whatever you like.
I think my main is Hack, though I really like Pragmata and Gintronic. Jetbrains and Firacode are pretty cool, though I much prefer the first three to either, and Jetbrains to firacode.
One thing I really like about Hack and Gintronic is the very laid back parentheses. They don't try to enclose the characters inside them like some fonts. They're both very readable, hack is compact, gintronic is more extended but it has this feeling of everything being a logical block. Pragmata I really like but hard to actually compare it because it's not on the site I shared above. Pragmata is I think as good as hack and gintronic, and it has the added benefit of having ligatures and nerd font glyphs built in! I'd probably prefer hack or gintronic overall if they had these features but they don't.
Ubuntu Mono since it was in beta and I heard the designer from Dalton Maag — the typeface design studio commissioned to design it — give a talk about how excited he was to be able to create a comprehensive, carefully thought out, and truly free/libre font.
I've never seen another one that I prefer the look of, and now it's imprinted in my brain. People love to crap on Shuttleworth / Canonical / Ubuntu, but there are a lot of great things they've contributed over the years.
I love MonaLisa a lot. I’ve been using it for pretty much all monospace throughout my computer. It feels very fine-tuned and well thought out, and it’s very readable too.
I was using Inconsolata for about 5 years, then switched to Inconsolata-g when that came out, for another 5 years. But it's a pretty old font and is TrueType and it's hinting is bad, so doesn't render well on Linux and it misses out on a lot of new font features.
In 2019 I went hunting for a new favourite font, and tried out a whole bunch, giving each one a week in my IDE to really get to know it. During that time I realised I had a bunch of basic requirements for a font that some do better than others:
Similar characters should be distinct: eg, uppercase O and number 0. Uppercase I, lowercase l, and number 1. It's weird how many popular coding fonts fail to make these clear.
Not too wide, and not too narrow. You'd think monospace fonts are all around the same size horizontally, but a standard 80-column slab of code can vary greatly in screen space width depending on the font, some are much too wide. Consolas is an example that is too wide. I like to have the option to tile three code panes side-by-side on a 1080P screen.
Easy to read. For some reason a lot of coding-specific fonts affect my ability to quickly and easily read the code, and some give me a headache.
I realised that my use of Inconsolata for such a long time in the early stages of my career definitely shaped my preferences. I was looking for something similar to Inconsolata. That was when I discovered Fantasque Sans Mono. It's a kind of weird looking font, maybe a bit too playful for a serious coding font, but I found I could read and parse code much faster (maybe it helps with mild dyslexia?), each letter is very distinct from every other. It has elements of handwriting, it has elements of a dyslexic font, it has similarities to Inconsolata.
I've been using Fantasque (with Nerdfonts mixins) for 4 years now. Since then there has been a renaissance of code fonts, like Jet Brains Mono, and Fira Code. I like those, they are good fonts, but I keep going back to Fantasque, it feels so comfortable to use.
I use SauceCode Pro (variant of SourceCode Pro with nerdfonts stuff). I've given up on changing it because everytime I do I find stuff that's "non-standard" in the fonts I test and it bugs the hell out of me. @ signs are the absolute worst offenders, which is weird because they have a very uniform look everywhere that's not a specialized "programming" monospace font.
That's a very nice one! I also enjoy programming ligatures.
I use Cartograph CF. I like to use the handwriting style for built-in keywords. Those are common enough that I identify them by shape. The loopy handwriting helps me to skim over the keywords to focus on the words that are specific to each piece of code.
I wish more monospace fonts would use the "m" style from Ubuntu Mono. The middle leg is shortened which makes the glyph look less crowded.
I have a custom TrueType font embedding the UCS bitmap fonts so I can use it with modern font renderers which dropped support for those old font formats.
I settled on Go Mono, a few years back after going through a list of commonly recommended code fonts, and picking the one that I liked best. While I usually do not program in Golang, I still find the this font to be well suited for any programming language.