Path: utzoo!mnetor!uunet!husc6!mailrus!ames!ncar!boulder!sunybcs!bingvaxu!leah!itsgw!imagine!pawl14.pawl.rpi.edu!jesup From: jesup@pawl14.pawl.rpi.edu (Randell E. Jesup) Newsgroups: comp.sys.amiga Subject: Re: Time is of the essence on IPC. Message-ID: <595@imagine.PAWL.RPI.EDU> Date: 31 Mar 88 02:36:51 GMT References: <1571@louie.udel.EDU> <353@brambo.UUCP> <1661@louie.udel.EDU> <25552@amdahl.uts.amdahl.com> <872@nuchat.UUCP> Sender: news@imagine.PAWL.RPI.EDU Reply-To: beowulf!lunge!jesup@steinmetz.UUCP Organization: RPI Public Access Workstation Lab - Troy, NY Lines: 65 In article <872@nuchat.UUCP> peter@nuchat.UUCP (Peter da Silva) writes: >> Sure, you could write a dedicated program to do that, but doing it this way >> takes advantage of existing system commands and resources, and you get some- >> thing that works in a couple of hours, rather than in days. >Just like writing UNIX shell scripts. Wow. Maybe if I had a UNIX-like shell >that I could use for this... :->. Very similar to Unix shell-scripts, with one main difference: interactive ARexx script usage FROM other applications/programs. It's a pain to use shell scripts from WITHIN other programs. You can fire them off in a new shell, but it's tough to interact with them. ARexx isn't the only way to do these things, it just makes it easy, fast, and easy to debug. (Much the same reasons people use shell scripts instead of writing C programs for simple command-things. >But all programs already know how to talk to pipes. The interface is already >there. And you don't have to stick with a weird PL/1-like language. You have >your choice of any number of weird C-like languages. If you mean, "all programs invoked from CLI could theoretically read data from stdin (Input()), and send data to stdout (Output())", OK. But I suspect most programs (other than Unix filter/utility ports) ignore attempts to pass commands via stdin. Ever seen DPaint care about stdin? The point is, no matter what the program is, to make it work under external command you MUST include the ability in the design, whether it be parsing code for stdin, or ARexx port handling. If you don't like the Rexx language, write your own program that uses ARexx ports to control other programs in place of ARexx itself. >> Fifth, the functions in those shared libraries can be made available to any >> application that wants to make use of them via the ARexx facility. > >Just like pipes, except they already have the "PIPE ports". NO. Wrong. One cannot call code in a pipe. ARexx libraries are exec libraries that are accessed by calling them directly, like any other library. >AREXX uses plain message ports with an intermediary (can you say performance >problems? I knew you could!). You have a better way to pass a message? Remember, messages aren't copied, to send a message only requires a small number of instructions. >And there are free PIPE:s, with source even. I asked "what about an AREXX:", >and was met with silence. Most pipes out there are one-way devices. (I wrote a bidirectional one, but that doesn't matter. I never released it, and as of 1.3, it'll be a moot point.) Pipes don't provide an interactive envirionment. Why do you think Unix people invented (adopted) sockets and shared memory? What would you expect this hypothetical "Arexx:" to do, anyway?? I'm not suprised you got silence, as I can't figure out what you seem to be asking for. Pipes are useful things, but they are sorely lacking for many applications. // Randell Jesup Lunge Software Development // Dedicated Amiga Programmer 13 Frear Ave, Troy, NY 12180 \\// beowulf!lunge!jesup@steinmetz.UUCP (518) 272-2942 \/ (uunet!steinmetz!beowulf!lunge!jesup) BIX: rjesup (-: The Few, The Proud, The Architects of the RPM40 40MIPS CMOS Micro :-)