Article View: comp.std.c++
Article #2009Re: STL and user-friendliness
From: Christopher Thames
Date: Fri, 22 Sep 1995 17:43
Date: Fri, 22 Sep 1995 17:43
54 lines
3025 bytes
3025 bytes
In article <439g17$nlv@engnews2.Eng.Sun.COM>, William McIlhaqqa writes... > >The idea that a low level library need not be user friendly doesn't >sustain scrutiny. The fact is, since such a library >will be used again & again & again & .... a very small investment >of time in improving the usability of the library will repay >itself thousands of times over. It is crucial that any library >be well designed from the point of view of the library user. So >instead I see ease-of-use as a design goal for any library. > I concur wholeheartedly. Any class library should be designed with ease-of-use firmly in mind. During heated discussion about reuse, one of my colleagues stated: "Design for *use*!" This sentiment being that if someone doesn't use a class in the first place, they are not very likely to reuse it. A word that seems to come up more and more regarding class library and framework design is "approachability". During his tour-de-force with James Rumbaugh, Grady Booch admitted that his design of the C++ Booch Components was not approachable--an important lesson for himself and other object-oriented designers. My experience with the Booch Components confirms this: they are powerful and elegant with consitency across the library; once you understand how one container works, you can understand them all. Unfortunately it requires considerable mental effort to get your arms around that first container. I encountered resistance getting other developers to adopt the Booch Components due to the steep learning curve. I have not yet witnessed that power and elegance need be sacrificed to render a class design comprehensible; it just requires a more effort and usually several iterations. Also, good documentation doesn't hurt. ------------------------------- Christopher Thames World Fusion Software cthames@worldfusion.com ------------------------------- [Moderator's note: this discussion was originally on whether or not the STL was well designed as an easily usable user-level container class library and on whether that actually was, or should have been, one of the STL's design goals. If you follow up to this post, please make sure that your responses are relevant to the C++ standard. More general discussions about designing OO libraries should go to comp.object instead. mha.] --- [ comp.std.c++ is moderated. Submission address: std-c++@ncar.ucar.edu. Contact address: std-c++-request@ncar.ucar.edu. The moderation policy is summarized in http://dogbert.lbl.gov/~matt/std-c++/policy.html. ]
Technical Details
Message-ID:
<MATT.95Sep22104311@physics11.Berkeley.EDU>Path:
arc1-ca.pugleaf.net!128.32.155.1!mattReferences:
<439g17$nlv@engnews2.Eng.Sun.COM>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!128.32.155.1!matt From: cthames@worldfusion.com (Christopher Thames) Newsgroups: comp.std.c++ Subject: Re: STL and user-friendliness Date: 22 Sep 1995 17:43:10 GMT Organization: World Fusion Software Approved: matt@physics11.Berkeley.EDU (Matt Austern) Message-ID: <MATT.95Sep22104311@physics11.Berkeley.EDU> References: <439g17$nlv@engnews2.Eng.Sun.COM> NNTP-Posting-Host: physics11.berkeley.edu