Submitted via IRC for Bytram
Ligatures in programming fonts — a misguided trend I was hoping would collapse under its own illogic. But several readers have already sent me this new argument in favor.
Let me save you some time:
Ligatures in programming fonts are a terrible idea.
And not because I’m a purist or a grump. (Some days, but not today.) Programming code has special semantic considerations. Ligatures in programming fonts are likely to either misrepresent the meaning of the code, or cause miscues among readers. So in the end, even if they’re cute, the risk of error isn’t worth it.
There are good reasons we have Unicode and this is NOT one of them.
Source: http://tinyletter.com/mbutterick/letters/q-ligatures-in-programming-fonts-a-hell-no
(Score: 4, Interesting) by cafebabe on Monday July 24 2017, @04:24AM (2 children)
Do not want. Re-mapping compound punctuation, commonly found in programming, to distinct Unicode code-points would be about as helpful as multi-tonal Morse code. I'm sure there will be fans of this proposal but we've got enough problems with seven bit clean ASCII source code displayed as seven bit clean ASCII source code. If you don't have a Western European first language then function names and variable names with extended symbols may aid forays into programming. I've suggested decoupling all glyphs for the purpose of simplifying display [soylentnews.org]. I've seen more complicated schemes which may be facetious.
1702845791×2
(Score: 0) by Anonymous Coward on Monday July 24 2017, @06:03AM
APL programming and ASCII mix like oil and water.
(Score: 1) by kai_h on Tuesday July 25 2017, @09:29AM
Ligatures are generally used for display and printed output - you'll find that usually the underlying text is as it was typed.
So, ligatures would be used to improve (depending on your definition of improve) on-screen display of code, but the raw bytes can and would still be ASCII (or Unicode to whatever you originally typed)
So, if you had an expression that was (0…9) then the three dots (...) can be replaced with an ellipsis character (…) etc, but this replacement is done by the text editor for display, it wouldn't replace the three ASCII 0x2E bytes with a single unicode 0x2026 character.