It is the exact opposite. Ligatures were created to help deal with the lack of clarity when symbols overlap. fi, ff, fl, ffi, have historically (like print press historical) been common ligatures where others are stylistic, where others are downright questionable & make things harder to read. The first category should almost always be supported, & the others can usually be disabled if not commonly off by default where you opt in for some design, not for general body copy.
What you are referring to about ‘programming ligatures’ is an outright abuse of open type features full of false positives, ambiguities, & lack of clarity for outsiders to understand what your code means. What you want is Unicode supported in your language so you can precisely what you mean than using ASCII abominations—like meaning → but typing ->, dash + greater, than which isn’t at all what you mean which is a rightward arrow. (with a non-exhaustive languages with decent Unicode support: Raku, Julia, Agda, PureScript, Haskell with Unicode pragma, & all APL dialects).
It is the exact opposite. Ligatures were created to help deal with the lack of clarity when symbols overlap. fi, ff, fl, ffi, have historically (like print press historical) been common ligatures where others are stylistic, where others are downright questionable & make things harder to read. The first category should almost always be supported, & the others can usually be disabled if not commonly off by default where you opt in for some design, not for general body copy.
What you are referring to about ‘programming ligatures’ is an outright abuse of open type features full of false positives, ambiguities, & lack of clarity for outsiders to understand what your code means. What you want is Unicode supported in your language so you can precisely what you mean than using ASCII abominations—like meaning
→
but typing->
, dash + greater, than which isn’t at all what you mean which is a rightward arrow. (with a non-exhaustive languages with decent Unicode support: Raku, Julia, Agda, PureScript, Haskell with Unicode pragma, & all APL dialects).