Live data from Hacker News

Dev Fonts

devfonts.gafi.dev

281–290 of 342 posts

Re: Dev Fonts

#281
post #23

Earlier quoted context omitted.

This looks really nice, too bad it doesn't (and never will) support ligatures. I understand the point the author is trying to make about ligatures in the separate blog post, but boy do I love my ligatures when programming.

How do you plan to reverse engineer the underlying keystrokes if you look at some ligature ridden code on a tutorial website? It is nice to read. That's not the only thing we do with code. Ligatures are fine for yourself in a private setting. It's popularity is alarming.

Well, you just have to learn all the popular ligature forms, just like you have to learn all the popular variations of letter forms (e.g. "a" and "g" both have very different variations that are popular in different typefaces).

Re: Dev Fonts

#282
post #249

Earlier quoted context omitted.

I had to google this to see why on earth you would use double negation. Apparently it's a way to negate and convert to boolean.

Yes, it's one of those dirty JavaScript tricks that abuse type conversion. Negation converts anything into a boolean, so if you negate that again, you get the equivalent of converting the into a bool. In standard (old) JS fashion, it's both slower and less readable, but people still (used to?) do it. Similar hacks include 1* for num->string and +"" for the opposite, along with several others that I have luckily manag…

I've never had to use JavaScript, but I've done the *1 or &"" in Excel to force conversion to the desired type... yes, let's mercifully lay the veil of forgetting over this.

Re: Dev Fonts

#283
post #282

Earlier quoted context omitted.

Yes, it's one of those dirty JavaScript tricks that abuse type conversion. Negation converts anything into a boolean, so if you negate that again, you get the equivalent of converting the into a bool. In standard (old) JS fashion, it's both slower and less readable, but people still (used to?) do it. Similar hacks include 1* for num->string and +"" for the opposite, along with several others that I have luckily manag…

I've never had to use JavaScript, but I've done the *1 or &"" in Excel to force conversion to the desired type... yes, let's mercifully lay the veil of forgetting over this.

Considering Excel's offical way of writing a != b is ab, I think these kinds of hacks there can be excused :)

Re: Dev Fonts

#284
post #5

More and more often, I see ligatures being used on such fonts. E.g. === or != are combined in a visually single character. Personally, I don't like that at all as I think it makes code less readable. It is probably something that you can get used to. But what exactly is the appeal of it anyway?

At first I hated them and thought they were pointless and weird, but now I'm so used to them that it feels a little off if I don't see them.

It helps to visually parse things a tiny bit more quickly, I think. And it makes things more aesthetically pleasing, for me. Combined symbols like == and <= really are unique, independent things that make logical sense as their own separate units.

Re: Dev Fonts

#285
post #183

I switched to coding in a proportional font, Verdana, a couple of years ago and never looked back. That's the font you are reading this comment in, in fact. Code is mostly words and words are much easier to read in a proportional font. Symbols are plenty clear enough in Verdana, all letters are distinguishable, and I don't use mid-line alignment so I don't see the point in a monospace font outside of the terminal.

What language are you using such that inter-line relative column spacing doesn't affect your code comprehension? > I don't see the point in a monospace font outside of the terminal Why not use Verdana in the terminal?

Wouldn’t work well for ls -l.

Re: Dev Fonts

#286

My favourite monospaced font is Triplicate https://practicaltypography.com/triplicate.html >: the only true serif monospace that I know of (though I have a vague feeling I found one other at some point). Every other serif monospace I know of is a slab serif. Triplicate’s variable stroke thickness is also exceedingly rare in monospaced fonts; almost everyone goes for uniform stroke thickness, as is customary with sans…

Re:ligatures: Unless you're programming in something like Brainfuck, ligatures are simply not going to fail because the operators that have ligatures are pretty much universal. The situation of mixing up ligatures and their respective unicode chars is also nonsense, as those characters aren't typable and will only ever be used in strings, so there's no way you'd not know which it is and it's pretty easy to check anyw…

> those characters aren't typable and will only ever be used in strings

Raku wants to have a word with you. https://docs.raku.org/language/unicode_ascii https://docs.raku.org/language/unicode_entry

Re: Dev Fonts

#288

Am I the only one who uses a proportional font for coding? I find it more readable for the same reason it's more readable in books and other printed media.

I would like to, but I hate tabs (due to the jumps it causes in horizontal cursor navigation, and also due to the nonlinear behavior when inserting/deleting characters preceding a tab in a line), so I would need an editor that widens spaces at the start of line to get sufficient visual indentation at four spaces.

Re: Dev Fonts

#289

Nice website but the problem is that it shows the fonts at 18px size when most people use their editors at 11 or 10px sizes. Many fonts look radically different at such small sizes.

I can‘t get away from Lucida Console because all those more recent fonts seem to be only designed for HiDPI use.

Re: Dev Fonts

#290

Earlier quoted context omitted.

The != notation has become pretty standard in most common programming languages. What exceptions are there in the top 20 development languages? VBA? But, taking your point, a ligature ≠ would be overloaded in representing != and ~= and /= and and becomes potentially very risky.

SQL for one.

Also MATLAB: ~= Delphi:

And if you go a bit beyond top 20, there's Haskell: /=

Post reply on HN