Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!nbires!hao!hplabs!ucbvax!jade!lapis!oster From: oster@lapis.berkeley.edu (David Phillip Oster) Newsgroups: net.micro.mac,net.micro.amiga Subject: Easy of programming, Mac, Amiga Message-ID: <1274@jade.BERKELEY.EDU> Date: Sun, 14-Sep-86 15:31:00 EDT Article-I.D.: jade.1274 Posted: Sun Sep 14 15:31:00 1986 Date-Received: Tue, 16-Sep-86 02:09:09 EDT References: <1273@jade.BERKELEY.EDU> Sender: usenet@jade.BERKELEY.EDU Reply-To: oster@lapis.berkeley.edu.UUCP (David Phillip Oster) Organization: University of California, Berkeley Lines: 79 Xref: mnetor net.micro.mac:6996 net.micro.amiga:4664 I am not a great amiga expert, but the mac has some definate advantages 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. 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. 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. 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. 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" 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. 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! 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. 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. 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. --- David Phillip Oster -- "The goal of Computer Science is to Arpa: oster@lapis.berkeley.edu -- build something that will last at Uucp: ucbvax!ucblapis!oster -- least until we've finished building it."