Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!usc!wuarchive!julius.cs.uiuc.edu!ux1.cso.uiuc.edu!news.cs.indiana.edu!uceng!minerva!dmocsny From: dmocsny@minerva.che.uc.edu (Daniel Mocsny) Newsgroups: comp.arch Subject: Re: The CPU with 3 brains---486 compatibility with 8008 Message-ID: <6706@uceng.UC.EDU> Date: 13 Nov 90 17:57:53 GMT References: <42737@mips.mips.COM> <1990Nov4.014901.23819@zoo.toronto.edu> <1990Nov6.223738.13265@ux1.cso.uiuc.edu> <9333@b11.ingr.com> <1106@banyan.UUCP> Sender: news@uceng.UC.EDU Organization: University of Cincinnati, Cin'ti., OH Lines: 40 In article <1106@banyan.UUCP> gil@banyan.com writes: >Any simple, elegant system will quickly become a large, sticky mess of >poorly designed, redundant features when it is brought into widespread >industrial use. It's the nature of the beast. If you want simpler, >more elegant systems you'll need a market that makes its purchasing >decisions based on simplicty and elegance and NOT on gross features. If the people who make up that market had "simple and elegant" problems to solve, no doubt they would be pleased with software that was similarly "simple and elegant". The market consists of people who are in business to make a profit. They base their purchasing decisions on what their experience shows to yield the largest profit. If they are making the wrong decision, then someone should be able to go into business in competition with them, and prevail. Simplicity and elegance occur primarily in textbooks. The real world has enormously complex problems to solve, under severe time constraints. The market can't afford to ignore reality just to satisfy the aesthetic sense of a cloistered, lazy programmer ("lazy" is not a pejorative term; nobody wants to work harder than necessary, else we wouldn't demand salaries). To sell into a real market, one must roll up one's sleeves and do a lot of real, detailed, and tedious work. Experience has shown repeatedly that "simple" and "elegant" quickly become synonymous with "incapable". Look at the C language. It was designed initially to be small, but it is uncompetitive for most real problem-solving until you add hundreds of functions in libraries. C can't stay "small" in practice and survive, else it would have. C survives because it provides a set of base concepts to begin with, an effective mechanism for expansion, and the ability for the customer to select the expansion (s)he wants. In practice, the farther this expansion goes, the more potentially valuable the system becomes. The limiting factor is the programmer's ability to manage complexity. -- Dan Mocsny Snail: Internet: dmocsny@minerva.che.uc.edu Dept. of Chemical Engng. M.L. 171 dmocsny@uceng.uc.edu University of Cincinnati 513/751-6824 (home) 513/556-2007 (lab) Cincinnati, Ohio 45221-0171