Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: $Revision: 1.6.2.16 $; site ima.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!bellcore!decvax!cca!ima!johnl From: johnl@ima.UUCP Newsgroups: net.arch Subject: Re: Re: FLAME!!! Re: EA orthogonality Message-ID: <36900004@ima.UUCP> Date: Tue, 28-May-85 22:16:00 EDT Article-I.D.: ima.36900004 Posted: Tue May 28 22:16:00 1985 Date-Received: Fri, 31-May-85 03:19:14 EDT References: <6417@boring.UUCP> Lines: 41 Nf-ID: #R:boring:-641700:ima:36900004:000:2317 Nf-From: ima!johnl May 28 22:16:00 1985 /* Written 9:10 pm May 27, 1985 by g-frank@gumby in ima:net.micro.68k */ > Clever compilers for almost any language but C can paper over most sorts > of yawning chasms. Modula-2, Pascal, Ada, all are > languages that port quite well to the 8086 family, and produce efficient, > readable code without any sort of trickery required of the programmer. > I have a stupid 68000 system in my basement > that I can't use and can't sell because there's no software for it, and one of > those [Intel CPU] vending machines sitting on my desk. I wish I could get great performance out of my vending machine CPU merely by switching languages. Unfortunately, the last time I looked, Modula, Pascal, and Ada compilers didn't produce notably better code than did C compilers. Would it were true. In every case, if your total data is bigger than 64K, something gives. You always find limits, like the total automatic data for a procedure (or, often, the whole program) being less than 64K. I'm not talking about a single huge array -- it's just as bad if you have lots of small things all of which add up to more than 64K. The need to distinguish between long and short pointers in order to produce decent code always pops up in 8086 compilers somehow, either by not allowing long pointers, by generating poor large model code anywhere, or by putting some wart in the language that lets the programmer tell the compiler what's long and what's short. There were legitimate reasons for IBM to pick the 8088 for the PC. I gather that the main competitor at the time was the Z80, so we should be thankful for something, since 68008s weren't suffuciently available, and for price reasons they wanted to stick with an 8-bit bus. And I also recall that the original PC came with only 16K, and loading up the machine past 128K was a big deal. But none of that means that the 8088 or the 286 is at all easy to program for the sorts of things that people are doing on PCs now. It also doesn't mean that a chip that was designed to be spiritually compatible with the 8080 is much of a choice for a general computing engine. John Levine, ima!johnl PS: I hear that for applications with limited amounts of data and lots of real-time I/O requirements, such as controlling vending machines, the 8088 is just great.