5 ms·
> Whereas ligatures are going the opposite direction: making distinct characters appear to be others. Yes. On my computer. In my editor. That I am using…becaus
by FridgeSeal 3y ago
> Whereas ligatures are going the opposite direction: making distinct characters appear to be others.
Yes. On my computer. In my editor. That I am using…because I like ligatures, because they make my code easier to read. For me.
Use of ligatures on my setup does not force anyone else to use them? They’re not “viral” like a language feature.
“Oh but what if the >= Unicode symbol ends up in your source code and you don’t notice because you’re using ligatures?”
Is this the most contrived issue ever? Yeah and what if someone runs “find and replace” using Unicode confusables on my codebase? That’s arguably worse and requires no special font features. Plus I suspect most programming languages would throw an error immediately if you used the >= symbol instead of the pair.
If you don’t like ligatures, that’s fine, but there are those of us that do, and our font preference isn’t a threat to you.
- grzm 3y ago> Yes. On my computer. In my editor. That I am using…because I like ligatures, because they make my code easier to read. For me. Later in the submission, Butterick addresses this directly, and doesn't disagree: > “What do you mean, it’s not a matter of taste? I like using ligatures when I code.” Great! In so many ways, I don’t care what you do in private. Although I predict you will eventually burn yourself on this hot mess, my main concern is typography that faces other human beings. So if you’re preparing your code for others to read—whether on screen or on paper—skip the ligatures.
- hakre 3y agoThat's a good advice, isn't it? Thanks for pointing to it. But it is interesting still, how many seem to read the text it feels to them touching their privates and need to make themselves vent off.
- grzm 3y ago> how many seem to read the text it feels to them touching their privates and need to make themselves vent off. Not dissimilar to those choosing to highlight the worst aspects of comments rather than addressing them in good faith. Please don't make things worse.
- hakre 3y agoPardon, then you may have misread along my comment, that was not ill intended, just seeing that the article polarizes.
- Macha 3y agoIs it really that surprising that a post written in a confrontational, argumentative style produces similar responses?
- TonyStr 3y agoLater, in the "by the way" section after the article. After an article that in no way suggests it's talking about printed and shared code exclusively. After paragraphs such as this > Bottom line: this isn’t a matter of taste. In programming code, every character in the file has a special semantic role to play. Therefore, any kind of “prettifying” that makes one character look like another—including ligatures—leads to a swamp of despair. If you don’t believe me, try it for 10 or 15 years. The submission reads very much like an attack on any use of ligatures in code. The comment in the end reads, to me, more like a resignation of responsibility over his claims.
- tptacek 3y agoIt is an attack on using ligatures in code. It's not hiding that. That's the point of the article.
- 1attice 3y agoIt's not an "attack". It's an argument against. "Attack" implies some sort of animus directed against the recipient; e.g. an attack on unhoused people, etc. An attack implies violence. An argument, even one with strong language, can be about whether or not a tool is fit-for-purpose. This is allowed. This is discourse. Right now, politically, a lot of arguments are actually attacks (on specific groups of people) in disguise, and I sympathize with your confusion. But arguments do exist. Not every argument is an attack. I can't link to this book often enough: https://www.goodreads.com/book/show/29363252-conflict-is-not-abuse?from_search=true&from_srp=true&qid=o6dl7PwFOs&rank=1 https://www.goodreads.com/book/show/29363252-conflict-is-not...
- timsneath 3y agoYou can attack an idea. I don't know why you think it assumes animus against the recipient.
- 1attice 3y agoYes, and you can also shoot, strangulate, or set an idea on fire. Metaphorically speaking. But metaphor is imprecision and unnecessary colour. Be clear and precise. Use specific language. This is admittedly prescriptive usage, but I am prescribing this antidote for an overheated era, full of overwrought language.
- nxpnsv 3y agoWhen I check someones your code and edit it, I get plain text - no ligatures, fonts, highlighting, themes, etc are included. I don't know what dev setup forces visual choices on coders, but that sounds like bad idea...
- grzm 3y ago> ... if you’re preparing your code for others to read—whether on screen or on paper—skip the ligatures. Here he's referring to code in books, slide decks, and during presentations, not for editing. Just below the section the above quote is pulled from, Butterick explains > One inspiration for this piece was the LaTeX crowd, who would routinely write me to insist their typography was infallible. And yet. I kept seeing LaTeX-prepared books that incorrectly substituted curly quotes for backticks.... “But code samples like these aren’t really ambiguous, because everyone knows that you don’t type the curly quotes.” ... But many of today’s programming languages (e.g., Racket) accept UTF-8 input.... So ambiguity is a real possibility. Same problem with ligatures.
- nxpnsv 3y agoHmm, maybe suboptimal for publishing. That said most publications i read have no code but beautifully rendered equations. I find these more efficient at getting the point across than code… but i guess mileage vary
- hakre 3y agoJust was wondering if today anyone is still using them, so I guess that does not need to be asked. All right, oh my captain, keep the indents and spacing tight on the monospace and sail along! Btw., anyone still using monospaced fonts in their editors?
- lionkor 3y agoi program in wingdings
- teo_zero 3y ago> anyone still using monospaced fonts in their editors? The question is aren't you?
- vonseel 3y agoDoesn't everyone? I can't stand not using monospaced fonts when coding
- hakre 3y agoJust checking ... my current IDE ... not for all parts of the source-code any longer. I'm not so sure if I want that, maybe I get dumb by it?!
- xupybd 3y agoI tried coding in a variable font. It was horrible. I couldn't read the code. I was shocked at how much my brain made use of the spacing to parse code.
- lucumo 3y agoYes, same. It's weird in a way, because there isn't all that much alignment going on in my code[1]. There's indentation, but that still works with a proportional font. And yet, it still looks wrong and hard to read. I can't really figure out why. [1] I know some people align assignments in multiple lines, or comments at the end of the line, or similar things. I've been working under code style directives that prohibited those because lines changed more often because of whitespace than because of content. Since my work requires me not to do that, I don't have the habit at home either.
- lofaszvanitt 3y agoSuuure! My fav sites on this topic: https://pixelambacht.nl/2015/sans-bullshit-sans/ https://pixelambacht.nl/2015/sans-bullshit-sans/ https://www.sansbullshitsans.com/ https://www.sansbullshitsans.com/
- Joeri 3y agoLigatures in a fixed width programming context still take up the full width of the separate characters, so a unicode symbol of the ligature has a different width from the ligature itself, and this is immediately obvious.
- deleted 3y ago[deleted]
- klyrs 3y agoI once came across a true monospace ligature font. It was the absolute worst. Especially when combining letters like ff, fi, ffi...
- rami3l 3y agoExactly. I recently started to write some LEAN which uses a ton of Unicode characters and I still use JetBrains Mono with ligatures on. ≠ is 1 unit wide but != is 2 units wide, so it's not that confusing as one might think. Besides, if someone insists, it's also possible to make a language-specific setting in the editor to disable ligatures in those languages :)
- layer8 3y agoOn the other hand, this is one aspect that makes those ligatures typographically jarring to me. It replaces one compromise with another bad compromise.