On 8/25/25 20:33, Jon Perryman wrote:
Ask yourself, why are unix commands so strange (e.g. testcmd -x -v -f aaa -u mmm -t bbb ccc -u). Why is uppercase/lowercase important to Unix? It's because of C limitations. In C, you strchr('-') or strchr(' '). Since you can't search for 2 different characters, you must structure the command in a known easily parsed syntax. ...
Most UNIX facilities support search for 2 (or more) different characters, often by [list].
Searching and parsing is stunningly fast using 1 z instruction. So how does TSO parse commands such as: TSO ALloc DDN(abc) PATH('/u/user') DISP(NEW) catalog SPACE(1,1) You can't uppercase the command because of PATH requires lowercase. You use TRT CMD,TRT_TABLE where TRT_TABLE are the characters that represent parsing points. ...
"Doctor, it hurts when I uppercase the command." "Don't do that." Many mainframe conventions arose from an attemptto accommodate programmer habits formed by the limitations of the 026 (no longer marketed by IBM,AFAIK), aggravated by the 3277 which, unforgivably, transmitted minuscule while it displayed majuscule. Don't uppercase the command; uppercase the keyword at the point of symbol lookup. Similarly, uppercase the argument of DSN; leave the argument of PATH, SEND, ... as is. Outgrow your 026 mindset. Think of 52 different characters, not two typographic variants of 26 characters. But IBM could do better. It lacks common extensions such as: find -iname OptionL case-sensitive regex for DFSORt ... -- gil