Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!pasteur!ames!oliveb!amiga!cbmvax!andy From: andy@cbmvax.UUCP (Andy Finkel) Newsgroups: comp.sys.amiga Subject: Re: AmigaDos vs Unix wildcards/pathnames Message-ID: <6342@cbmvax.UUCP> Date: 21 Mar 89 01:24:15 GMT References: <11241@ut-emx.UUCP> <6306@cbmvax.UUCP> <353@bnr-fos.UUCP> Reply-To: andy@cbmvax.UUCP (Andy Finkel) Organization: Commodore Technology, West Chester, PA Lines: 167 In article shadow@pawl.rpi.edu (Deven Thomas Corzine) writes: >Oh, come on. Just how many users new to the amiga are EVER going to >think of using "#?" for a wildcard?? '*' is VERY widely used and >accepted, in Unix, MS-DOS and other operating systems. It was 3-4 Well, due to reasons beyond our control, the AmigaDOS manual is published seperately. However, the book that came with your 500 did tell you of its existance. I agree that it should have told about the wildcards. Fortunately, there's a simpler solution to the problem than switching to Unix....we can update the manual. >I want Unix on an Amiga. What's wrong with that? Unix is a >well-designed, well-thought-out operating system, with a simple and >elegant paradigm. AmigaDOS is clumsy and obstrusive. I like the >Amiga hardware. Exec is excellent. AmigaDOS sucks. Intuition I'd >rather replace, but it's livable. As far as I'm concerned, I don't >want to put up with using AmigaDOS as it is more than I have to. You >like AmigaDOS? Fine. Use it. I want something fairly close to Unix >myself. On an Amiga. Nothing's wrong with wanting Unix on an Amiga. Freedom of choice is an important concept. That's one reason why we have the A2500 UX, after all. But liking Unix a lot doesn't automatically mean that AmigaDOS is bad. I personally don't have a problem with regular expressions for my pattern matching. I do want it on all the commands that it makes sense to have it; a shared library will be the desired method of implementation, rather than pack it into the shell. (creating very long command lines has some problems, as does those commands that don't want pattern matching) >Dreadful Unix syntax indeed. Unix is a relatively simple design, >through and through. Unix is intended to be functional, simple, but >powerful. And that it is. Unix is not intended to cater to users who Well, I actually got the impression that (at least under BSD systems) there was a certain amount of evolution, and actual disagreements over command syntax...the find command and the print spooler somehow pop into my mind. >really want an AmigaDOS interface, you could write a Unix shell which >would look like AmigaDOS. I, for one, would never want to. You mean, if you want a Amiga CLI and Amiga CLI type interface. The AmigaDOS interface is based on Exec message passing, tasks, and lightweight tasks. By the same token you can implement a Unix shell interface on top of AmigaDOS. In fact, you've even used some of them. >The command syntaxes are concise, not verbose. *Most* people I've >known find they far prefer the syntax once they finally learn it. I >know I don't like having to type things like "format df0: name newdisk >noicons" just to format a disk. The Unix command to format a disk (at least on my Sun 2) involves bringing the Sun down, running a special program called diag, then bringing the system up again. Then I generally run /etc/newfs [ -N ] [ -v ] [ -n ] [ mkfs-options ] block-special-file (since I seldom need to get into mkfs) How is this easier than format ? >As far as vi goes, I *like* vi. It is a good editor and in widespread >use. I'd much rather use it than C-A's "ED"... (And I have never >seen a *good* implementation of vi for the Amiga... *sigh*) So do one. Strikes me as something that a decent programmer and VI user could whip right out. I'm an emacs user. So one of the first things I did was port a version of microemacs, and adjust it so I was happy. >So? Either the shell builds an incredibly long line and pulls the >parameters from it to pass to the program, or you pass the program the >command line directly (as the CLI does) and the program builds the >same incredibly long line. Big lot of difference it makes. Actually, since my wildcards are implemented in the program, via a shared library call, what I do is call 'compile pattern' with my expression, then loop calling 'next match' until it tells me that no more matches are available. The long line problem >Or, you could write a shell with such a rename command builtin, since >it handles the wildcard expansion to begin with. This is not in the spirit of the Unix commands...which are supposed to be small things, each doing a job, which you can link together to form more powerful commands. If you find yourself saying that you can always build it into the shell... > >'`' in csh to delimit a string which is to be parsed, executed as a >command (in a subshell), and its output to replace the `command` on >the command line. An extremely powerful feature which AmigaDOS has >nothing to compare to. The standard AmigaDOS CLI commands can get their arguments from a pipe or a file, as well as from the command line. The primitives are there. > >'!' in csh, when used in expressions, as a logical NOT. Again, no >equivalent in the AmigaDOS CLI (or AmigaShell) because it has no >ability to handle expressions. More importantly, it is used for >history substitutions in the csh. They are too complicated and >powerful to be explained here. ! is rather overloaded character. I hate having to type all those \ or slip into sh when I want to do a bunch of UUCP mailing. The AmigaDOS IF statement allows you to use the NOT keyword to reverse the sense of an expression. You are correct that history substitutions are too complicated, though :-) I usually just bring back the line, edit it, and hit return, rather than count arguments. And, I do this from both AmigaDOS 1.3 Shell and Unix. [metachar discussion deleted for space reasons; also because I'm beginning to suspect you don't have the AmigaDOS manual.] >In csh, you have user home directory lookup, executing command(s) in a >subshell and using the output as command line parameters, history >that is just one common Unix shell. You can easily rewrite the shell >to suit you if you wish. Without changing the programs you run. So what you are saying is that because csh is more powerful, that AmigaDOS is useless ? You *can* write a csh type program on the Amiga. Matt did it. Randell did it. Jay Tees did it. Bill Hawes did it... This then, should be a shell discussion. The shell is not AmigaDOS. Because replacing the shell is more difficult under Unix (though not having written a Unix shell from the ground up, but only making some minor hacks on tcsh I can't really say for myself just how hard or easy it truly is) >need to replace the shell. You can not do the same with AmigaDOS. I >like Unix, I want Unix on the Amiga. And there's no way you'll ever >convince me AmigaDOS is a superior system. You're right. Until you get the AmigaDOS manuals, and learn what it is actually all about, and get 1.3, and the 1.3 manual, and read the manuals, there's no hope of telling you anything. And actually, convincing you would serve no purpose anyway. >So there. It's getting about that time; put your programming time where your keyboard is. Produce the csh clone of your dreams. Clone the Unix programmer interface, the Berkley Fast File system, whatever other parts of Unix you like. Anything you want. Since there's no way anyone can convince you of any redeeming characteristics of AmigaDOS, you're skills must be complete...its time to stop wasting time in discussions like this, and time to start coding. >Deven -- andy finkel {uunet|rutgers|amiga}!cbmvax!andy Commodore-Amiga, Inc. "The salesperson said this computer is the next best thing to sliced bread, but didn't say what to do about the crumbs in the disk drive." Any expressed opinions are mine; but feel free to share. I disclaim all responsibilities, all shapes, all sizes, all colors.