[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