Come on. It&#x27;s totally obvious that the shapes of * and + are much simpler and much more distinct than &quot;sum&quot; and &quot;mul&quot; (which by the way are relatively short and simple examples for words).<p>Humans have excellent shape recognition -- recognizing (and differentiating) a tree and a person happens subconsciously, effortlessly. Interpreting the words &quot;person&quot; and &quot;tree&quot; takes way more effort.<p>Similarly, humans have usually very good spatial sense. If there are persons to the left and to the right of a tree, it is effortless to recognize that they are &quot;separated&quot;.<p>&gt; You&#x27;re talking GUI, which is different than writing and reading code.<p>No. I&#x27;m talking perception.<p>&gt; There are, for instance, much less GUI elements visible on the screen than there are identifiers<p>That depends. There are very complex GUIs out there. But let&#x27;s assume it for a moment.
(By the way that typically that means the code is not good (weak cohesion)).<p>&gt; there is much more context available for deduction in the code than in the GUI.<p>That is not supportive of your previous argument: The more identifiers, the less context per identifier.<p>&gt; I don&#x27;t think the two situations - recognizing GUI features and recognizing and understanding identifiers in the code - are comparable.<p>It&#x27;s both about perception. It&#x27;s very, very important that programmers can focus on their work instead of wasting energy building parse trees in their minds, incurring severe &quot;cache misses&quot;. Again, take this simple commonplace example:<p><pre><code>  (sum (mul a (minus (b c)) d)
  a*(b-c) + d
</code></pre>
If you don&#x27;t think there&#x27;s a huge difference I can&#x27;t help you. I&#x27;m sure I need about three seconds to parse the sexp as a tree and figure out what goes with what. Then I have to go back and interpret the operators.<p>Conversely, the infix&#x2F;symbol operators example I can map out with minimal, and linear, movement of the eyes. In most cases I don&#x27;t even need to parse it as a tree -- it&#x27;s almost a sequence. On a good day, it costs me maybe a second to parse the thing and extract the information I need.<p>Another advantage of symbols for arithmetic is that they give a sense of security, because one can intuitively infer that they have &quot;static&quot; meaning. While usually words are reserved for things that change, i.e. mutable variables. Being able to infer non-mutability based on shape alone gives a huge advantage.