I see this a lot from programmers, but in essence, you seem to be complaining that maths notation isn't what you want it to be, but is instead something else that mathematicians (and physicists and engineers) find useful.
CS as a field just seems to have a higher base standard for explaining their notation and ideas. It helps in cross-collaboration by making it significantly easier to self study.
Related to this, I'd say math books have a significantly worse pedagogical culture in regards to both notation and defining pre-requisites. It's very common for a math book to say "we expect readers to have taken a discrete math course" and not defining notation despite knowing the topics covered in discrete math vary greatly from school to school and may not overlap. Math professors frequently have to paper over these problems at Uni as they realize the class does not understand some notation. CS are just better about this, and I can only explain it as a part of the culture and tradition.
CS professors writes just as incomprehensible math as everyone else, as you can see many here brings up examples of CS professors writing incomprehensible math in their papers.
Math notations are two-dimensional and don't suffer very badly from structural ambiguities, so that actually fixes almost nothing.
The problem in unfamiliar math notations is rarely the chunking of which clump is a child of which clump.
E.g say that some paper uses, say, angle brackets, with some deep meaning that you can learn about if you recurse three levels down in the list of references.
I'm not confused that in <Ap>, the Ap thing is a child of the angle brackets; and calling it (frob (A p)) doesn't help much in this regard.
However, at least you can search literature for the word frob more easily than for angle brackets.
Haskell is unreadable to one who has not trained in it or similar languages ... why don't they make the syntax more readable? Or C++ with its modern templating ... why don't they change the syntax to make it more readable?
You might be tired of wandering into someone else's area of expertise and telling them:
You must change! You must make it more accessible!
Believe me, mathematicians are tired of non-mathematicians wandering up and saying:
Look! Computer programs are easy and intuitive and everyone can understand them, even without training! Make math like that!
Do you really believe that math notation is deliberately designed to make it hard for people untrained in math to learn how to use it? Do you really believe that no one has tried to make it more accessible?
Do you really believe you know more about why math notation is what it is than mathematicians and trained mathematics educators do?
It looks that way, to many people, even in this thread.
> why don't they change the syntax to make it more readable?
They do, actually. Quite often at that. It's called releasing new version.
> Look! Computer programs are easy and intuitive and everyone can understand them, even without training! Make math like that!
No. Computer code is as far from intuitive as it can be. Nobody says otherwise. So you don't need to do anything to get there, the notation's good on that front (meaning: completely non-intuitive).
That's where the IDEs come in. And debuggers. And other tools. Lots of tools. They really help. You could use them, because the IDEs-for-math already exist. In college I had exactly one semester to familiarize myself with one of them, and it was never mentioned again until graduation.
> Do you really believe that math notation is deliberately designed to make it hard for people untrained in math to learn how to use it?
Why, do you believe it's not possible for it to be that way? See: https://en.wikipedia.org/wiki/Pythagoras#Prohibitions_and_re...
> Do you really believe that no one has tried to make it more accessible?
Why did they fail? (If they didn't - where's the exponential growth of first years' mathematicians in training)
> Do you really believe you know more about why math notation is what it is than mathematicians and trained mathematics educators do?
I'm 100% not interested in why it is like this, it's not my problem, so I really wouldn't know. Would you be interested in how at some point you had to write `class X(object):` and that it later changed to simply `class X:`? Would you go hunt on the mailing list to see who exactly came up with the idea? Or why they thought it would be better that way? Would you be interested in that if you just had to write a 10-lines of Python, to scrape some web site?
Surely you must realize that you're protesting this because it has this reputation, though?
And surely you must realize that it has this reputation for a reason?
When I was a teenager and took my first calculus course, I struggled with summation for three days. When I finally went to my dad he looked at me funny and said "your teacher is an idiot, isn't he? It's a for loop."
I had been writing for loops for seven years at that age. I almost cried. It was like a lightswitch.
The problem was always that nobody had ever actually explained what the symbol meant in any practical way. Every piece of terminology was explained with other terminology, when there was absolutely no reason to do so.
Mathematics has the reputation for impermeability and unwelcomingness for a reason.
It's because you guys are ignoring us saying "we want to learn, please write out a cheat sheet" and saying "yes, but don't you see" instead of just building the easy on-ramp that every other field on earth has built
.
> > You might be tired of wandering into someone else's area of expertise and telling them: > > You must change! You must make it more accessible!
No, we generally just fix the problem. If people are saying "this isn't accessible enough," we just work on it.
I would like for you personally to be aware of Bret Victor's work. He's incredibly potent and clear on these topics.
Programmers work really really hard on learnability and understandability. This is a big deal to us. That's why we can't understand why it's not a big deal to you.
http://worrydream.com/LearnableProgramming/
We have, in fact, mostly given up on waiting for you, and started to make our own tooling to understand your work, using obvious principles like live editors and witnessable effects.
http://worrydream.com/MediaForThinkingTheUnthinkable/
Edit: those are the talk notes. Wrong link, sorry. I should have used this instead: https://vimeo.com/67076984
This is a big part of how we criticize ourselves, is for failing to provide the tooling to allow new modes of approach.
https://www.youtube.com/watch?v=PUv66718DII
We frequently think of our programming languages as new modes for thought. This line of discussion is particularly popular in the Lisp, Haskell, and Forth communities, though it crops up at some level everywhere.
We frequently think that the more opaque the language, the less useful it is in this way.
That's why programming languages, which are arguably 70 years old as a field, have so much more powerful tools for teaching and explanation than math, which is literally older than spoken language
You guys don't even have documentation extraction going yet. We have documentation where you have a little code box and you can type things and try it. You can screw with it. You can see what happens.
This is why we care about things like Active Reading and explorable explanations.
http://worrydream.com/ExplorableExplanations/
This is why we care about things like live reactive documents. It really changes your ability to intuitively understand things.
Math hasn't grokked non-symbolic communication since Archimedes, that's why it took nearly two thousand years to catch up with him.
We are asking you to come into step with the didactic tools of the modern world. It's not the 1850s anymore. We have better stuff than blackboards.
Are these flat symbolic equations cutting it for you guys to communicate with one another? Sure.
Are they cutting it for you guys to onboard new talent, or make your wealth available to the outside? No. (Do you realize that there is an outside to you, which isn't true of most technical fields anymore?)
These problems are not unique to mathematics, of course. Formal logic is similar. Within my own field of programming, the AI field is similar, as is control theory, as tends to be database work. They don't want to open the doors. You have to spend six years earning it.
But the hard truth is there are more difficult fields than mathematics that have managed to surmount these problems, such as physics (which no, is not applied mathematics,) and I think it might be time to stop protesting and start asking yourself "am I failing the next generation of mathematicians?"
An example of who I believe to be genuinely good math communicators in the modern era are Three Blue One Brown.
.
> > Believe me, mathematicians are tired of non-mathematicians wandering up and saying: > > Look! Computer programs are easy and intuitive and everyone can understand them, even without training! Make math like that!
Then fix the problem.
It IS fixable.
.
> Do you really believe that math notation is deliberately designed to make it hard for people untrained in math to learn how to use it?
Given the way you guys push back on being asked to write simple reference material?
No, but I understand why they do.
.
> Do you really believe that no one has tried to make it more accessible?
No. Instead, I believe that nobody has succeeded.
Try to calm down a bit, won't you? People tried to explain Berkeley sockets in a simple way for 12 years before Beej showed up and succeeded. The Little Schemer was 16 years after Lisp.
Explaining is one of the very hardest things that exists.
We're not saying you didn't try! The battlefield is littered with the corpses of attempts to get past Flatland.
We're just saying "you haven't succeeded yet and this is important. Keep trying."
.
> Do you really believe you know more about why math notation is what it is than mathematicians and trained mathematics educators do?
No. The literal ask is for you to repair that. Crimeny.
Take sequential Monte Carlo / sequential importance sampling for instance. This powerpoint on it is clownishly bad: http://people.eecs.berkeley.edu/~jordan/courses/260-spring10...
This is supposed to be an algorithm implemented in code. It's essentially illegible without code examples, which it doesn't feature. Code examples tell you what the cipher signifies; at no point does the cipher provide any value to the learner. Fanciful bayes-theoretical statements and so on basically reduce to "iteratively build enlarging valid states." Given the fact that this simple statement is missing, I question if the professor has some sort of communication disorder or if they're just a troll. Similar to pomo philosophers, it's probably a mix.
Try to understand programming based on a programming lecture powerpoint, it is usually impossible.
Edit: Also you can't write code for what he is talking about in that lecture. Code cannot deal with infinities or continuous values. You'd get approximations which isn't the same thing, then you'd need to prove that those approximations are good enough which would have to be done without code anyway.
Doesn't help that then notation is often poorly defined, and sometimes a weird mix of notations is presented.
Overall the situation is also not pleasant for math people changing topics, or physicists reading papers from physical chemistry professors who 'grew up' in mathematical chemistry.
Leave math notation whatever it is
Just do a better job of documenting it