Terminology - the reason for symbol reuse in programming languages What is the term in programming language creation that is the rationale for symbol reuse? Though potentially confused with overloading, it is not so much the application of symbol reuse, but the logical result of a limited vocabulary in the world of common symbols. 

I seem to recall running in to the term when reading about the development of C - that one eventually runs out of simple symbols, so the language designers took a reasonable approach to use familiar symbols to mean different things, rather than invent new symbols for every new need. Additionally, they desired to stay within the 7-bit ASCII alphabet. The particular meaning is determined by the number/type of operators used or the broader context. 

An example is from C/C++ where &lt; is used as 


a delimiter in template definitions (template &lt;int N&gt;) 
#include delimiter, searching system headers first (#include &lt;filename&gt;)
a less-than comparison operator (x &lt; y)
left bit shifts (x &lt;&lt; n)
the ostream operator (std::cout &lt;&lt; val &lt;&lt; std::endl)


Point - there are cases of symbol reuse beyond strict overloading, and I believe that there is a one-word term whose definition is something like "the condition of using the same symbols for different purposes by necessity or for the sake of maintaining familiarity."
The main reason is very mundane. At the time C was designed, and
notations for many things, we did not have any form of graphics, or
very seldom (like one graphic screen for the whole university, even in major places). Actually, the main output devices were the teletype or the line-printer, with a standardized and
limited character set. Even the alphanumeric screen came later for most. No windows or mouse excepts in rare labs (Xerox).q

So that was a general constraint for everyone. For writing papers, we
could add hand-written symbols in blank spaces left by the typist. But
for more mechanized works such as programs listing (i.e. the printed
text of programs) and for execution result, we had to do with what
characters were available on the printing device.

Another problem was that increasing the number of symbols was limited
by the standard encoding in seven or eight bits. Memory was very
costly. The syntax of Fortran (the version of that time) was influenced by the format of punched cards.

Then there is a tradition. Mathematicians have been reusing symbols too. And so does natural language. We get diversity by composing them, or using context. And this was fortunate for Gutenberg, and made writing generally much easier. Compare Chinese and Latin writing.

Regarding how this could be called, I must say there is no word that
comes to my mind. Not even the feeling that there was a specific word
for that. I did quite a bit of theoretical and practical work on
programming language syntax and I do not remember this as an issue,
except as explained below.

Short of knowing what word you may look for, I can try to guess, and some
obvious candidates would be homonymy or homography. Or maybe polysemy.

A specific case, but which concerns more identifiers, is scoping
rules. In some languages they apply also to operators.

So far, that is the best I can contribute to this onomasiological issue.