Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!iuvax!rutgers!uwvax!puff!cat28!blochowi From: blochowi@cat28.CS.WISC.EDU (Jason Blochowiak) Newsgroups: comp.sys.apple Subject: Re: Merlin and APW-ORCA/M Summary: I think both are good, but APW is better for larger projects. Keywords: Orca, APW, Merlin, Assemblers Message-ID: <2617@puff.cs.wisc.edu> Date: 26 Apr 89 04:44:22 GMT References: <8904250236.AA22455@crash.cts.com> Sender: news@puff.cs.wisc.edu Reply-To: blochowi@cat28.CS.WISC.EDU (Jason Blochowiak) Organization: U of Wisconsin CS Dept Lines: 39 I don't think that there is such a thing as a non-biased viewpoint on these matters - at least not from anyone who's used them much. I personally think that Merlin is better for little things, and APW is better for bigger things. Merlin started out, way back, as Big Mac (for the original ][), and was a compatible (methinks) replacement for an earlier assembler. Then it turned into Merlin, then Merlin Pro, and so on. Anyways, all of this means that it started out small and got bigger. I think that Glen Bredon did a pretty damn good job of growing Merlin without too many problems, but, IMHO, it's a bit "hackish", because it started small and got bigger. APW started out as Orca/M for the //'s, but was huge for the time. It was modeled after larger development systems. I'm not sure how many artifacts there are from the older development system, but the overall design seems somewhat cleaner (although still not quite what I'd like to see...). APW's source segmentation allows for much cleaner design of larger programs - each segment references things ONLY in its segment, or things in other segments that it explicitly includes. So, you can control the scope of variables, much like higher level languages. Also, it seems to me that APW's macro language is more powerful - I'm not a real expert on Merlin's macros (I don't even own Merlin yet - I just get lent the package by my current employer whenever I need to use it), but I have done some work with them. The segmentation makes it much easier to just "yank" a subroutine out of one program and drop it into another, and the worries about "hmm, does this reference something else that I have to put into my other program?" are diminished, as (if you do it right) you'll be able to see what data it accesses. APW's overhead (the shell, etc.) can be something of a pain, especially if you have a small development system (not lotsa RAM, no hard drive, or whatever), but it pays off if you do something large. Conversely, Merlin is useable without a large number of resources. You said that higher level languages didn't come into play - but you might become interested in them at some later date, and APW leaves that door open to you. Hope this helps... ------------------------------------------------------------------------------ Jason Blochowiak (blochowi@garfield.cs.wisc.edu) "Not your average iconoclast..." ------------------------------------------------------------------------------