For years now the question has been surfacing in the OpenVMS
community "Where are the pimply faced kids?" The other situation
which seems to continually occur is a developer of one language
suddenly finding themselves having to modify or maintain an
application written in a language completely foreign to them.
This book was a year long effort to answer both of those questions.
It also should help those to work on a good platform. Once the
rudimentaries of logging in, symbols, logicals and the various
editors are handled this book takes the reader on a journey of
development using the most common tools encountered on the OpenVMS
platform and one new tool making headway.
A single sample application (a lottery tracking system) is developed
using FMS and RMS indexed files in each of the covered languages.
(BASIC, FORTRAN, COBOL and C/C++). The reader is exposed on how to
use CDD, CMS and MMS with these languages as well.
A CD-ROM is included which contains the source, MMS and command
files developed through the course of the book. Once RMS has been
covered with all of the languages the same application using MySQL
with C and FMS is covered. This breaks readers into the use of
relational databases if they are not currently familiar with the
concept. Rounding out the technical portion of the book is the same
application using RDB with FMS. While source code is provided for
all of the language implementations only FORTRAN and COBOL are
actually covered in the text.
It is the hope of the author that this book will prove a useful
reference on the desk of every OpenVMS developer. The inclusion of
MySQL should benefit both those unfamiliar with relational
technology and those platform veterans interested in playing with
MySQL for the first time.
There are two main intents of this
- Allow developers who know at least one of the covered
languages on another platform to quickly come up to speed on the
- Assist current OpenVMS developers finding themselves having to
work with a differentlanguage on this platform.
- The /SPECIFICATION qualifier of the SORT command lets you
identify a text file which contains a plethora of power.
You can define named fields, named keys, named test conditions,
inclusion criteria, omission criteria. In a batch job
stream, you typically have a lead program which creates the sort
specification file (if you need to do record selection that
varies from run to run), execute the sort command, then write
your follow-up program to process the sorted data. This is
a much more acceptable approach than writing one massive
executable which will run for hours without creating many
entries in the log file. Most developers I run into don’t know a
lot about the sort specification file, so we are going to cover
it in the COBOL chapter.
- A reference is a “special” object. There is a reason we
covered COBOL prior to covering C, and references are it.
You better have read that chapter. When we discussed the
linkage section in COBOL, we discussed how COBOL doesn’t really
pass parameters unless it is forced to pass them. The
linkage section creates reference points back into the caller’s
working-storage section. These references allow your
called module to use those values just like they were your very
own, but they aren’t. The reason most COBOL programmers
don’t even know there is a GIVING clause on the procedure
division is because they know the linkage section operates via
references (unless you tell it not to). When you alter the
values of items passed by reference you are actually altering
the values in the caller.
"DO NOT begin any new database projects without first reading
chapter 13 (MySQL) and chapter
14 (Oracle-RDB) of this book. Hint: while you can acquire MySQL for
free, and it may have a place
for some small applications, it may cost you more in the long run."
Neil Rieck, OpenVMS Application
"Hands-on programming throughout the book provides a highly
effective learning tool, and the best practices, advice, and
knowledge transfer from the author gives the reader the unique
feeling that they are sitting down next to a mentor, being coached
through the tricks of the trade!"
Regan Windsor, Reader Views
"I had it shipped to the Netherlands for the price of $96. It
arrived within a week of the order date. Worth every dollar
"Highly recommended for OpenVMS programmers (especially those new to
OpenVMS who need a good bootstrap). At the very minimum, a copy of
this book should be purchased as an "office resource" in every
location where OpenVMS developers work."
Neil Rieck, OpenVMS Application
"Amazing. This is a truly astonishing work and a MUST for
everybody who is starting with application developing, be it on VMS
or not (I can not tell for others as I am starting myself). It is
not a book where you will find many theories about abstract topics
but one displaying everything you need to know by means of examples,
explaining each example's important parts in-depth. You really feel
the experience of the author throughout the text! This is a book I'd
try to take with me if my house was burning down."
Thierry Dussuet, OpenVMS Student
Ian Miller, OpenVMS.Org -
OpenVMS News and Information
Reprinted from: http://www.openvms.org/stories.php?story=06/04/02/4453076
After I got over the surprise of seeing a new book on OpenVMS
Software Development I wondered
at the title - this is an 800 page book with a CD! The book is
intended for people who are familiar
with programming on another platform and are faced with maintaining
an application on VMS
written using classic OpenVMS software tools. Perhaps a better title
would be “What a person
unfamiliar with OpenVMS should know to maintain an OpenVMS
Hughes describes uses of: the MMS and CMS tools from the widely used
software development toolkit; CDD; FMS; the RDB and MySQL databases.
He also mentions other
tools often found in the OpenVMS application development environment
such as VMSMAIL,
PHONE etc. Parts of OpenVMS which will be unfamiliar to a person
transferring from another
platform, such as logical names and DCL symbols, are introduced as
they will often be
encountered when maintaining an application on OpenVMS.
The book is based around a single application which is developed in
each of DEC BASIC,
FORTRAN, COBOL, C and C++ using a variety of tools. Full source code
is provided on the CD. By
repeatedly implementing the same thing in different languages the
programmer familiar with one
language can learn about another. The presented code is not suitable
for a production
environment but is intended to illustrate something being described
in the text. For example the
error handling is not always fully implemented except when Hughes
wishes to describe dealing
Hughes describes building the application and typical ways of
organizing the development
environment and highlights common pitfalls for programmers coming
from other platforms. The
book is written in American English and in a casual style. Although
it is easy to read some people
who are not native English speakers may not recognise some of the
colloquial terms used. I don’t
think this will significantly hinder understanding.
Hughes has opinions about how things should be done and is not
afraid to state them! Personally
I find an opinionated book easier to engage with because there is
something to argue or agree
with. The final chapter is Hughes opinion on the state of the IT
The key to appreciating this book its specific focus. I think the
target audience will find this a useful
resource to sit alongside the OpenVMS Documentation. However the
material is also useful for an
OpenVMS developer faced with an application in a different
programming language to the one they
2007 TheMinimumYouNeedtoKnow.com. The information on
this page may not be reproduced or republished without prior
permission from Roland Hughes.