hutch@fps.com (Jim Hutchison) (01/13/90)
In <18132@umn-cs.CS.UMN.EDU> mike@umn-cs.cs.umn.edu (Mike Haertel) writes: >I don't see how ABI is related to "open systems." It doesn't, it's just an agreement for applications to play the same games on different machines without having to be "ported". >Source level compatibility ought to be enough for anyone. With the >emergence of, e.g., ANSI C, POSIX.1, and (less desirably) the >X window system, it will be substantially easier to write portable >programs, and these standards are likely to have a far longer viable >life than any ABI. Common languages, system interfaces, and window systems are things which make porting easier, to be sure. They do little to help you spread your product over a wide range of machines. Compatibility == chance to sell. >I see source level standards as being far less likely than ABIs >to kill future innovation. RISC architectures, and surely the >SPARC, are far from the last word in computer architecture! ABIs kill innovation? Hmm, let's look at this closely. We have ANSI C, which gives a standard language (maybe outdated in 10 years). Then we have POSIX.1 which is a standard which will grow-or-die with the needs of its community. Along with these we have the ABIs for various architectures, which will grow in number with new architectures, or die out as a bad-fad. I see ABI as being a nice little flag to 'cc' which you can tell it to make and ABI application instead of an application which has your whizbang fpa instructions, or XXX-special instructions. The advantage of this being that you can support multiple machines/vendors with a single executable. You don't get the max performance you get out of a nicely tuned program either, but it runs right off of the shelf. Hey, but that's just me looking at a way this could work out for the best. It could be a really annoying twisted little way of keeping us all down on the farm while Sun takes off and designs new compliers and new hardware. :-) -- /* Jim Hutchison {dcdwest,ucbvax}!ucsd!celerity!hutch */ /* Disclaimer: I am not an official spokesman for FPS computing */