Path: utzoo!mnetor!uunet!husc6!mit-eddie!ll-xn!ames!pasteur!swindle.Berkeley.EDU!sarge From: sarge@swindle.Berkeley.EDU (Steven Sargent) Newsgroups: comp.os.vms Subject: Re: Help us defend against VMS! Message-ID: <1782@pasteur.Berkeley.Edu> Date: 23 Mar 88 12:51:49 GMT References: <5640@swan.ulowell.edu> <2814@enea.se> <20597@bu-cs.BU.EDU> <341@wsccs.UUCP> <342@wsccs.UUCP> Sender: news@pasteur.Berkeley.Edu Reply-To: sarge@scam.berkeley.edu Followup-To: sarge@scam.berkeley.edu Organization: Experimental Computing Facility Lines: 91 Keywords: A foolish consistency In article <5640@swan.ulowell.edu>, arosen@eagle.ulowell.edu (MFHorn) writes: > (Val Kartchner) writes: > > Any Eunuchs programmer could easily: bllsht. Anyone else could spell it > > correctly. > [Eunuchs, Eunuchs, Eunuchs...] > > I think this is a sign of immaturity that I sadly find too often among the > VMS Holies. At least the Unix people acknowledge VMS for it's good points > _without_ making fun of VMS or it's fans. Speak for yourself. I've seen VMS and its fans flamed plenty here. > > > In the VMS environment, the command would be parsed (and verified > > syntactically correct) in a consistent manner before the program (image) > > was even loaded. > > Which means DCL has to know the syntax of every command on the sytem. Yeah, > real modern. Makes it real easy to add commands to the system, too. > Especially for users who write their own private little utilities. Can you > say search path? No reason that can't be made to work in a plausible way; programs have their own command tables, stored as ASCII documents or some such; could even be searchable in the path. Having a table-driven central command parser would be a real win for interactive help, argument completion, &c. -- not that DCL does all this, of course; if it did, it would be Tenex, and we wouldn't be having this discussion. A more annoying (to me, as a "Eunuchs" true believer; though my shower singing is still baritone...) is DCL's silly treatment of *. Leaves interpretation of the damn thing up to the command. So some do, some don't. And the ones you want 'em to, don't. E.g., the infamous SET DEF: $ set def somewhere::$disk437:[incredibly.frobulous.pathname .invented.by.masochists] $ set def somewhere::$disk437:[incr*.frob*.pa*.inv*.by.mas*] %DCL-E-INSCRUTABLE$MESSAGE: Invalid specification (The problem here is actually more fundamental than a miscue on wildcard recognition; rather, it's that SET DEF is just accepting a string, which it vaguely checks for the right number of punctuation chars, to do filename translations with. It's entirely YOUR responsibility to ensure that the name actually lines up with a directory in the file system; if you didn't spell it right, set def back to SYS$LOGIN and try again. Now THAT's user-friendly!) Well, so, there's this lib$find_file or similar routine that your program can use, that will parse filenames iteratively, giving you back one per call. And your users have stood outside your office with cut-down shotguns, occasionally blasting one of your potted plants for laughs, while you hammered the puppy into your program so it would do *-expansion right. Only you're one of the Digital Equipment Brothers, and your program is DELETE: so you screw it up! That's right, you traverse the directory hierarchy preorder, rather than postorder, so you try to delete directories before you've deleted their children! So, now we have the answer to the VMS fans wanting to know why rm -r * is superior to DELETE [*...]*.*;* -- it's because rm -r works. A little bit of this mickey-mouse and UNIX-style globbing, where the shell does all filename expansion before the command sees anything, looks mighty good. Even with the god-cursed limit on number of chars in arguments. > > > Before you flame me > > Please, take it with a large grain of salt. > > I would like to become > > as proficient with Unix as I am with VMS. > > Funny, I'd like to become as proficient with VMS as I am with Unix. > With all this onesies-twosies, "mine's bigger" nonsense, we're sounding like a bunch of Model T owners, slugging it out for dragstrip supremacy at 25 mph. But I wanted a starship... > Andy Rosen | arosen@hawk.ulowell.edu | "I got this guitar and I > ULowell, Box #3031 | ulowell!arosen | learned how to make it > Lowell, Ma 01854 | | talk" -Thunder Road > RD in '88 - The way it should be "A foolish consistency is the hobgoblin of small minds." -- Emerson. UNIX is a Registered Trademark of AT&T. VMS and DEC are trademarks of the Digital Equipment Corporation. ---- Steven Sargent ARPA Internet: sarge@scam.Berkeley.EDU TPCnet: {from here to Eternity}!ucbvax!scam!sarge