Path: utzoo!dptcdc!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!unmvax!deimos.cis.ksu.edu!rutgers!ucsd!sdcsvax!ucsdhub!hp-sdd!hplabs!hpda!hpcuhc!hpsemc!gph From: gph@hpsemc.HP.COM (Paul Houtz) Newsgroups: comp.unix.questions Subject: Re: VMS: logicals UNIX: links, but... Message-ID: <810037@hpsemc.HP.COM> Date: 16 Apr 89 19:22:02 GMT References: <475@caldwr.UUCP> Organization: HP Technology Access Center, Cupertino, CA Lines: 45 ok@quintus.UUCP (Richard A. O'Keefe) writes: > And what on earth do you think the logical names SYS$INPUT, SYS$OUTPUT, >and so on are in VMS? The VAX-11 C compiler thinks they are stdin, stdout, Wrong. Wrong. Wrong. The names are similar. Some of the functionality is similar. But they are NOT stdout and stdin. Not unless the functionality is identical. You see, Unix stdou and stdin are used a lot by programmers because there is a REASON. You can use them in pipes and you can easily redirect them. There is no such reason on VMS. So they sound the same, but they aint. > UNIX has no aliases. There is *NO* kernel support for aliases whatsoever. > They are a feature of the C shell. I write Bourne shell scripts. If you > call a program using exec(), you do not see aliases. The first time I heard this, I made me mad. I mean, who after all, uses Unix and uses only the bourne shell and never uses an ALIAS. Seemed like a pretty stupid argument. But then, I realized, you are absolutely right. The place for aliases and logicals is not in UNIX, but in the shell. Probably what will happen is a new shell will eventually appear that will have this functionaly which UNIX does NOT have, and that will solve the problem. >Let me make my position perfectly plain. >(1) Every operating system should provide some means whereby the caller > of a program may provide an association between tokens used by a > program and actual files which those tokens are to refer to. > ***UNIX DOES THIS*** Of course Unix doesn't do this. It does some of this, but not all. Example: I recently ported a cobol system written in a latin american country that ran 10 jobs sequentially and they all wrote to PRINTER-LISTADO. It was a benchmark, so I was not allowed to change source. I could not use ln because that would overlay the results each time. So I had to write a script to mv the PRINTER-LISTADO file to some other file at the end of each job. It seems and is trivial, but it an example of how incomplete the unix "logical" functionality is (in my opinion). Anyway, your note is very enlightening. I appreciate the information you have provided. It is unfortunate that this notes string generates at least as much heat as light. I admit that I contributed some of the heat as well.