[sane-devel] SANE V2

Henning Meier-Geinitz henning@meier-geinitz.de
Sat, 7 Dec 2002 00:11:33 +0100


Hi,

On Fri, Dec 06, 2002 at 10:43:33AM +0100, Enno Fennema wrote:
> A few years ago James W. McAllister, a Scottish philosopher at the time
> working at Leiden University, wrote a book called "Beauty and Revolution
> in Science". He noted that scientists in choosing between competing
> theories are also guided by aesthetic criteria.
> 
> Beauty and elegance are not infallible guides to the perfect algorithm
> but such considerations have occasionally stopped me from going astray.
> 
> The renaming activities around backends, name concatenation in the front
> end together with a proliferation of generated stub files is neither
> beautiful nor elegant.

That's true. It's a consequence of providing several ways to connect
to backends:

1) Link to a backend statically
2) Link to a shared backend library
3) link statically to a meta backend that preloads all backends
   statically
4) link to a shared meta backend library that preloads all backends
   statically
5) link statically to a meta backend that dynamically loads all backends
6) link to a shared meta backend library that dynamically loads all backends

I'm still not convinced that that works but it obviously does.

> I hope you will take some time to try and understand why Linux and
> nearly all modules so heavily use the approach you deprecate. That
> something works should not be an argument to reject something that may
> work better.

That something not works is not an argument to reject something that
does work better.

The "may" is the important word :-)

But I'm not the right person to talk about interface design. I may
find holes in existing ones, but designing new ones should be done by
others.

Apropos holes:

You would need a backend object that can contain multiple device
objects (because one backend supports multiple devices at the same
time). Those may contain an image object which consists of frames
channels. Not sure, if this is easier.

Bye,
  Henning