[Info-vax] Learning VMS application programming

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Thu Sep 4 20:51:47 EDT 2014


On 2014-09-04 23:12:29 +0000, wendellxe at yahoo.com said:

> On Tuesday, September 2, 2014 1:27:30 PM UTC-7, wend... at yahoo.com wrote:
>> I've been looking for a tutorial book on VMS programming...
> 
> Thanks for the comments so far. It's a relief to hear that RMS 
> operation is mostly transparent. I was thinking of starting out with 
> some text munging utilities, figuring it should be easy if I stuck to C 
> standard lib calls.

Not sure I'd pick C for text processing, and I like C.  C++, maybe.  
But if you're used to working with C, it'll work more or less the same, 
including accepting Unix-style file paths and the rest, as well as 
VMS-style file specifications.

> I've been getting a feeling of cultural dissonance. There seems to be 
> the assumption that I'm going to need a lot of help.

FWIW and strictly for comparative purposes, imagine if I showed up in a 
Unix forum asking for an introduction to Unix, and particularly how to 
program FUSE and SQLite as part of learning Unix.  How would you 
interpret that, if you were responding?  Because that's roughly where 
this thread started out, in terms of VMS terms and concepts.

> Developing in *nix, I generally expect to find sufficient resources to 
> go forward largely on my own.

Good on you.  Seriously.  Welcome to a completely different world.

> I've got Kerrisk's _The Linux Programming Interface_ and Stevens & 
> Rago's _Advanced Programming in the UNIX Environment_ on my desk.

As I have commented to others before, it's usually best to mentally 
chuck out your knowledge of Unix at least initially, as the assumptions 
that knowlege will tend to lead you to make will just confuse and 
frustrate you with VMS.

> Between those and some select samples of open source projects, I expect 
> to be able to figure out just about anything that doesn't involve 
> proprietary interfaces.

> I read something about development in the DEC days, when it was assumed 
> that if you could afford a VMS system, you could afford a DEC training 
> course to learn VMS programming. So, there wasn't a tradition of making 
> tutorial material or learning on your own. Is that kind of the subtext 
> here?

The VMS documentation set was and is the key resource.  The third-party 
books that were around — some bonehead I know well wrote the Writing 
Real Programs in DCL, 2nd ed book, and there were various other books 
available — but most of those books are now out of print.  The VMS FAQ 
<http://labs.hoffmanlabs.com/vmsfaq> has an (old) VMS bibliography, if 
you want to go looking for older books.

Yes, there were some classes.   Most folks I'm aware learned from the 
manuals, though.

If you want to and need to get up to speed more quickly due to some 
project — which can be inferred from your questions and from the 
phrasing of your answers — then some custom training will help you with 
that quest, if not bringing in some more VMS-experienced help to get 
things going.

> I have been reading through the docs. Much harder to read than 
> third-party books, but that's usually the case, I've found. Why are 
> almost all the code samples in DCL? Isn't that kind of like having a 
> Windows systems book with all the code in DOS batch script?

The User's Manual will be heavy on DCL and DCL procedures.   But I'm 
not certain what you're reading here, though.   The Programming 
Concepts and the reference documentation tends to be far more oriented 
toward C, Fortran, BASIC and other languages, and then there's the 
compiler-specific documentation that goes into some depth on each of 
various languages.

> BTW, I've been browsing through the OpenVMS Freeware stuff. The files 
> are all in VMS format and I don't have a conversion utility on Linux, 
> so I have to wait until I'm on a Windows machine. There really ought to 
> be a Perl/Python script for this.

This was discussed recently over in ITRC 
<http://h30499.www3.hp.com/t5/General/FDL-for-OpenVMS-files/m-p/6589110>; 
yes, there are tools that allow Unix to read VMS-format files.  
<http://labs.hoffmanlabs.com/node/302>   I've deliberately generated 
Unix-compatible source files within the NEWUSER example code zip 
archives: <http://labs.hoffmanlabs.com/node/1260>   Since you're 
thinking of usign C, also see <http://labs.hoffmanlabs.com/node/562> 
and <http://labs.hoffmanlabs.com/node/273>.   But rather than working 
across platforms, it's usually easier to log into one of the 
open-access systems (decuserve and the deathrow cluster) and start 
using VMS directly, if you're not in a position to get a VMS server of 
your own going locally.


-- 
Pure Personal Opinion | HoffmanLabs LLC




More information about the Info-vax mailing list