Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!zephyr.ens.tek.com!orca!demiurge!brucec From: brucec@demiurge.WV.TEK.COM (Bruce Cohen;685-2439;61-028) Newsgroups: comp.sw.components Subject: Re: Reasons for low reuse Message-ID: <4485@orca.WV.TEK.COM> Date: 8 Sep 89 19:23:47 GMT References: <11347@boulder.Colorado.EDU> <6392@hubcap.clemson.edu> <11449@boulder.Colorado.EDU> Sender: nobody@orca.WV.TEK.COM Reply-To: brucec@demiurge.WV.TEK.COM (Bruce Cohen) Organization: Tektronix, Inc., Wilsonville, OR Lines: 42 In article <11449@boulder.Colorado.EDU> scotth@boulder.Colorado.EDU (Scott Henninger) writes: >Let me make a clarifying remark. I have always stated that the hardware >analogy is *misleading* and is doing a great deal of harm to current thinking >about software reuse. There are surface similarities, but the problem is >much greater for software. A hardware engineer can flip through a few >hundred pages of hardware component descriptions and find what he needs. >Because software is so much more diverse than hardware, the number of >potential components increases by orders of magnitude. This makes the >problem *fundamentally* different - tools are needed to assist the >programmer. > There is another reason why the hardware problem is simpler than the software: the hardware domain has been deliberately restricted to make standard components easy to specify. It's taken many years, but we have arrived at the point where any new family of components MUST adhere to a set of standard interfaces (five volt power supply, high-true logic, standard logic level voltage minima and maxima, etc., etc. Standardizing packages has enforced constraints on the partitioning of hardware systems (if you have only 40 pins, you can't transfer 200 signals directly). And the maximum manufacturable number of logic gates on a chip at a given time places a limit on what a designer will attempt on one chip; software size limitations are much more elastic. Beyond these standardizations is another one: most hardware designs these days are for digital transformers: widgets which take in a set of digital signals and put out another set in response. Market conditions typically dictate things like timing requirements, word size, etc. Similar constraints on software are again less demanding: ASCII for character representation does not really restrict the input much since there are so many possible meaningful combinations of characters in any useful input language. >-- Scott > scotth@boulder.colorado.edu "Men in padded bras don't look the same falling from high places." - R.A. McAvoy - "The Third Eagle" Bruce Cohen brucec@orca.wv.tek.com Interactive Technologies Division, Tektronix, Inc. M/S 61-028, P.O. Box 1000, Wilsonville, OR 97070