Article View: comp.sw.components
Article #321Re: What should a component library loo
From: johnson
Date: Sun, 26 Nov 1989 00:57
Date: Sun, 26 Nov 1989 00:57
38 lines
2598 bytes
2598 bytes
Since several people have misunderstood my position, I guess I didn't describe it very well. I am strongly in favor of separating specification from implementation as much as possible. My complaint was against the claim that one of the main reasons for separating them was so that each specification could have a set of implementations, each of which had different performance characteristics. My observation is that, except for general purpose data structures, there doesn't seem to be much need for a component to have a variety of implementations that vary in performance characteristics. In my opinion, the idea that specification whould be separated from implementation is a "motherhood" issue that needs no defense. I am arguing against a particular use of this idea, not the idea itself. Part of the problem comes from different meanings of "specification". I most certainly do NOT use the Ada notion of an interface specification. That is just type conformance. Since I push polymorphic languages, i.e. object-oriented languages, I naturally think that it is essential to have many components with the same type. However, I think of "specification" as defining the behavior of a component, not just barely enough to type-check programs. As an example, object-oriented user interface systems usually assume that each object can display itself and can respond to actions by the user. Thus, each user interface object has a "display" and a "mouse clicked" operation. If you consider the set of operations that an object will perform to be its specification, then all the user interface objects have the same specification. However, menus respond quite differently from buttons to mouse motion and mouse button presses. Thus, I'd say that they have completely different specifications. I'd consider two objects to have different specs if they looked at all different on the screen. Thus, different kinds of menus would have different specifications, although they would look pretty much the same to the application program, and one could easily be replaced by another. Ralph Johnson
Technical Details
Message-ID:
<130200023@p.cs.uiuc.edu>Path:
arc1-ca.pugleaf.net!utzoo!attcan!uunet!samsung!ctrsol!cica!iuvax!ux1.cso.uiuc.edu!ux1.cso.uiuc.edu!m.cs.uiuc.edu!p.cs.uiuc.edu!johnsonReferences:
<89@<DWIGGINS>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!samsung!ctrsol!cica!iuvax!ux1.cso.uiuc.edu!ux1.cso.uiuc.edu!m.cs.uiuc.edu!p.cs.uiuc.edu!johnson From: johnson@p.cs.uiuc.edu Newsgroups: comp.sw.components Subject: Re: What should a component library loo Message-ID: <130200023@p.cs.uiuc.edu> Date: 26 Nov 89 00:57:00 GMT References: <89@<DWIGGINS> Lines: 38 Nf-ID: #R:<DWIGGINS:89:p.cs.uiuc.edu:130200023:000:2103 Nf-From: p.cs.uiuc.edu!johnson Nov 25 18:57:00 1989