I studied mathematics long before the dawn of the computer age. When I first began playing with computers in the early '80s, I tried to extend the conventions I learned in mathematics to computer programming.

In symbolic logic, mathematicians developed the
convention of expressing variables with a single letter. There are some
wonderful attributes that you attain when all of your variables consist of a
single letter. For example, you can express operations simply by the position of
the letters. For example, I could express the act of multiplying the variables *x*
and *y* simply by writing *xy*.

Besides using the 26 letters of the roman alphabet, mathematicians adopted the Greek, Hebraic and other alphabets for special characters in their works. For most people in the world, the symbol pi (π) refers to the mathematical constant 3.14....

Unfortunately, these conventions did not work as well in the computer as well as they did on the chalkboard. The difference is that the symbolic logic developed by mathematics during the last several centuries was optimized for communications between people. Computer languages need to be optimized for communication between man and machine.