[Info-vax] DCL's flaws (both scripting and UI)

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Wed Jan 21 12:56:30 EST 2015


On 2015-01-21 16:21:33 +0000, John Reagan said:

> To give some sense of the difficulty in changing DCL...

Until the Itanium port, DCL had its own home-grown threading, too.

If VSI does decide to head down the shebang path (and no pun intended), 
I'd prefer to see it using a different file type.

Right now, who knows what stuff is on the first line of an existing DCL 
procedure.

Then there's one of the more subtle difficulties with file-format 
sniffing in general: security.  (This with file magic, which is 
somewhat beyond the shebang handling.)  There've been valid 
multi-format files constructed, and sniffing file data to determine the 
file type can be perilous practice, particularly if that sniffing is 
not implemented in exactly the same way everywhere the sniffing is 
being performed.  One of the earliest attacks I've encountered was 
Gifar <http://en.wikipedia.org/wiki/Gifar>, and there are others.  Not 
a big deal with entirely trusted files or when the sniff is always 
consistent or when the file type always selects the file format, but 
any inconsistent sniffing might not have the most desirable results.

Trying to do this syntax and grammar retrofit compatibly and within the 
same DCL-ish context through SET PROCESS /PARSE-style syntax mechanisms 
and shebangs and related does means more work than using entirely 
separate CLIs, and it means that most sites will probably either stay 
with DCL as it is, or will end up with a mixture of the two, and the 
old code — short of a very effective translation tool — won't ever go 
away.   How much CC /STANDARD=VAXC code is still around, after all?  
Again, absolute upward compatibility tends to lead to bigger messes and 
more effort — particularly when the support for the old and deprecated 
syntax doesn't ever get removed.

I'd rather see additions and enhancements that pull folks forward, and 
— if there's a subsequent DCL retirement planned — a schedule for that 
removal.  But then DCL64 probably isn't going to sell a whole lot of 
new licenses.  Maybe a bash or another CLI might sell a few, though.  
It'd be interesting to see the sys$cli interfaces officially 
documented; there are internal areas of VMS that aren't documented 
and/or aren't stable: sys$cli, what would be a file system layer, a 
FUSE layer, etc.


-- 
Pure Personal Opinion | HoffmanLabs LLC




More information about the Info-vax mailing list