Monospaced Programming Fonts with Ligatures
&gt; Picking a programming font is like picking a religion. No matter what you pick someone will say you&#x27;re wrong. Most people will agree at least that monospaced fonts are ideal for reading code and that both of you who use proportionally spaces fonts are destined for hell, or at the very least, purgatory.<p>I guess I&#x27;m destined for hell or purgatory then.<p>Hanselman is not alone. I had the CEO of one company look over my shoulder and ask, &quot;Mike, I don&#x27;t understand how you can program in a proportional font. <i>How can that possibly work?</i>&quot;<p>He wasn&#x27;t interested in the answer, he just wanted to make a point to me and our teammates that what I was doing was weird and wrong.<p>I would hope for people to have more intellectual curiosity than this. One of the best ways to learn is to let your assumptions be challenged: talk with people who do something differently from you and find out why they do it.<p>It&#x27;s been said that a programmer should learn a new programming language every year or so, and especially learn a new <i>kind</i> of language that will teach you different ways to think about code.<p>Similarly, I think every programmer should try coding in a proportional font, at least for a while. It may show you new ways to think about how you <i>format</i> your code, as it did for me when I got curious many years ago and tried it.<p>For example, it cured the bad habit I had of lining up too many things in columns, like this:<p><pre><code>  myFunctionThatDoesStuff(someArgument,
                          andThisCalculatedOne(anArgumentThatMeansSomething,
                                               anotherWordyName));
</code></pre>
Obviously that won&#x27;t work in a proportional font, so it forced me to try this instead:<p><pre><code>  myFunctionThatDoesStuff(
      someArgument,
      andThisCalculatedOne(
          anArgumentThatMeansSomething,
          anotherWordyName
      )
  );
</code></pre>
This indentation-only style has many advantages, and of course it works just fine in a monospaced font too. In fact the Rust&#x2F;Servo team recently switched to it from their former column-aligned style.