... the age old convention of using upper case names for all their shell variables. ...
It reminds some programmers that a '$' is necessary for expansion. It is somewhat like using all capitals for #define macros in C (where the expansion is automatic, but still different from other symbols that aren't macro names.) Both of these are surreptitious salves for not having the full LISP conventions for eval and quote. --