🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.std.c++
Article #2009

Re: STL and user-friendliness

#2009
From: Christopher Thames
Date: Fri, 22 Sep 1995 17:43
54 lines
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!matt
References: <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