Path: utzoo!attcan!uunet!lll-winken!lll-lcc!ames!pasteur!ucbvax!decwrl!purdue!bu-cs!dartvax!eleazar.dartmouth.edu!earleh From: earleh@eleazar.dartmouth.edu (Earle R. Horton) Newsgroups: comp.sys.mac.programmer Subject: Re: Knowing Machine Code Summary: Wear flame suit, I'm feeling frisky. Message-ID: <8874@dartvax.Dartmouth.EDU> Date: 11 Jun 88 05:20:23 GMT References: <11093@apple.Apple.Com> <17030002@hpsmtc1.HP.COM> <11962@apple.Apple.COM> Sender: news@dartvax.Dartmouth.EDU Reply-To: earleh@eleazar.dartmouth.edu (Earle R. Horton) Followup-To: Apple Computer Co. Software Development. Organization: Dartmouth College, Hanover, NH Path: utzoo!attcan!uunet!lll-winken!lll-lcc!ames!pasteur!ucbvax!decwrl!purdue!bu-cs!dartvax!eleazar.dartmouth.edu!earleh From: earleh@eleazar.dartmouth.edu (Earle R. Horton) Newsgroups: comp.sys.mac.programmer Subject: Re: Knowing Machine Code Summary: Wear flame suit, I'm feeling frisky. Message-ID: <8874@dartvax.Dartmouth.EDU> Date: 11 Jun 88 05:20:23 GMT References: <11093@apple.Apple.Com> <17030002@hpsmtc1.HP.COM> <11962@apple.Apple.COM> Sender: news@dartvax.Dartmouth.EDU Reply-To: earleh@eleazar.dartmouth.edu (Earle R. Horton) Followup-To: Apple Computer Co. Software Development. Lines: 78 In article <11962@apple.Apple.COM> dan@apple.apple.com.UUCP (Dan Allen) writes: ... >(except for the Turbo Pascals of the world) always excruciatingly slow. >They seem to offer little advantage over the problems of speed. ... I don't know where you fellers at Apple get your compiler code from, but it has just got to be the slowest in the industry. To confound the problem, your engineers forgot to include some circuitry when they designed the Macintosh. I mean a real disk controller, DMA, nice stuff like that. Now, I realize they were trying to keep the price down, and I really appreciate that, but you have to admit that the lack of these components slows down the machine some. Despite the hardware limitations, some companies have managed to produce compilers which operate at near-light-speed, when compared with Apple products. (Now who could that be?) I'm not real familiar with Pascal, but a certain C compiler I am acquainted with just rips through my source code in the time it takes yours to parse , seems like. I have heard that your compiler produces "better" code than this one; the only difference I can see is that MPW C likes to stuff variables into registers, while XXX C uses stack frames. Let me clue you in: THIS TRICK DOES NOT ALWAYS PRODUCE FASTER CODE. As far as I am concerned, neither one is real good because the software engineers left out the optimizer part of it, doubtless to reduce cost. (See previous paragraph.) What exactly do you mean by "except for the Turbo Pascals of the world?" You have this cumbersome, dinosaur-like compiler which doesn't even optimize, and you force it to run on this bargain-basement collection of deficient hardware, and you act surprised when someone else can do better. Hmmpphhh! G*d, I would like to see what a Mac with a real disk controller in it could do! >I will retract my statement about the necessity of knowing assembly >language when someone can show me a compiler that generates great code >in a very quick turnaround. Until then I at least need to know and use >assembly. Perhaps quick turnaround and good code are mutually exclusive >and if that is true, then assembly will be here forever. And ever. Amen. Now, don't get me wrong, I think assembly is real nice, and programming in hex can be fun, too. But while you have been extolling the virtues of assembly, others have been busily at work using it to produce GREAT compilers which produce "quick turnaround and good code" as you say. VMS compilers: The best in the industry. Fact, not opinion. Intel's PLM compilers: Fast? Real fast. Good code? Sure. (Pascal fans LOVE PLM because if its INCREDIBLY strict type checking.) hc C compiler for IBM RT PC: Faster and better than anything that ever ran on a Macintosh. Note here: The IBM RT PC cpu chip is in the same league as the 68020, but it has a whole lot more hardware wrapped around it than Apple ever dreamt of putting in one box. Could this have anything to do with compiler speed? You bet. Could compiler design have anything to do with it, too? Maybe... (The same folks who wrote hc have a Pascal compiler for this box, and I hear it's real nice, too. You should try it out.) Knowledge of assembly is an asset to any programmer, I will grant you that. But if a computer or system as advanced as the Macintosh cannot be programmed well without it, then the designers have made some fundamentally wrong assumptions. Not everyone who is a good or even a superb programmer has to know assembly or even the instruction set on the target machine. The fact that assembly is "needed" when programming the Macintosh is more a reflection of the lack of good compilers (and a haphazard interface to system calls) than it is of the virtues of assembly. Hey, I just realized something! What did you guys do with the MiniFinder? Should I really post this? Oh, hey! You only live once... ********************************************************************* *Earle R. Horton, H.B. 8000, Dartmouth College, Hanover, NH 03755 * *********************************************************************