DCL and EDT for Unix?

The Grand Master asg at sage.cc.purdue.edu
Fri Jun 21 10:51:18 AEST 1991


In article <1991Jun20.212124.22288 at convex.com> jgardner at convex.com (John B. Gardner) writes:
}The following is not meant to be a flame, it's posted in the spirit of
}maintaining accuracy.  :-)
}In article <1991Jun20.182101.3145 at cs.utk.edu> Dave Sill <de5 at ornl.gov> writes:
}>In article <1991Jun19.205450.26120 at convex.com>, jgardner at convex.com (John B. Gardner) writes:
}>
}>>"There will be lots of picky little incompatibilities"  No, there isn't.
}>>There _is_ greater flexibility...
}>
}>The existance of specific counterexamples doesn't invalid the general
}>point. 
}
}Interesting logic.  Usually the existence of counterexamples _do_ invalidate
}a premise.  I'm not going to take the energy to fully analyze _every_ DCL
}emulation product, the ones I've used exhibit the characteristics I've 
}listed, that's sufficient for me.
}
I think you are missing the difference between a logical premise (what you
are discussing) and a general point (what he is talking about).

All dogs are black.
My dog is white!!!
(that is a counterexample invalidating a premise)

Killing is wrong.
It is alright to kill someone if it is the only way to stop them from
   killing a 4-year-old boy.
(that is a counterexample that does NOT invalidate a general point).

i.e. a general point is understood to have some extreme exceptions.

}
}>Given two UNIX shells, one that is native UNIX and one that provides
}>VMS compatability, I argue that the former is more efficient because
}>it doesn't have to jump through the hoops of making UNIX look like
}>VMS.  It doesn't have to handle funky filename and directory
}>specifications, version numbers, command aliases, VMS /qualifier to
}>UNIX -option conversion, etc.
}
}First, we're not comparing the efficiency of UNIX vs. VMS, we're comparing
}VMS against a VMS emulation.  Second, even if we _do_ place the emulation 
}against a "UNIX" shell (e.g. tcsh), your comments fail.  Tcsh still has file 
}globing to do, command and filename completion, alias and environment variable
}translation, etc, etc.  No _interpreted_ language is going to be blindingly 
}fast, but a case by case comparison of the emulation vs. a UNIX shell doing 
}approximately the same mix of operations comes out essentially a wash.  

That is not correct at all.
Most of the normal operations of vms are done by other shells true. Things
like alias expansion, globbing etc. BUT, the DCL-shell will have to do 
things IN ADDITION to this. Namely - it will have to translate / to -, 
it will have to translate /tmp/file to DISK5:[tmp]file  and more.
The overhead caused by these things (and this is going to have to be 
done on EVERY command), and the loss of time associated with VMS lack
of a PATH variable will make a DCL-like shell much slower. In addition, 
VMS handles environment differently than does UNIX, so this will have
to be handled for com files etc.
}
}The emulation doesn't "convert" the DCL to UNIX and then run it through 
}another shell.  It operates directly over the OS, just like DCL does.  There 
}is no conversion from qualifiers to options, the commands interpret the 
}qualifiers directly, just as in DCL.  For example, if you enter "DIR" the 
}emulation does NOT run "ls", it runs DIRECTORY.EXE, which is approximately 
}as fast but totally different from the "ls" program.

THE SHELL DOES NOT DO THE INTERPRETATION OF /. Even if you put this 
translation into DIRECTORY.EXE, it STILL has to be done, because the
syscalls interpret /t to mean the file or directory t in the root 
directory. Therefore, DIRECTORY.EXE will have to translate USER17:[tmp]data.dat
to /tmp/data.dat. THIS IS SOMETHING THAT THE ASSOCIATED UNIX COMMANDS DO
NOT HAVE TO DO.
}
}The emulation can be just as fast as any other full-featured shell.

See above. No it cannot
}
}
}>>"and you won't be able to take advantage of the features of UNIX that make 
}>>it worthwhile",  Not true.  All available UNIX features are accessible
}>>from within the emulation.
}>
}>Fine.  Does *every* virtual VMS for UNIX do that?  Do you do it
}>without violating your VMS compatability?
}
}I don't have to prove _all_ do, I'm just showing at least _some_ do.  
}As for compatiblity, yes it's obviously not DCL, but the additions are 
}orthogonal to the DCL syntax, causing no compatibility problems.  Just like 
}you can extend DCL using "SET COMMAND" to add you own commands to the base 
}interpreter.

The convex-propriety DCL emulator does the original poster no good if
he does not have a convex. 

Praytell - how do you use pipes in your DCL-shell?
}
}
}>>And in "learn" mode every DCL command generates the corresponding UNIX
}>>command that would do the same thing, a very effiecient means of learning
}>>to use UNIX.
}>
}>That's a potentially useful feature during *transition* to to UNIX
}>from VMS.  That's not a reason to provide DCL forever.  It also
}>implies that a DCL -> shell convertor could be provided for porting
}>shell scripts, which would also make it easier to make a clean break
}>from VMS.
}
}You're missing the point.  The idea is not to force the user to the 
}politically correct language.  What you should be doing is providing 
}the mechanisms which allow the user to be most productive.  Either as
}a transitional tool, one which simply allows the VMS/DCL user to be 
}immediately productive on a UNIX platform, or as a very fast batch engine
}to run VMS applications remotely, the emulations have their place.

Would you teach someone accustomed to driving an atomatic to leave
a standard shift in second all the time so that they do not have
to learn how to drive something new? It is not a matter of forcing
someone to use the "pollitically correct language" as you so stupidly
put it. DCL was costum made to work well on VMS - NOT UNIX!! There
are too many incompatibilities with UNIX, and to many little things
that would break - and it would become an administrators nightmare.
If someone was switching from a MAC to a PC, I would not simply set
it up to start in windows and then tell them to use it that way - 
I would make sure they learn DOS (Even if windows DID work exactly
like the MAC). If you want DCL, buy a VMS machine. Don't cripple
a UNIX machine with a DCL-like shell (similarly I would advise against
trying to port ksh to VMS).
}
}If you're doing systems level, device driver, or i/o application development
}you most certainly wouldn't do it through an emulator.  But if you're running
}applications which have already been ported, viewing data on a UNIX system, 
}or doing remote batch submission, why waste the time to learn a totally alien 
}environment?

Because in the long run they will be better off knowing UNIX. What happens
when a new sysadmin is hired to Administrate the UNIX machines who has not
used VMS and does not know DCL??
}
}I know of some sites where the users sit at there VMS workstation, submit
}jobs to a remote queue, get their data back, and don't even realize that it 
}was a UNIX box running an emulation that did the work!

And they write their batch jobs in DCL?
}
}>>Keep in mind that VMS/DCL is a _very_ widespread and effective system.
}>
}>So what?  So is UNIX/shell, which has the advantage in this case of
}>being the system provided, and the general advantage of being vendor
}>independent and *standard*.
}
}Which UNIX standard are you referring to? BSD 4.2?, System V?, sh?, ksh?,
}tcsh?, csh?  Or which binary standard? ConvexOS?  Unicos?  Ultrix? SunOS?
}Give me a break!  Just because it says "Unix"  does not mean you can just
}hop on the machine and get work done, unless the machine happens to support
}a flavor of UNIX you happen to understand.
}
The shells are (for the most part) standard. Yes there are a few 
inconsistencies, but if you sit me down in front of ANY UNIX box, I think
I will be able to complete whatever normal task you wish me to.
}
}>When in UNIX, do as the UNIXans do.  There's nothing innapropriate in
}>expecting the users of a system to learn it.
}
}Tell this to the stockholders when you have to explain a 6 month project
}slip due to the re-education of all your users to an unfamiler environment.
}Not to mention that some die-hard VMS hackers simply _refuse_ to learn UNIX,
}shall we just fire them?
}
If they refuse when told to by their boss? Yes - you should most definitely
fire them.
Why not explain it to the stockholders in 18 months, when production is
HIGHER than it would have been because users are using a shell that
has been optimized to work with UNIX.
}
}>If you need both, buy and run both.
}
}Right, I just paid $32 million for a YMP-16, now I have to go back to the
}board of directors and ask for another $3 million for a VAX 9000.  I guess
}I better subscribe to misc.jobs.offered.
}
Now I am even more flabergasted.
You want users to run DCL on UNICOS????!!!??!?!?!?!
That is a shame when Cray did such a nice job on UNICOS.
Especially when you are running on such a high performance machine, you
should use what has been written to specifically work well with the
underlying OS.
}
}>UNIX and VMS (or DOS, or
}>whatever) are like oil and water, and will never "work in harmony" on
}>the same box.  Hell, UNIX doesn't even work in harmony with *itself*,
}>how you expect it to coexist with another OS?
}
}You are doing the readers of this group a disservice with this diatribe.
}It is simply wrong.  If you've never used a good emulation package then
}you probably shouldn't comment on their usefulness.  I've _experienced_
}examples of complex VMS/DCL applications operated by VMS-only hackers 
}running marrily away on UNIX boxes.  It's real, it works, believe it.
}
No, it is not wrong.
There are certain things that work ok in emulators and certain things
that don't.
Let me ask you a question. Will you have people who know only DOS use
a DOS emulator when running on your YMP?
Of course not, and the reason why is that things will have to be translated
from DOS to UNIX format when entering a command.
DIR.EXE will have to translate \'s to /'s. 

And one thing that has been mentioned. 
Who is going to develop this emulator (since I doubt that you will find
a DCL emulator for UNICOS)??
How long will it take? How much will it cost?
And how will you explain to the stockholders that no work was done
for 4 weeks because a DCL-emulator had to be written because some of
you diehard-VMS users would not learn UNIX?
}
}As usual, many tradmarks have been referrenced, these are my personal
}comments only and do not reflect the view of any company.

Yeah trademarks and all that.
(Though I consider UNIX to be in the same ballpark as Klenex in that
respect).
}   /\ /_  _    jgardner at convex.com

			Your friendly neighborhood Bruce
---------
                                   ###             ##
Courtesy of Bruce Varney           ###               #
aka -> The Grand Master                               #
asg at sage.cc.purdue.edu             ###    #####       #
PUCC                               ###                #
;-)                                 #                #
;'>                                #               ##



More information about the Comp.unix.shell mailing list