Really? Because I’ve been using ABC notation for music for decades

Try writing an orchestral suite in ASCII and see how well it goes.  C'mon.  I know people use tablature and similar ideas.  Sure.  So what?

> The fact that I can enter Python code as plain text is even more useful than music and math.

Sure, because you speak English.  Go talk to a kid who has to learn this in, I don't know, Egypt or China.  

Sorry, notation is far more powerful.  As I said in one of my other notes, people who have not had the unique experience of using something like APL for non-trivial development work simply don't get it.  This is very much a conservative reaction (I do not mean this in the political sense at all) in that people are always more comfortable with things they know staying the same.

I suspect that, had I not been pulled from a FORTRAN class by my APL-evangelist Physics professor in college I would likely react similarly if someone told me it might be better to consider notation as a way to improve computational expression of ideas.  I get it.  I am not oblivious to the absolute fact that context is crucially important here and very few people without the appropriate context are open minded enough to consider new ideas without becoming passionately involved in a negative way.

Anyhow, I'll repeat, I am nobody and I am certainly not going to change the Python world.  Sleep well knowing this is just another random moron saying something he probably should not have said.

I now see this is an intellectually welcoming community, which completely explains the walrus operator and other issues.

Thanks anyway,


On Wednesday, November 6, 2019, 02:22:00 PM PST, Andrew Barnert <> wrote:

On Nov 6, 2019, at 18:05, Martin Euredjian via Python-ideas <> 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…)