Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!decwrl!purdue!i.cc.purdue.edu!j.cc.purdue.edu!pur-ee!iuvax!bsu-cs!dhesi From: campbell@maynard.BSW.COM (Larry Campbell) Newsgroups: comp.os.vms Subject: Re: marketing vs. demerit Message-ID: <2822@bsu-cs.UUCP> Date: 1 May 88 02:23:39 GMT Sender: dhesi@bsu-cs.UUCP Lines: 41 In article <2725@bsu-cs.UUCP> dhesi@bsu-cs.UUCP (Rahul Dhesi) writes: <>Based on a superficial (and rather skeptical, raised-eyebrow) look ^^^^^^^^^^^ <>at VMS, I conclude as follows. <> <>VMS's design makes it very difficult to include structured control <>structures in DCL. The UNIX shells can save their context between <>commands because they execute other programs as subprocesses. Under <>VMS subprocess creation is so painfully slow that it is seldom done. <>Thus the DCL interpreter cannot save its entire context when executing <>another program. To use while loops and if-then statements the DCL <>interpreter would have to save quite a bit of the current context so it <>could continue executing the current control structure. Nested control <>structures would require even more information to be saved. Alas, the <>DCL interpreter and VMS make this nearly impossible. <> <>This is also the reason why VMS does not allow multiple commands <>on the same line. Doing so would mean saving the command line <>between executions of different programs so the command interpreter <>could then pick the next command on the same line. [This is really getting off the comp.lang.c track, so I've cross-posted and directed followups to comp.os.misc] A little knowledge is a dangerous thing, Rahul. Although VMS does not create new subprocesses to run user programs, DCL does not have to get out of the way when running a user program because the address space is divided into two parts -- one for the user and one for DCL (and RMS). The user part keeps getting zapped and reloaded with user programs, but the DCL/RMS part (P1 in VMS jargon) stays around as long as you're logged in. So there is no _technical_ reason why DCL couldn't easily have multiple commands per line, and reasonable control structures. The reason it doesn't is cultural -- the VMS people have a FORTRAN mentality. For a FORTRAN-inspired system, VMS isn't too bad. ("Gee, for a fat girl, you don't sweat too much.") -- Larry Campbell The Boston Software Works, Inc. Internet: campbell@maynard.bsw.com 120 Fulton Street, Boston MA 02109 uucp: {husc6,mirror,think}!maynard!campbell +1 617 367 6846