[Info-vax] VMS Features I Wish Linux Had
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Thu Jun 30 11:29:57 EDT 2016
On 2016-06-30 09:15:20 +0000, lawrencedo99 at gmail.com said:
> Just thought of another one: access to the command-line arguments. For
> some reason, all *nix systems pass these as arguments to main() as
> though it were a procedure call. So if you have a separate
> command-line-parsing library, you have to pass argc and argv through to
> it explicitly, it cannot get hold of it directly from some global
> location, like you can under VMS.
>
> On the other hand, having the command-line presplit into words is very
> convenient, unlike DCL. Also I could never figure out how to get things
> like lowercase characters to be passed cleanly to a VMS program: put
> quotes around them, and the quotes get passed to the program as well.
Getting getopt_long() in the base distro would be a step forward.
(I've ported a BSD version of that call, and integrated it into some
existing code.)
OpenVMS command parsing in applications is based on CLD,
lib$table_parse, an add-on or language-specific parser, or (usually the
most troublesome) user-written parsing code.
Most client user interfaces have moved along from command-line
operations however, which leaves OpenVMS folks using character cell
(via SMG, FMS, TDMS, embedded controls, or just output statements), or
writing network protocols for server applications running on OpenVMS,
or local or remote X for some. Tools such as VUIT and BX are not
something in common use, nor are current GTK or Qt ports available for
OpenVMS. There's little to assist with writing the server protocols
for remote clients and related management, either — support for secure
password and certificate storage APIs, local and network encryption and
authentication APIs, as well as support for JSON, XML or otherwise, and
for dealing with HTTPS and Tomcat and related, and for parsing grammars
(for those that find CLD parsing or lib$table_parse don't meet their
needs). are all available or integrated with OpenVMS somewhere between
ad-hoc and roll-your-own.
Sure, it's certainly all possible to write or port these giblets.
Better command handling may and variously will help some folks using
OpenVMS, particularly in the existing installed base, and — for
getopt_long() and related — when writing or porting code. But
scintillating new character cell user interfaces are probably not going
to sell piles of new OpenVMS licenses for new apps outside of the
installed base, either.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list