Mathematics solves this by appealing to a shared underlying "truth", that allows not only programmers with different backgrounds, but also computers to understand and process a programming language.
Mathematics solves this by appealing to a shared underlying "truth", that allows not only programmers with different backgrounds, but also computers to understand and process a programming language.
* https://en.wikipedia.org/wiki/Where_Mathematics_Comes_From
* https://en.wikipedia.org/wiki/Proofs_and_Refutations
As for mathematics being superior for underpinning programming languages - that's certainly how some people make it look, but nobody really tries to explain what exactly is the link between mathematical foundations of programming and actual programming. (I did this for my PhD and I'm still not sure how it's supposed to work.) Everyone just hand-wavy assumes it's somehow there. The best account for how this might looks is perhaps this: https://plato.stanford.edu/entries/computer-science/
And I don't think math really "solves" any of the issues that are on debate here. You still need language and notation to express your precious maths, and that falls to the very same pitfalls as what is seen in PL design.
Many do, especially in academia, but quite a few seem to be standing on a combination of "this looks like it'll do what I want" and "this interpreter is the spec."