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

Reply via email to