Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!caip!princeton!allegra!ulysses!bellcore!whuxcc!lcuxlm!akgua!sb6!scbhq!uahcs1!madhat!blnt1!jat From: jat@blnt1.UUCP Newsgroups: net.micro.mac,net.micro.amiga Subject: Re: Easy of programming, Mac, Amiga Message-ID: <120@blnt1.UUCP> Date: Thu, 18-Sep-86 16:35:38 EDT Article-I.D.: blnt1.120 Posted: Thu Sep 18 16:35:38 1986 Date-Received: Tue, 23-Sep-86 04:26:10 EDT References: <1273@jade.BERKELEY.EDU> <1274@jade.BERKELEY.EDU> Reply-To: jat@blnt1.UUCP (John A Tamplin) Distribution: net Organization: Blount Brothers Corp., Montgomery AL Lines: 142 Xref: mnetor net.micro.mac:7134 net.micro.amiga:4780 In article <1274@jade.BERKELEY.EDU> oster@lapis.berkeley.edu.UUCP (David Phillip Oster) writes: >I am not a great amiga expert, but the mac has some definate advantages ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ I would have never guessed. >for the programmer in certain areas: > Text handling - when the mac was released, they gave me a one page > pascal program that implemented a mouse based text editor with cut, > copy, and paste. I sincerely doubt you could do as much on the amiga as > concisely. Agreed. > Sound - recently net.micro.amiga had a note from R.J.Micah, one of the > designers of the Amiga's software, giving three pages of C code to do > what a mac programmer does as "SysBeep(1)" Most amiga programmers use > the equivalent of MacInTalk to make their machine say "Beep" because it > is too hard to get a tone out of it. Try and get 4 voice stereo sound out of a Mac, in N pages of code! Then worry about stopping everything to produce the sound -- the Amiga does the waveform table in hardware in the background. > Debugging - for $25 you can get an Apple software supplement that > includes the debugger MacsBug. MacsBug remains in memory application > after application, can dissasemble any code, can give a symbolic trace > of the calling tree, knows the name of each operating system call, and, > with its ES command, lets you exit back to the Mac's shell from a > crashed application. It is not even the best debugger for the Mac. > Nothing even as good as it exists for the Amiga. Most amiga programmers > have to reboot their whole machine if even one task crashes. MacsBug doesn't use windows and has nowhere near the power of Metascope for the Amiga. And it doesn't have to deal with a multitasking machine. > Resources - The Mac has a what-you-see-is-what-you-get editor called > the resource editor that allows you to change menus, fonts, icons, and > every detail of alerts and dialogs (requestors on the Amiga) without > ever recompiling. An amiga programmer must laborously speel out these > things in C code that does not look at all like the finished product. Fonts and Icons have editors available from the operating system. Sure, you can change a Mac program's resources without recompiling, but for the most part only cosmetic changes. Try swapping the first two entries of a menu without recompiling. Besides, there is nothing to keep you from doing the same thing on the Amiga -- just that the O/S doesn't provide tools to do it. > Fast dynamic linking, the Mac's control definition procedures, menu > definition procedures, window definition procedures, and packages allow > programmers to substantially change the behavior of compiled code > without recompiling it. I myself have taken Apple's finder, pasted a > new window definition procedure into it using the resource editor, and > made all the windows apple shaped. Apple replaced the standard file > interface recently, and all the old programs suddenly became able to > cope with a hierarchical directory structure, something no other > machine has done without requiring all the software developers to come > out with new releases of their programs. (Unix recently when through a > change in its directory structure, and everybody had to recompile.) The > standard amiga linker is so slow it is known as "Deep Thought" I haven't worked on a Mac since the new finder was released, so I don't know about this one. The linker is slow, but the Mac was no speed demon, either. > High level printing - Since mac applications comminucate with printers > as if they accepted high level graphics calls, most applications did not > need to be recompiled to accept laser printers, even though the > applications had not been designed with laser printers in mind. Amiga > applications have to have special code for each kind of printer. Wrong! The Amiga has a printer independent control character set. That is why all you have to do is select which printer you have in Preferences and all of the programs use it. (They can talk directly to the device if they want to with no control code translation). Since the Mac treats the printer like it is a big bit-mapped screen, it is difficult to do anything that can't easily be represented on a fixed page size. > safety - the amiga crashes if you draw a line that extends outside the > screen. (According to a friend who regularly crashes his amiga this > way.) The mac graphics system calls, although they aren't very safe, > are safer than this! I haven't had any exprience with that problem. I do know that supplying really wierd parameters to some of the gadget routines will crash the system. > Disk Operating system interface - The mac's operating system takes a Pascal > view of the world. this is not great for a C programmer, but most Mac > compilers have a pascal keyword that handles the details. The system > itself is pretty decent. The Amiga's operating system is written in > BCPL. BCPL is a ancient British language that was directly responsible > for the birth of C. The designers of C started out in BCPL and > concluded that it was not possible to make a BCPL compiler that > generated decent code for a byte addressable machine. Gee, last time I checked the 68000 can only access words on a word boundary. If you are started to compare the technical merits of the two operating systems, look out. The Mac has some very tight code in its operating system that does a lot of nice things, but it does it by putting a lot of the work on the programmer. Anytime the O/S requires me to call a function "as often as possible" so that desk accessories can run, its time to get a real O/S. The Amiga's operating system is multitasking from the ground up, with message passing and event waiting. On the Mac I would have to continually check to see if something was selected. Think of what that wasted CPU time could be used for. In the Amiga, I can set up event handlers which will be invoked only when there is something for them to do. This lets other programs use the time which is wasted on the Mac. > programming environments - LightSpeed C, with its integrated > compiling, linking, multi-window editor, make, grep, and profiling > is so good and so fast, that I've known users of 8MegaByte, 16MegaHertz, > Sun3 68020 systems to prefer to develop on the mac and port their code > to the sun, because the 1MegaByte 8MegaHertz 68000 mac has a faster > edit, compile test cycle. I never used LightSpeed C, but I would be VERY surprised people using a Mac over a Sun3 (unless there are 50 users on the Sun :-). The Mac has got to have the slowest disk drives available on any computer besides the C64. I like my development environment on the Amiga running a custom version of emacs with the Lattice compiler. Granted, the compiler could produce better code and the linker could be faster, but it's pretty good anyway. >Conclusion - both machines have their strengths and weaknesses as >programming machines. I would probably choose an amiga if I were going to >write "Pong". I would certainly choose the mac if I were doing anything >involving fonted text manipulation or object oriented graphics. Although >the hardware of the Amiga should be faster than a Macintosh, the superior >software of the Mac consistantly makes it easier to use, faster, and more >powerful at the kinds of tasks that I like to do. I guess everyone is entitled to their opinion. I will stick to my Amiga, even though I am not writing Pong. Having the ability to run multiple programs far outweighs what little advantage the Mac has in rendering text. Also, I noticed you don't mention the Amiga's custom hardware. Even if you aren't writing games, the hardware can be very useful. The public domain life program on the fish disks uses the blitter for calculating the next generation and gets an incredible 19.8 generations/sec for about 32k cells. Clearing an area of memory (I bet you don't do that, since you aren't writing Pong) is a nice way to speed up your programs using the blitter. John Tamplin Blount Brothers Corporation akgua!blnt1!jat 2511 Fairlane Drive 205/244-6231 Montgomery, AL 36116