Test-drive nice programming fonts live on the web

Originally published at: https://boingboing.net/2019/10/21/test-view-programming-fonts.html

1 Like

You should absolutely positively try iosevka:

The whole ligature thing alone is just wonderful.

2 Likes

I’m really not a big fan of ligatures in code display.

If you’re using it on your own display, that’s fine. If you ever have to produce documentation that includes parts of the code, it’s not OK, because your fancy display ligatures are now a possible source of confusion.

Code has a very specific functional meaning. It’s like law - where each word has specific meaning or purpose, and therefore people find reading laws to be difficult. Except code is not like law, it’s worse - because the many non-text characters also have specific meaning or purpose.

The worst case in law is the second amendment. The many commas look rather odd to our modern eyes: “A well regulated Militia, being necessary to the security of a free State, the right of the people to keep and bear Arms, shall not be infringed.”
That unusual deployment of commas has made some say that the right to bear arms and the necessity of a militia are not intertwined. Others say they are.
It was probably simply James Madison inserting a pause, as though the text were being read aloud, for some form of drama. But it’s caused plenty of legal discussion. I’m not sure, but I suspect that hyphens and parenthesis were rarely used if at all during that time. But they would probably have been much clearer than the comma pattern that we ended up with.

A ligature in documentation of your code could have similar far-reaching circumstances. Some poor person, referring to the documentation, doesn’t quite follow what your ligatures mean and makes the wrong assumption. Plans are made, code written, and time is wasted wondering why the new system behaves differently to the old system.
Or maybe it’s 3am and they’ve been called out? A mistake then would be doubly unpleasant.

Basically, if you want to use ligatures personally, that’s OK. But if you’re sharing your code, it’s probably wiser not to use ligatures when outputting for documentation. You may be changing the meaning in ways that you don’t - and can’t - yet comprehend.

In order to keep consistency, I’ve avoided using ligatures for these reasons. That having been said, iosevka is quite a nice programming font even without ligatures, as it fits a lot of text on screen without being hard to read.

first thing I do when I’m putting putty on a PC is set display font to Fixedsys

This list includes a lot of meh faces I’ve never heard of, and it doesn’t include, for example, Consolas(!) or Operator Mono which is what bobtatos use.

Anyway, there’s not that much variety among coding typefaces visually, but some of them have external advantages. Like, Operator comes in a very cool true italic, and IBM Plex Mono (which is on the list, as “Plex Mono”) is part of a very comprehensive family of good quality open source-ish faces, which could be a big advantage if you were setting documentation.

3 Likes

Surely I can’t be the only one using Copperplate Gothic Bold?

Now I just need a Visual Studio mod that plays a loud CLANG sound with every keystroke and perhaps a steamy HISSSSS with every carriage return. Then everyone in the communal office can enjoy my steampunk programming rig as it was meant to be enjoyed.

4 Likes

Good sir, do you mean to say you have not modded a proper olde typewriter to be your coding input apparatus? Hm, how pedestrian.

2 Likes

Kids these days…

1 Like

That prime sieve in APL sure brings back memories…

1 Like

Consolas is a decent choice if your OS has it. I suspect it’s been excluded from the list for the same reason Menlo and Monaco would be - they’re not available for free.

Operator looks interesting, but it’s out of my price range. A pity, as the italics are quite nice.

+1 for your last sentence :smiley:
I should have stressed that iosevka offers loads of customization options…

Anyway, there’s obviously the choice to use ligatures while writing code, and use some other font (or iosevka with the ligatures turned off) for the docs.

If we are not talking about printed docs (which we most likely are not talking about, right?), they are hopefully produces in an automated way, where the reader can set a theme etc. This way the reader gets what they are used to and the problem is a non-issue.

I do “Internet of Things” programming. Therefore, I use comic sans.

4 Likes

Those APL ones are not for me; I can’t as a programmer stand when it’s that hard to differentiate from a zero and a capital O.

I personaly use Envy Code which I found years ago to please my brain much more than the other built in fonts. Once you find a good font, one tends to get stuck on it…

2 Likes

Ah, now, I do a lot of mathematical programming, and I use Vim, which makes it really easy for me to have variable names like “σ_target” because mathematicians such as myself regularly use greek letters in equations.

Yes,I realize this makes me a bad person… :smiling_imp: Think of it as a little skills test before I let you near my code base.

In turn, that means the greek letters, some math symbols and so forth, need to be distinct and easy to read as well.

I also love monospace because (along with Vim’s Align) it makes it easy to make things align vertically. I realize that in the java.world.where.everything_is_often_a_really_long.sub_fielded_expression(call) that this is not popular, but when lining up big sparse matrix expressions with indirection it’s invaluable to be able to see line for line differences.

… Just my 2¢ …

2 Likes

I think that half the reason that learning Julia is on my to-do list is that you can enter LaTeX and tab-complete it to the corresponding unicode.

1 Like

Bitstream Vera Sans Mono is my jam.

I don’t like APL385 because of its lack of proper handling for zeroes.

i found comic sans and ive never turned back.

:thinking: Hmm… one could write a Vim plugin for that. The Vim digraphs are actually pretty usable, I’d be happy if I could get shell support for them as well.

How does one install fonts on these new-fangled personal computers? I’ve only ever installed fonts on an IBM mainframe for use with a huge tractor-feed laser printer… I’m sure the methods are totally different.

This topic was automatically closed after 5 days. New replies are no longer allowed.