Programming as a Way of Thinking
This article starts to get at an idea that I&#x27;ve had for a while now -- that mathematicians are doing it wrong.<p>In the software business we learned a long time ago to name our variables properly, name our functions logically, and to control complexity by breaking ideas into modules and then hiding the details inside.<p>If you can&#x27;t name something, then you don&#x27;t know what it is, and that tells you that you should rethink your design.<p>Mathematicians don&#x27;t do that. They name variables &quot;a&quot; or &quot;x&quot;, or worse, they use some Greek letter I can&#x27;t type on my keyboard. They are entirely inconsistent in their use of variables: &quot;phi&quot; or &quot;theta&quot; can mean a zillion different things. I can&#x27;t tell you the number of times I&#x27;ve read a computer science paper, a paper that uses entirely unnecessary equations, and doesn&#x27;t bother to define symbols. This practice wastes everyone&#x27;s time.<p>It&#x27;s laziness, pure and simple.<p>Mathematics needs a general overhaul. The language of math needs to a complete redesign with a focus on understandability. And the key to it is to force mathematicians to name their variables.<p>Yes, I realize that mathematics deals in abstractions that have little relationship to the outside world, and it makes little sense to call a variable a &quot;dog&quot; or a &quot;car&quot;. So what? It just means that we need a new vocabulary, a vocabulary that includes terms like &quot;fourier transform&quot; or &quot;hypotenuse&quot;. Pretty much every industry has it&#x27;s own vocabulary. Chemistry has thousands of terms. Biology even more. Computer science is full of them. Math is full of symbols that have no inherent or well-understood meaning. That should change.