Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-lcc!well!ewhac From: ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) Newsgroups: comp.sys.amiga Subject: Re: Amiga good for hacking?? Message-ID: <2736@well.UUCP> Date: Mon, 9-Mar-87 03:37:34 EST Article-I.D.: well.2736 Posted: Mon Mar 9 03:37:34 1987 Date-Received: Tue, 10-Mar-87 03:43:34 EST References: <2719@well.UUCP> <2705@jade.BERKELEY.EDU> Reply-To: ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) Distribution: world Organization: Whole Earth 'Lectronic Link, Sausalito, CA Lines: 79 In article <2705@jade.BERKELEY.EDU> mwm@eris.BERKELEY.EDU (Mike (No one lives forever.) Meyer) writes: >In article <2719@well.UUCP> ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) writes: >>The Exec is the underlying and true core of the Amiga >>OS, and it's wonderful. The DOS was written in England by MetaComCo, and >>sucks rocks. But you can usually code around the DOS, and there is fame and >>fortune to be made in this area. > >Carefull, there - the stuff written in England is what provides all >the nice message passing, library primitives, resource allocation and >etc. that people like so much. I think that the real crud is in the >attempt to mate a BCPL system with a C system. > Not correct (at least I'm 99.9999% sure it's not correct). AmigaDOS was written in BCPL and crufted on top of the Exec. The DOS is an (improperly implemented) library under the Exec. Exec provides the message passing, resource allocation, library manipulation, etc. Exec was handcrafted in assembly by Carl Sassenrath (sp?). DOS, on the other hand, simply provides the filesystem, file maintenance, and a higher-level device interface consistent with the filesystem. Whenever DOS requires a non-DOS resource (like memory, access to a device, etc), it calls the Exec. The real problem with DOS may indeed be the poor BCPL/C interface (Did you know BCPL stacks grow upwards in memory? Did you know that BCPL uses D0 as an address register? Yuk.), but I prefer to believe that it was either a sleazy BCPL compiler, or the MetaComCo programmers were suffering from braindeath :-). >>Also, get the >>MANX compiler. Lattice is cheaper, and that's because it's crud. MANX also >>comes with an assembler, Lattice doesn't. > >Hmm - gee, that sounds like a subjective statement. Yup. You got it. I've used both Lattice and MANX. I like MANX, and would never go back to Lattice. So shoot me then :-). >I'll just point >out that for porting code from Unix, Lattice is the better compiler to >have (last time I looked, MANX wouldn't even pass as a v7 C compiler, >much less anything modern). And that Lattice _does_ come with an >assembler. It does? Is this a new addition to their standard package? Or do they bundle MetaComCo's assembler with it? > "If your compiler doesn't support structure assignment, get a > better compiler." - from comp.lang.c > MANX does support structure assignment (at least I think it does). In past code I've written, I've been able to say: struct foo s1, s2; s1 = s2; The only difference is that Lattice lets you say: struct foo s1, s2, s3, s4, s5; s1 = s2 = s3 = s4 = s5; Mike is quite correct; my statement concerning Lattice is quite subjective. I haven't used Lattice of late, but speaking personally, I like my compilers to be "single" pass (i.e. I don't have to invoke two seperate commands), to compile to assembly, and have a reasonably UNIX-like command structure. Like I said, I haven't used Lattice of late, so they may have addressed all these issues. If anyone wants to start a compiler war, my mailbox is wide open. _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ ________ ___ Leo L. Schwab \ /___--__ The Guy in The Cape ___ ___ /\ ---##\ ihnp4!ptsfa!well!ewhac / X \_____ | __ _---)) ..or.. / /_\-- -----+==____\ // \ _ well ---\ ___ ( o---+------------------O/ \/ \ dual ----> !unicom!ewhac \ / ___ \_ (`o ) hplabs -/ ("AE-wack") ____ \___/ \_/ Recumbent Bikes: "Work FOR? I don't work FOR The _O_n_l_y Way To Fly! anybody! I'm just having fun."