7 ms·
Please stop it with the "coding ligatures" already. They are not helpful and only serve to obscure the code being written. This has got to be one of my least
by zestyping 5y ago
Please stop it with the "coding ligatures" already. They are not helpful and only serve to obscure the code being written.
This has got to be one of my least favourite trends in programming aesthetics these days. For a font claiming to "follow function" to devote so much effort to sacrificing function for the _vogue du jour_ is especially rich.
- kbd 5y ago<opinion>They are not helpful and only serve to obscure...</opinion> Personally -- after originally thinking like you -- I really enjoy ligatures in my code. I disable them for my terminal though. The same font can work both with and without ligatures, so it's not a negative if a font supports them. You can choose whether to enable them.
- taeric 5y agoI mean... The existence of ligatures is almost by definition strictly aesthetic. And on that measure, it either brings you a smile to notice that f and i, for example, are joined; or you didn't even notice it. That is, I won't claim they help readability. But they do make me smile, and don't seem to hurt. (I'm assuming they disappear on copy operations. Mac OS' habit of replacing -- with a longer dash is painful when sending cli arguments.)
- dsr_ 5y agoThere's a third option: "What is that?" When I'm reading fiction, I generally don't mind ligatures. I find them oppressively obscurantist in any situation where I want to know clearly and distinctly what each character is -- i.e. code and science/math/engineering.
- taeric 5y agoI'd wager that the vast majority of the time, you just don't notice them. About the only time they are easily visible is in large type, when they really shouldn't be used. It's kind of like right justified text. Done well, it shouldn't be noticed how it was done.
- bostonsre 5y agoLucky for you, you can disable ligatures or not use a font that you don't like.
- eps 5y agoYou are missing the point. Presence of ligatures in a "font designed for developers" is neither a plus nor a selling point. It is a pointless embellishment that shows that fonts' authors don't grok the character-oriented nature of computer languages. So them parading ligatures as something desirable only serves to detract from the rest of the font design and to nick their credibility as coding font designers.
- the_mitsuhiko 5y agoFor what it's worth I also have ligatures disabled but I do think it's fair for fonts to include them, particularly because it makes the fonts more versatile in settings where you want them. In particular when doing presentations having fonts that are capable of producing ligatures in monospace contexts is quite useful.
- hunterb123 5y ago> It is a pointless embellishment That's like your opinion man. > So them parading ligatures as something desirable Others desire them, so they include them. I thank that. > shows that fonts' authors don't grok the character-oriented nature of computer languages Nonsense, just an empty insult. I don't think you grok ligatures. > only serves to detract from the rest of the font design Your opinion, I believe it enhances the font design. > to nick their credibility as coding font designers Another empty insult. Including a feature that people like doesn't hurt their credibility. See also: https://www.dictionary.com/browse/subjective https://www.dictionary.com/browse/subjective https://www.dictionary.com/browse/opinion https://www.dictionary.com/browse/opinion https://www.dictionary.com/browse/aesthetic https://www.dictionary.com/browse/aesthetic
- michaelcampbell 5y ago> fonts' authors don't grok the character-oriented nature of computer languages. Hogwash. They provided all the characters (which ligatures are also, but you seem bizarrely "against" but "for" the ASCII ones), and ligature-less versions as well. So they grok it at least that far.
- amake 5y agoPlease stop it with the diatribes about ligatures. If you don't like them, don't use them. It's that simple. Other people do like them, and will continue to use and enjoy them.
- MikeTheGreat 5y agoSerious (if goofy:) ) question: How do I not use them? My understanding is that if the font has ligatures then the way to not use them is to use a different font (which is fine - there's a lot of fonts out there :) ). Is that the only way, or is there a way to disable ligatures but keep the rest of the font? Can you disable only some of the ligatures? TIA!
- kag0 5y agohow to not use them is editor dependent. but you absolutely don't have to use them. regular fonts are basically "use this image for 'a', this image for 'e'" etc. ligatures are extra data that says "if you find an 'a' next to an 'e', use this other image in place of the 'a' and 'e' images". but the non-ligature versions of characters are still in the font for use when there is no ligature sequence (just put a space in the middle of any ligature in your editor and you'll still see the independent characters rendered in the font).
- henriquecm8 5y agoLigature is a optional feature, first the editor need to support them, but I guess most editors nowadays already support that. JetBrains IDEs come with JetBrains mono and with ligatures enabled, last time I used VScode I had to enable manually for my new font.
- Aeolun 5y agoIn JetBrain products: Preferences -> Editor -> Font -> Enable ligatures So you can turn them off even in fonts that have them, but most fonts have separate versions with and without anyway.
- alexvoda 5y ago
- epolanski 5y agoYou can simply disable them.
- michaelcampbell 5y agoI mean ultimately, all characters are "ligatures", in the sense they are arbitrary squiggles to which we apply meaning. You seem to have done it well enough with at least 64 of them; maybe closer to 70 since you use _, ., , and ". Don't let a few more ruin your day. A few more, I might add, that you don't even have to use.
- lelandfe 5y agoOptional part of free thing upsets HN, more at 11
- jpambrun 5y agoThis is actually 100$+.
- henriquecm8 5y agoFor this font, but there are several other dev fonts with ligatures.
- blindmute 5y agoA ligature is more functional than not using one. They obscure the code for about 5 seconds the first time you see them, and then never again. After those 5 seconds, you register a new semantic symbol in the brain. It is objectively easier for your brain to parse a single arrow symbol than it is to parse => in a monospace font. For the latter, you are scanning two symbols and only after seeing them both can your brain put them together into a semantic meaning. This is strictly worse than just seeing an arrow symbol and understanding it is an arrow.
- smoldesu 5y agoIf this wasn't a discussion about monospace fonts, I might be inclined to agree with you. However, I kinda agree with the detractors here; ligatures objectively defeat the purpose of equally-spaced characters. The purpose of monospace fonts is to provide definitive clarity where sans and serif fonts fail to do so. In the world of programming, maintaining that consistency is essential. Having one symbol span several spaces undermines that clarity, you may as well be reading your code with Helvetica at that point. I understand that programming is a career path filled with creature comforts and obscure little things that make you happy; I even enjoy the warp cursor (gasp!) in VS Code, which definitely doesn't contribute to clarity. Let's stop treating ligatures like a direct upgrade over normally printed monospace, though. It's an option, one that shouldn't come enabled by default but one that should be available for people who want them for whatever reason.
- blindmute 5y agoMonospace fonts are used mainly because vertical alignment is desirable, and because characters such as ! and . are too narrow to easily read in proportional fonts. Monospace, then, improves clarity. Turning a => into a ⇒ does not affect the vertical alignment nor make anything too narrow to read. It just turns a combination of symbols into its semantic meaning. It allows you to parse a meaningful glyph rather than using a hacky workaround to represent meaning via ascii. This is also the point of emojis: (-_-) is fine, but most people find <expressionless face emoji> to be more clear as to the meaning. Nobody is getting confused about what these ligatures mean. They installed the fonts and selected the fonts in their IDE; they have already been coding; they are not going to see ⇒ where a => used to be and have a brain meltdown.
- veidr 5y agoJust for the record: completely disagree with you, and will never again in my career use a coding font that doesn't support ligatures. So, YMMV.
- k3liutZu 5y agoWhy? I love them ligatures. I'm looking at this code for lots of hours every day. Let me enjoy it via a nice font — with ligatures — if I deem so.
- sackerhews 5y agoI kind of agree with you, but I see them authors as avant-garde. Let them be and perhaps something new or an improvement will come out of it for the rest of us.
- the_other 5y agoI wonder if there’s a correlation between enthusiasm for ligatures and programming styles or languages. I want to learn Julia in part because it makes use of “fancy” chatacters (so your math looks like math). I like the more functional JS style, and I’m interested in haskell. And I love ligatures. Anedata of one. Are you more a C-family person, or an ML-family person?