[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