On Nov 6, 2019, at 18:05, Martin Euredjian via Python-ideas <
python-ideas@python.org> wrote:
>
> No, using "<--" is going in the wrong direction. We want notation, not ASCII soup. One could argue even walrus is ASCII soup. Another example of ASCII soup is regex. Without real notation one introduces a huge cognitive load. Notation makes a massive difference. Any classically trained musician sees this instantly. If we replaced musical notation with sequences of two or three ASCII characters it would become an incomprehensible mess.
Really? Because I’ve been using ABC notation for music for decades, and it’s never felt like an incomprehensible mess to me. While it doesn’t look as nice as normal musical notation, it’s even easier to learn, and it doesn’t take that long to be able to read it. And the fact that I can enter it a lot faster—and, more importantly, that I can enter it in exactly the same way in any email client, text editor, etc.—makes it hugely useful. When I’m out somewhere and think of a riff, I can just pull out my phone, fire up the Notes app, and type in the ABC. That’s visual enough for me to get it out of my consciousness and then read it off and hear it in my head so I can come up with a bassline to go with it. Or to read back a few days later and play it (after a couple seconds of processing, which admittedly isn’t as good as musical notation—but a lot better than nothing, which is what I’d have if I insisted on musical notation or nothing).
For some reason, ABC is something that only musicologists learn, not musicians, unless you happen to get lucky and find it by accident. But many other musicians come up with their own idiosyncratic systems for the same purpose.
You also mentioned math. The last visual editor for math I didn’t absolutely hate was my HP42. And I’d still rather use ASCIIMathML over that, much less something like Microsoft Word’s equation editor. It’s great to have something like MathJax on-the-fly rendering, but when I don’t have that, I can read x_0, or (-b +- sqrt(b^2 – 4ac))/(2a). Some things are too complicated for ASCIIMathML, but for them, I’ll use TeX; there’s no way I’d figure it out in a symbolic editor without a whole lot of painful trial and error.
The fact that I can enter Python code as plain text is even more useful than music and math.
Sure, in your IDE, alt-[ types an arrow. But what happens when you type alt-[ in your iPhone mail app, in emacs or vi over an ssh session to a deployed server, in web text boxes like the the answer box on StackOveflow, in your favorite editor’s markdown mode, in a WYSIWYG word processor, or even just in someone else’s IDE? And I do all those things a lot more often with source code than I do with music or equations.
How are you entering the arrows in these emails? Do you fire up your IDE, type an arrow, and then copy and paste it into your webmail or something like that? If you were on your phone instead of your laptop, would you go search the web for the Unicode arrow and copy and paste from there?
Does any of that really seem as easy to you as typing := the exact same way in every editor in the world?
I wouldn’t mind an editor that had the same kind of “presentation mode” as markdown and mathjax editors, and if it rendered := as an arrow, that would be fine. But I’d still want to be able to type it as :=, because as long as I have to type it that way on a mailing list, I’d rather have just := in my muscle memory than have := and alt-[ and have to remember which one to use in which context.
(PS, I’ve never noticed before this that the two main text notations for music have the same name as Python’s predecessor and Python’s creator. Probably not significant…)