Read and understand code faster with programming ligatures in Fira Code font
visualstudioextensions.vlasovstudio.com
visualstudioextensions.vlasovstudio.com
If I get used to this font on my machine, i will have a real problem when parsing code in another terminal/editor. Unless all the programmers in the world decide to switch to it simultaneously, this introduces a mental translation that's counterproductive.
(Why would I try using something I was confident would make me less productive? Because I felt was in a rut, and was trying out disruptive changes to my workflow. For example the same day, I switched all my calculator tools to RPN. That's not gone badly either.)
Citation needed.
>confusing = with == will lead to lots of errors etc
This is more about NOT confusing == with = -- and several similar characters than the opposite.
Sounds like you have thought of all kinds of arguments to not actually try it and see whether it's any good in practice -- which is how anything should be judged (unless it involves some huge risk). In other words, a priori rationalization.
>If I get used to this font on my machine, i will have a real problem when parsing code in another terminal/editor.
The above argument advices to forever stick to a lowest common denominator coding toolset, lest one has to ever try to work in other environment.
How about maximizing the performance one gets from their own, and most frequently used, environment, instead of "what-ifing" for foreign systems they might have to use 1/10 of the time or less?
Plus, having a tool at our disposal and getting used to it doesn't mean we can't also do without if needed. Especially if it's a small improvement, like the one proposed by the ligatures here, and not some totally different notion that we can't ever go back to how it was without it...
I don't understand why ppl upvoted my comment. You should try it first and report back.
So the onus is on promoter - to show benefits.
The onus is _not_ on everyone in the world to show whether the idea works or not.
If the change is harmless enough to try, one can just see for themselves.
And for things that work for some people but not for others, some general proof doesn't make sense anyway.
Nobody came and proved me how vim can work better for my editing than Emacs. I tried both myself and found out. Several for tons of other things that I adopted or not.
What I thought would be true ligatures ("tying together") of "&&" which could still be recognized as a pair of ampersands, but by being conjoined cleanly appear to be symbol in their own right, which is what "&&" is.
However part of the value of ligatures is symbol tightness, which is defeated by the need for a monospaced font.
Still, I'm glad people are experimenting!
A colored != is not a C++ operator either. It's about getting our minds to differentiate symbols faster, not about whether they exist as is in some language's syntax.
But it looks sexy and confuses the co-workers XD. Joke aside: I actually like making my PC mine and like the look. I don't think it makes me a faster or better programmer in any way...
The experience reminds me of adopting an anti-aliased font for coding, for the first time (many years ago). First half an hour of unfamiliarity and skepticism, then it just seems very natural, and reading code feels smoother and easier and more productive.
I absolutely cannot stand code in non-monospaced fonts, so I don't think there are any alignment problems. (The look of Fira Mono / Fira Code isn't really to my taste though, so I'm hoping for the same things to start popping up in other fonts too!)
What I would like to try is a language where = actually meant equality rather than assignment and a few other common operators like !=, ===, !==, <= and >= all appeared using the standard mathematical symbols at the same width as =, < and >. That way, some related cases would naturally line up and most lines with comparisons would become shorter and less cluttered, which seems like a modest incremental improvement in language syntax. Alas, you’d also need software and keyboard input to support that in a way that made those alternative symbols effortless and entirely predicable to use. This feels like a job for a standardised programmer’s keyboard and AltGr, except that you’d need a standardised programmer’s keyboard for each of the different languages that already uses AltGr for other purposes, and at some point it all becomes more trouble than it’s worth.
For eg:
String s = "A != B";
would render the ligature inside the string?
So the inequality inside the string will be afforded the same treatment as an inequality anywhere else in the code.
"editor.fontFamily": "Fira Code"
"editor.fontLigatures": true