> A lot of developers I’ve met who hated math had the skills for it. If you can master a new programming paradigm in a few weeks than you can do math, it’s not the monster all theses writers make it out to be.
Let me start off by saying that, as someone whose research is applied mathematics, I agree with you that math does not need to be "scary" if the pedagogy is tailored to the right level and style.
That being said...I think you're being a bit optimistic (or cavalier?), and maybe swinging too far to the other end of the spectrum. I don't believe programming has much overlap with mathematics at all. It's very close to applied logic, but I think even then it's specifically much more like an engineering discipline than a mathematical one. At the higher levels of computer science (like complexity theory) I see a much broader overlap with mathematics, but you use very little of that in typical programming.
I think the skills that make someone a good programmer and the skills that make someone a good mathematician are essentially orthogonal: I've met mathematicians who are excellent programmers (and vice versa), but I personally think that's more because they have learned to keep one discipline "out of the way" of the other one. I don't think most computer scientists or mathematicians actually make very good programmers (and vice versa) because there is little actual overlap in their skillsets.
Once you get past calculus (and maybe linear algebra), math becomes primarily about proofs, not computation. Proving abstractions in math and programming software do not have a significant overlap. I think most people can reasonably learn an undergraduate math curriculum (say, up to abstract algebra and something like elementary number theory), and I think most people can reasonably learn programming. But I don't see any realistic skill transference between these two, i.e. learning one won't make you learn the other any faster.
I'm not trying to claim one subject is obviously harder than the other, I'm just saying that it might give someone false confidence to have them dive into complex math just because they have experienced success in learning new programming frameworks or paradigms every year for their career. That is setting them up for failure - it takes significant mathematical maturity to read through a textbook and understand it without a teacher, just as it takes some domain-specific maturity to optimize learning a new programming language from a textbook or documentation.
People who want to learn math should be prepared to spend 5 - 10 minutes reading each page of a math textbook to really understand the material, followed by a few hours on each chapter's problems. This is absolutely doable for an autodidact, but I think my framing is a bit more realistic than yours. Even if they're innately capable of learning the math, they should be prepared for it to be essentially as difficult as learning programming for the very first time.
It's more the style. Often the technical jargon is arcane and there's usually not a clear distinction between when the author is using a very exacting mathematical term or just a generalized english term unless you are knees deep and spend a large number of your waking hours in a very specific field.
Then there's the naming ... P(X) and we're in probability and X is a random variable but if we are using just "p" then we're in physics and talking about momentum. If it's "P" then it's power, unless it's P(x) and then we're talking about geometry. And then you can italicize it, bold it, put a hat or a dot on it or under it, make the braces square, straight, or curly, and you get something else entirely; I mean completely different fields. Sometimes the same thing is used in multiple fields and then you need substitution syntax when using the two together. Great system!
So if you have a job where you are juggling 6 or so disciplines and you see a jumble of stylized letters in an equation along with a description, it's a fairly absurd system especially when the author assumes that all the readers know what they mean when they say i+p(j)/k or that when they use common everyday words which, in that particular branch of mathematics are actually very specific technical terms.
I often read things and think "what on earth is this person saying?" and then have to go back and decrypt this terribly designed mathematical language everyone uses that we are all supposed to say is a glorious and perfect interface. It's not, it's god awful and horrendous. The vast majority of humanity run screaming from it and can't interface with it to work through even simple concepts that they probably already know.
It's the modern version of ancient latin and it's become equally heretical to insist that we must create a better, more humane, more consistent, more discoverable, more flexible interface to describe the world that isn't just vestigial symbols from far-flung authors spanning 3000 years thrown together in a huge dumpster fire.
Every discipline has the problem that it's jargon is impenetrable to outsiders. Try showing someone with zero programming knowledge a text talking about "string search" and "pointer chasing" and they will be just as confused.
Mathematics is only different because it is useful in many other fields, so you get lots of non-mathematicians trying to make use of some result in isolation. When they don't understand the explanation, they blame it on the unfamiliar words and notation, but often that's just a symptom of not understanding the concepts. Anecdote: I have been taking a course taught in Chinese, which I don't speak very well, so all mathematical jargon is new to me. But just seeing how they were used let me recognize the words for familiar mathematical concepts.
Of course some mathematical writing is just bad, but usually mathematicians will then agree that it's bad. But if some formula comes with an explanation using words you don't understand, there is no way around looking up definitions until you understand the prerequisites. There is no language you could translate mathematics into to make it magically more understandable, unless the translation always prepends an introductory textbook.
I don't think it's heretical to long for better notation, I just don't think it's going to help much. But everyone is free to make up their own symbols, so feel free to go ahead. If it's really better, people will adopt it, just as they adopted superscripts for powers instead of one-off symbols, Leibniz notation instead of Newton's, and so on.
If you feel this way, I encourage you to consider learning a formal verification language like Coq. I've found that reading maths in Coq or the like (quite a lot of maths has already been formalised in some kind of proof assistant) is ultimately easier as although it's more verbose, the writer is forced to specify everything clearly and unambiguously, and checking the exact meaning of any term is only a command away.
Let me start off by saying that, as someone whose research is applied mathematics, I agree with you that math does not need to be "scary" if the pedagogy is tailored to the right level and style.
That being said...I think you're being a bit optimistic (or cavalier?), and maybe swinging too far to the other end of the spectrum. I don't believe programming has much overlap with mathematics at all. It's very close to applied logic, but I think even then it's specifically much more like an engineering discipline than a mathematical one. At the higher levels of computer science (like complexity theory) I see a much broader overlap with mathematics, but you use very little of that in typical programming.
I think the skills that make someone a good programmer and the skills that make someone a good mathematician are essentially orthogonal: I've met mathematicians who are excellent programmers (and vice versa), but I personally think that's more because they have learned to keep one discipline "out of the way" of the other one. I don't think most computer scientists or mathematicians actually make very good programmers (and vice versa) because there is little actual overlap in their skillsets.
Once you get past calculus (and maybe linear algebra), math becomes primarily about proofs, not computation. Proving abstractions in math and programming software do not have a significant overlap. I think most people can reasonably learn an undergraduate math curriculum (say, up to abstract algebra and something like elementary number theory), and I think most people can reasonably learn programming. But I don't see any realistic skill transference between these two, i.e. learning one won't make you learn the other any faster.
I'm not trying to claim one subject is obviously harder than the other, I'm just saying that it might give someone false confidence to have them dive into complex math just because they have experienced success in learning new programming frameworks or paradigms every year for their career. That is setting them up for failure - it takes significant mathematical maturity to read through a textbook and understand it without a teacher, just as it takes some domain-specific maturity to optimize learning a new programming language from a textbook or documentation.
People who want to learn math should be prepared to spend 5 - 10 minutes reading each page of a math textbook to really understand the material, followed by a few hours on each chapter's problems. This is absolutely doable for an autodidact, but I think my framing is a bit more realistic than yours. Even if they're innately capable of learning the math, they should be prepared for it to be essentially as difficult as learning programming for the very first time.