|
Boost : |
From: Robert Ramey (ramey_at_[hidden])
Date: 2004-10-16 15:57:12
FWIW - I love this idea !!!!
I had forgotten about but when back and refreshed my memory.
1) its got nothing to do with being a wrapper to access a traditional
database. That might be worthy project but this project isn't it.
c) its all compile time. That means the the schemas can't be changed
dynamically. This is inherent in the design.
So its not a universal replacement for anything. However, I believe the
time is now for such a library. Let me explain.
Commmon use case. I am a freelance software developer. It often occurs that
a customer has a situation which maps directly to a set of database schemas.
The easiest way I've found to accomplish ths is (please - don't laugh) is to
make a database in MS Access and write a VB program which peeks and pokes at
it via ADO or something similar. This approach has the following features.
a) Its simple to build and prototype the database.
b) Its simple to fixit up when something changes.
c) It eliminates a whole bunch of programming required to maintain data
d) it eliminates a whole bunch of programming to query data. Just insert
and test the query in Access. When it works, invoke the name of the query
from VB - very easy.
e) It depends on MS implementation of ADO which is very quirky in my
opinion.
f) It uses VB which will drive a real programmer crazy.
g) Its all run time - no compile time optimization.
h) Its all run time - no compile time checking. VB delays checking
everything to the last possible moment - like when I'm home in bed.
i) Its easy to make a nice UI that customer's love
j) one doesn't have to worry about the size of things like history logs etc
as its all handled by the DB.
k) the data is accessible by other tools - basically and SQL query.
So there is a class of applications which
a) don't require that the schema changes after compilation
b) need fast response
c) use datasets of bounded size.
Examples might be:
a) address/contact manager for a palm computer/cell phone
b) web database to support sales of tickets to grateful dead concerts as
soon as they are announced.
c) many small business databases - a years accounting.
So I think this is interesting for what it is. I'm concerned that it might
get bogged down by concerns that it isn't something else. In my view this
sometimes occurs to boost proposals.
I just looked over the documentation and I like what I see. Its no clear
what's missing - of course I didn't try to use it. I think you might get
more response to your request for help if.
a) the directory structure and documentation looked more like a boost
library so that one could just paste it into his boost tree.
b) it was clear what's working and what's not. Maybe this should be
reflected in the directory structure.
c) If it was divided into working / not working.
d) if the working subset was immediately useful. E.g. transactions could be
postponed. It looks like you've focused on adding all the features before
finishing off the basics ( documentation, examples, tests, etc.) This makes
it hard for users to become addicted to your library which is what you need
to get more help. The best way to get help is to get people using (part of)
your library. When they need some feature, you can pressure them to create
it and add a test.
Machines and applications are now being made that can really benefit from
the RTL library.
Robert Ramey
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk