I don't know precisely. The special characters are
# $ % ^ & _ \ { }
The first six are in the upper row of the keyboard, together with @
. I'm excluding those that are more commonly used in text, that is ! ( ) - + =
. The other non alphabetic ASCII characters ([];:'"|,<.>/?
) are used in text.
The choice of \
as the escape character for the commands is almost obvious; also quite obvious is ^
for superscripts and _
for subscripts.
Some programming or scripting languages use #
for comments, but it's also commonly used to prefix a number, at least in the US, so it was reserved for prefixing argument placeholders. The &
became the character for marking alignment points and so the choice for the comment character was between %
and @
. The first one won.
OK, there would still be $
, but in the TeXbook, page 127, we read
we are using $
as the math bracket in this manual, in accord with the plain TeX format defined in Appendix B, because mathematics is supposedly expensive.