[Info-vax] VMS documentation, was: Re: Special deals on Tape Drives
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Mon Mar 14 13:37:12 EDT 2022
On 2022-03-13 01:12:37 +0000, chris said:
> It's a while since I used the grey wall, but to be fair, all the info
> was there, it's just wasn't organised in a way that made things easy to
> find. I remember doing some serial comms work years ago and needed to
> consult 3 or 4 volumes to find the info, bits of which were distributed
> across all of them. System service calls can be a bit arcane as well,
> though that's probably just a matter of familiarity.
Descriptors and system services are arcane, and with lots of glue code
in languages without built-in support. And often with glue code, even
in those languages with better support.
Navigation in the current OpenVMS documentation needs help, and the
availability of recipes—what used to be in TIMA/STARS and what was once
accessible via AskQ and ilk—are lacking. The OpenVMS doc is old,
piecemeal, and in need of an overhaul and updates.
As examples of gaps in the current OpenVMS documentation: writing
secure apps, data security, and network security applications. There
are others. VSI is aware of these gaps, and has a support database
replacement presently being populated. When the product support team
can't find an existing recipe or existing example to send to a
customer, they presumably write one anew, and add it to the database.
This all takes time and effort. Substantive other work here awaits, too.
One longer-term downside of providing these source code examples is
that any bugs or issues or limits tend to spread widely, should those
arise in any examples. And these are easy mistakes to make, whether
around error handling or data security, or otherwise. Which means
abstracting this code can be preferable (remove the glue code, and
improve the APIs), whether it's moving descriptors into objects, or
providing better-abstracted APIs for the most commonly employed source
code recipe sequences. The existing SYS$EXAMPLES and related code
examples have (or had) source build issues, too.
Examples of gaps here include networking (IP, DNS, TLS, etc) and the
network security APIs, and pretty much all of ACME—ACME is a massively
flexible design, but also sometimes subtle and difficult to correctly
use for common operations. There are others. All of this really needs
to be better abstracted, and incorporated into the platform.
Descriptors were a nice idea in 1978 too, but expectations have
changed. C and C++ could have used better abstractions for dealing with
descriptors too, but C and C++ extensions for descriptors seems rather
less than worthwhile in 2025. And the typical replacement of adding
message-passing enhancements is a far investment in the run-time and in
the compilers generally, and well beyond the existing and required
compiler work that is already critical path development work for VSI.
> Compare that to the unix approach. Originally just a set of runoff
> pages, very much on your own, but the methodology, ways and means of
> accessing information, have changed. For example, plugin fopen() to a
> search engine and you get dozens of the basic man page descriptions,
> but also a range of pages with code snippets illustrating usage. Much
> faster way to get productive. Solve the problem, not get bogged down
> trying to find the information...
With apps such as Dash, too. https://kapeli.com/dash
Getting system services and other OpenVMS reference materials into
formats available for inclusion into these or similar tools is another
project.
The built-in documentation tags increasingly available in various
tooling is making source code easier to document, as well. This isn't a
new idea, what with Doxygen, and as OpenVMS itself generates some
documentation from source code. (For generating error messages and
recovery documentation, see GNM on the OpenVMS freeware.)
But for now and for the next year or three, VSI is occupied getting
OpenVMS x86-64 stable and working and shipping. Which can and is and
should be the priority.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list