$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Scott Meyers (usenet_at_[hidden])
Date: 2006-09-14 00:17:51
Roman Neuhauser wrote:
>     I'd like to see the rationale. What's the benefit?
This is excerpted from pp. 19-21, where I'm not bothering to include 
ellipses to show where I've elided information.  So this is a set of 
their words (mostly full sentences) knitted together to try to show 
their arguments, but it doesn't show all their text, so for the full 
story, you need to consult the book.
[Begin pseudoquote]
Many developers expect to learn the basics of a new framework very 
quickly.  By experimenting with the framework on an ad hoc basis.  The 
initial encounter with a badly designed API can leave a lasting 
impression of complexity and discourage some from using the framework. 
This is why it is very important for frameworks to provide a very low 
barrier for developers who just want to experiment.
Many developers experiment with an API to discover what it does and then 
adjust their code to get their program to do what they really want.
There are several requirements that APIs must meet to be easy to 
experiment with:
- It has to be easy to start using an API, regardless of whether it does 
what the developer wants it to do.  A framework that requires an 
extensive initialization or instantiating several types and hooking them 
together is not easy to experiment with.
- It has to be easy to find and fix mistakes resulting from incorrect 
usage of an API.  For example, APIs should throw exceptions clearly 
describing what needs to be done to fix the problems.
Scott