[Info-vax] Learning VMS application programming

johnwallace4 at yahoo.co.uk johnwallace4 at yahoo.co.uk
Wed Sep 3 17:24:42 EDT 2014


On Wednesday, 3 September 2014 20:07:47 UTC+1, wend... at yahoo.com  wrote:
> On Tuesday, September 2, 2014 2:41:50 PM UTC-7, John Reagan wrote:
> 
> > > I've been looking for a tutorial book on VMS programming,> 
> 
> > >     Writing VAX/VMS Applications Using Pascal (Theo de Klerk, 1991)
> 
> > 
> 
> > I doubt it is still in print.  It is also in Pascal so if you want 
> 
> > to use something like C, you'll have to translate as appropriate.
> 
> 
> 
> Translating from Pascal to C would be trivial. The question is how
> 
> relevant the info would be to modern OpenVMS.
> 
> 
> 
> I can't even find a TOC online. The would be a good addition to the
> 
> collection of old DEC books at bitsavers.

"The question is how relevant the info would be to modern OpenVMS."

If it worked back then, it will likely still work today. Unlike some 
other operating systems, VMS has an excellent track record in 
maintaining application-level compatibility across the decades.

What kind of application are you looking at? Does it *need* any
'modern' features of VMS? 

You've specifically mentioned RMS, and heavyweight processes. They 
aren't 'modern', they haven't changed much for years (at a generic
level).

64bit addressing is probably a big+notable change, but is it relevant
to you? 32bit-addressed applications just keep on running as before.

Another notable change even further back, in the area of "processes",
was the arrival of threads, which *may* be an appropriate way for
*some* workloads to implement multiple concurrent threads of
execution with shared data, possibly even in a somewhat
OS-independent way, if that matters to you.

Others have pointed out that there are large classes of application
where RMS may be under the hood, but invisible to your application.

If you have no real need for VMS-specific features but simply need to
run in a VMS environment, some trivial stuff will "just work" anyway.
Some more complex stuff may also work without too much effort,
depending on what assumptions are made about the underlying OS.

If you're starting from scratch with your own design, and want to
consider the option of portability at some future point, you may want
to bear in mind that there are lots of POSIXy things that VMS offers,
though there's not a complete set (fork and friends being one of
several areas where things are incompatible enough to be 'interesting'
these days).

At a different level of abstraction, if you don't need to be
VMS-specific, how much could something like Python for VMS offer you? 

VMS documentation for the OS and for the languages etc has a mixture
of Reference stuff and Guide stuff. The Guides are probably a good place
to start.

If C is your thing, the VMS HP C compiler comes with a User's Guide to
OpenVMS systems, e.g. in ~700 pages of PDF, much of which won't be
relevant (but there is a chapter on RMS) at e.g.
http://h71000.www7.hp.com/commercial/c/docs/ug.pdf

Lots of questions, not enough info yet to offer really helpful answers.

Welcome to VMS, best of luck, and as the Suse people like to say...

Have a lot of fun.



More information about the Info-vax mailing list