Some basic model theory questions about languages. I have heard that a language $L$ is a set of symbols that are assigned some arities. Can it be any set of symbols? That is, is the exact identity of the symbols irrelevant? Also, if the answer is yes, then how does one define whether two languages are "essentially the same"? Like, I might use the symbol $+$ for a language with one binary operation symbol, and someone else might use $*$ for a language with one binary operation symbol. These languages are technically distinct, but they seem to be "essentially the same". So, how does one define this notion of "essential sameness"?
 A: Yes, in general no restrictions are placed on what can serve as a symbol. In practice, this means that any set in your background set theory can be a symbol, but this detail is usually mentioned once and then not mentioned again. It may be obliquely referenced when you want to construct a theory with huge numbers of new symbols.
It may seem a little odd to say that $+$ or $*$ is really a set, but $\pi$ being a set is also odd.
If you use $+$ for a binary operation and another person uses $*$, that's not really important if you're both isolated from each other.
However, there are cases when you do want to be able to compare symbols between theories.
One such example is the notion of a reduct, which takes a structure and discards some symbols. The old structure and the reduct obtained from it are different structures and satisfy different theories, but it's important that the symbols in one vs the other can be compared.
There are other interesting constructions such as Morleyization which leverages the ability to mint arbitrary new symbols on demand. Morleyization adds a new $n$-ary predicate symbol $R_\varphi$ for each $\varphi$ with $n$ free variables.
