[Info-vax] Learning VMS application programming

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Tue Sep 2 18:18:10 EDT 2014


On 2014-09-02 20:27:30 +0000, wendellxe at yahoo.com said:

> I've been looking for a tutorial book on VMS programming, something 
> akin to Rochkind's _Advanced Unix Programming_.

I've not encountered anything similar.

> I haven't found anything online, but I've seen mention of these two 
> books. Could anyone comment on their contents and/or recommend 
> something else?
> 
>     Writing VAX/VMS Applications Using Pascal (Theo de Klerk, 1991)
> 
>     Software Implementation Techniques: Writing Software in OpenVMS, 
> OS/2, UNIX and Windows NT (Donald Merusi, 1995)

Neither is particularly similar to the cited Unix book, AFAIK.

> Coming from Unix, I'm used to designing around the interaction of 
> small, modular tools and using flat text files as a common interchange 
> format. I need a thorough explanation of how to best design around 
> VMS's heavier process model and relative complexity of the RMS.

I'm wondering if you're really in "the deep end of the pool" here, and 
might be better served with either some custom training, or by bringing 
somebody in to help with whatever you've been working with.  Your 
phrasing is somewhat unusual for this, and it can be inferred that 
you've just been handed a project on a platform that you're not 
familiar with.  Coming up to speed on general VMS programming will 
probably take most of six months of varied experience, and possibly 
longer.  Driver programming and kernel-mode can take longer.

In general, RMS is an integrated NOSQL database.  It can often be 
ignored, as most languages have native calls to the file system that 
use RMS on your behalf, and these language calls then look and work as 
you'd expect.  If you want details of RMS, see the Guide to File 
Applications in the documentation set, then the RMS Reference manual, 
and I have some C RMS wrappers available at 
<http://labs.hoffmanlabs.com/node/1260>

Processes are heavy compared to Unix — which you're always in a 
different process — and used to be heavy when VAX was slow, but it's 
rare for processes to be a particular problem now, barring odd 
application designs.  The difference is that you're in the same process 
context for the entire lifetime of your login, barring the creation of 
subprocesses, detached processes, batch processes or such; unless you 
go looking for and explicitly creating another process.

> I have looked through much of the docs available from HP, but they are 
> not suitable tutorial material.

Usual recommendation: Programming Concepts (which is scattershot in its 
organization) and then the compiler manuals and the RTL and system 
services and other references.

Roland Hughes has a few books out 
<http://www.theminimumyouneedtoknow.com>, but most everything else is 
likely long out of print, and a chunk of it is out of date.  (Documents 
and books older than the late V7 or V8 range likely omit a number of C 
calls, GNV tools, and other programming interfaces that were added 
~V7.3-2 and later.)

There's a list of books in the old VMS FAQ: 
<http://labs.hoffmanlabs.com/vmsfaq>


-- 
Pure Personal Opinion | HoffmanLabs LLC




More information about the Info-vax mailing list