Gawd, I Miss VMS
(circa March, 1996)
(The reply not posted to the newsgroup, too much useful
information.) (and flame-bait)
>Ah, OK, sorry, I misunderstood you. I thought that you wanted to extract
>the data with ANALYZE. What you're talking about is:
> $ ANALYZE/RMS/FDL file
>which creates a .FDL file (unless you say otherwise with an additional
That's it! Thanks for straightening me out. Can't believe I forgot
the syntax, as much as I used to use it.
Once I found this trick I vowed to always store data in indexed files
in ASCII, so I could edit the files. Even managed to convince the
senior programmer. Saved us many times.
Gawd I miss VMS. It wasn't fancy, but it didn't need to be. It just
And the HELP command taught me computers.
And my customized beyond belief LSE editor
and my DCL file for creating MMS files
Descending keys in RMS!
Group logical names
*System* logical names!
The *programmable* debugger
The programmable single-stepping easily-set breakpoints full-screen
remoteable output DEEE-BUGGER!
Templates in the LSE editor
My search-for-what-I-have-selected extension to the LSE editor
The Help key
The Do key
The Select key
The Cut key
The Paste key
The next/prev Page command in the editor (go to form feed)
The ability to set a mark in the editor that was *independent* of
selecting things to CUT/COPY.
Filesystems didn't randomly degenerate.
Filesystems didn't trash themselves even if, with malice aforethought,
you cut power to the system without shutting down.
30 users on 1MB of RAM
No world-readable passwd files.
No suid bits.
Freya, I almost forgot backup-bits!
Hell, backup *DATES*.
File creation dates
NO dump/tar/cpio BS.
BACKUP can deal with a write error so you don't have to throw the
MONITOR! MONITOR! MONITOR!
Recognizes abbreviated commands.
DOCUMENTATION! Readable, complete, accurate DOCUMENTATION!
NO *TONS* of uncompilable, unreadable, bizarre-makefile, must-be
allegedly portable software, BECAUSE YOU DON'T NEED IT!
You get everything you need.
SHOW DEV/OPEN (?) (To show files that are open on the device)
Being able to log security violations on the console so that
you can see exactly *what* and *where* the problem it.
My god, I almost forgot FMS!
and the DCL date lexicals that won't freak when the year 2000 hits
and all the other system libraries that you can call from DCL
or a program or from MACRO
and the system services.
And that VMS was *D*E*S*I*G*N*E*D*. It didn't just occur at random.
No, I wasn't complaining....
Yes, I understand unix is the waveofthefuture....
Yes, unix is the equivalent of a programmer/sysadmin Full Employment Act....
No, lusers will never understand unix, so I'll always have a job if I
Yes, unix is free (and worth every cent)....
No, no two unix *installations* are alike, so there's plenty of job
security for everyone....
No, nothing ever gets fixed in unix so there's more job security....
Anony "VMS was my first real O/S, after SVS." Mous
My TRS-80 Model II just had BASIC.
>And I made sure I will never have to miss VMS, by starting my own firm
>around it :-). BTW, I just loved your list of features, may I use your
>message publicly (I will put it on WWW if I get your permission)?
Yes, Please post it on your Web page, just make sure of the attribution.
(Why should *you* be flamed for something I *suffered* to learn.)
I shamefacedly admit that I forgot to keep a copy of it. So if you
don't put it on your webpage, please e-mail me a copy back.
And here are some more to add, that got lost in the data dump:
Runoff - a text formatter that *just works*. They figured out what you
need and give it to you. They don't hand you a hammer, a saw,
some nails and some sawdust and tell you "Here, make your own....
This is better [sic] because everyone has a *customized* system!"
Consistently formatted error messages that you can search for in
a log file.
*Meaningful* error messages - Even my wife, the die-hard u*ix bigot,
Meaningful error messages that you can look up the solutions to in the
Meaningful, accurate documentation.
Meaningful, accurate, and *complete* documentation.
Meaningful, accurate, complete, and *well-organized* documentation
Meaningful, accurate, complete, well-organized, and readable documentation.
Meaningful, accurate, complete, well-organized, and readable documentation
broken down by user, programmer, and system administration.
*D*O*C*U*M*E*N*T*A*T*I*O*N*!!!!! Unix people always *complain* about the
documentation. Complain? That's like going to the library and
complaining about the card catalog. "Just look at all those indexes!
Anyone will be able to find out whatever they want! We Can't HAVE
Just *one* program to perform any given task. Instead of umpteen different
ones, each with with different strengths, all with horrible weaknesses
so that you have to learn *ALL* of them.
Returned error codes
Meaningful returned error codes
Meaningful returned error codes that say more than either "it worked (maybe)"
or "it didn't work (maybe)".
Returned error codes that realize that, just as there is more than one way
to fail, there is more than one way to succeed. (Hint: deleting a
record/file that's not there to begin with.)
Returned error codes that your program can write to a log file.
Returned error codes that you can translate using the F$MESSAGE lexical
to see !*E*X*A*C*T*L*Y*! what the problem is, with NO GUESSING.
A debugger that takes your mistakes and shoves them down your throat
when you single-step through your program. Yes, programmers *HATE*
this. Yes, *I* hate this. But still miss it.
*ONE *&$#@*$% SHELL* - *All DCL is *PORTABLE*.
They put *everything* you need into *one* shell. If it's not
there, ask for it. They'll put it in.
No more awk, nawk, gawk, perl, sh, ksh, bash, csh, tcsh, ed, sed,
expand, unexpand, xargs, ... etc. (I am NOT making this up.)
Lexicals - everything built-in to the whole operating system is
available easily and consistently *at the command line level*.
Everything is built-in to the O/S. There are no glumphs of functionality
stuck on at random, that make u*ix look like the elephant man.
Feature depreciation - bad things *go away*. Things actually get FIXED.
For good! No more supporting the "sh" shell for-*&%$#-ever.
Memory management: 30 - 100 users on ONE flipping MB of actual memory.
U*ix's memory management looks good only when compared to DOS/Windows.
(I can't believe David Cutler(?), who wrote Windows NT, also helped
write VMS. VMS supports 32 users on 1 MB RAM. Windows NT needs
32 MB RAM to support 1 user.)
!RMS! - Indexed files *built-in* to the operating system. You're using
the *same* file system the O/S does. That means it's been tested
thoroughly and doesn't have performance/corruption problems.
of free *file* space that you have.
No disks divided (at random, with overlaps) into multiple partitions.
I once spent a solid week just figuring out what partitions were
set up and how, then figuring out what we were using. I found
a 300 MB partition we weren't even using! A WEEK!
Using the same functions, etc., that the operating system uses. Therefore,
they *work*. (If you want to have a good program, make the people
programming it *use* it.)
ONE editor, with great on-line help that's easily to reconfigure *on
FORTRAN - a *well-defined* language. No ambiguities. Even the DEC
extensions are well-defined. Easy exception-handling. (A great
cry of "What's exception-handling? Nothing ever goes wrong!" arises.)
FMS - a single forms management system with a great editor, where
the terminal type is *completely transparent*. (Great cry of
No idea of the file-system used, because there's no *need* to know.
It just works. No fsck. No dropped i-nodes. No lost+found.
None of the myriad features built-in to all of the u*ix file
systems because they have never once bothered to *fix* them.
NO fsck!!! Because it doesn't need it, much less *require* it.
No i-nodes - no running out of i-nodes, so you can't use your 100MB
of free *file* space.
File types - Consistently used *all the time.* Not maybe/maybe not.
no guessing what a file is. I sure miss being able to find all
all executables by doing $ DIR [*...]*.EXE. (Sure you can spoof
it. It's there to *help* you, not be a security feature.)
SEARCH! I almost forgot SEARCH! My eyes are glistening as I recall
the /WINDOW=(20) option in SEARCH. No having to open an editor
to see the line just above/below the one with the matching string.
search-list logicals. Built-in search paths, *transparent to the
applications*. Change the search-list logical and completely
change the behavior of your application, without even re-linking,
much less, much less changing code and re-compiling.
Real batch queues. Makes me wanna cry just thinking about it. I used
to have a command file set up I could pass a command to and it
would put it on a queue. Before the u*ix weenies start in, I
also did this to put things in background.
>>SHOW DEV/OPEN (?) (To show files that are open on the device)
>SHOW DEV/FILES :-)
Thanks. All of this unix is corrupting my brain. I keep trying to
make things more complicated than they are.
Do a SHOW DEV /FILES /NOSYS /OUTPUT=temp.del. (I think it's NOSYS.
Doesn't really matter if you're going to do a SEARCH.)
Then do a SEARCH through the file for what you're interested in.
(Amazed a u*ix bigot with that.)
Saaayyy.... You wouldn't happen to have a job opening, would you?
(Blatant sucking-up and bragging follows. Feel free to skip
I tried to learn unix, thewaveofthefuture, but I just can't stand it.
I've lived in the United States. I can't move to a mud hut in
East Africa and be happy.
Anything! Anything.... I would be proud and happy to change
tapes for your backups. That's what I'm doing now. It's a
great way to learn Unix. (All too well.)
If mayhap you have a position with more stringent requirements:
I'm rusty, but with the VMS HELP command I'll get it back fast.
Toolsmithing - TPU, DCL, CMS, MMS, C. (That's why I *hate* the u*ix
tools. I know what can be done with good ones.) I have a set
of exception handling/logging subroutines (in C and FORTRAN)
that make life a lot easier.
I worked up a SET DIRECTORY (It's starting to come back to me now.)
command file to put the current dir in my prompt and allow me to
toggle directories. Worked so well the senior programmer used it, after
I defined the PF1(!) key to execute it for the toggle. And she didn't
like anything new. Well, I did get her to stop using Edit
when I started programming the function keys in EVE. She even
moved to a VT220 so she would *have* function keys. (You can
see what I was up against.)
Spawned off the editor as a sub-process, then programmed the
terminal from both EVE/LSE and DCL so that you could get into/out
of it by hitting the F20 key.
Programming - FORTRAN, C, and DCL using FMS, RMS, Embedded SQL
with Sybase's dblib, some SMG. With *heavy* commenting,
in u*ix weenie's opinions. One said he couldn't read my
code because of all of the comments. Bwuu-hah-hah-hah indeed!
Project management (LSE, MMS, CMS,...) (hint: use search-list
logicals. Even impressed a u*ix weenie with that)
Database administration (Sybase),
Written documentation (I've used Word, WordStar, & others. I
still miss RUNOFF's clean simplicity.). I even have some
RMS database design - Learned a *lot* on that one. They would *not*
let us talk to the users when we were writing it. Wrote it
in six months. Then re-wrote it *while the users were using it*
over the next six months. Kind of like working on a car motor
while it's running. That's where I acquired my skill at editing
indexed RMS files. Senior programmer loved me for it.
Interface design - set up standard meanings for the visual field
attributes in FMS. When someone used one of *my* forms, they
knew a lot about it just from looking at it.
I've done some Datatrieve, and used the CDD.
I've done just one system upgrade (free-lance). Never did one before,
but VMS is *not* sysadmin-vicious. Moved their system to a larger
Been to a few DECUS symposia. Pulled RA-60 disk packs. (Not useful
now, but ohhh the *nostalgia*.)
*I still have all of my notes.*
I threw away my _DEC Professional_'s.
But I still have my _VAX Professional_'s.
I still have my VMS _Internals and Data Structures_ book
(for Version 4.4), along with _Mastering VMS_.
Great communication skills. Sometimes too good, especially
when telling people something they don't want to hear.
Kind of a jack of all trades. With VMS I just learned what I
needed to to get the job done.
My personal motto is: "It's always easier to do it the hard way."
(The opposite of "There's never time to do it right, but there's
always time to do it over.")
Oh, and a Chem. E. degree from <a school to be named later>.
I'd even wear a suit. (There is no greater personal sacrifice
I could make, since I won't give up my wife.) It might take
awhile though. I'd need to get in touch with Tilley's Durables
to order one.
That's off of the top of my head. I missed a lot of things, I'm sure.
Resume available upon request.
(Say, where are you anyway?)
Thanks for not holding a grudge about my initial comments. My reply
to your last post explains all. It's just taken 2-3 days for my service
provider to get news working again.
Anony "Proud member of the Unix-Haters mailing list" Mous
Previous The Sons of Martha, by Rudyard Kipling
- The "Anti-Unix" Spirit
Up to Unix-Haters Archive Main Page
Next I Accuse Unix! - If unix wasn't so bad that you can't
give it away, Bill Gates would never have succeeded in