Boost logo

Boost :

From: David B. Held (dheld_at_[hidden])
Date: 2004-10-16 04:26:12


Arkadiy Vertleyb wrote:

> [...]
> 1) The amount of feedback we have been receiving is unproportionaly lower
> than the amount of effort invested. This project started as kind of
> research rather than to fulfill the need of some concrete application. We
> hoped that, as we go, the applications would somehow emerge. After all the
> domain is pretty popular. Unfortunately this didn't seem to work.

The applications are there. But this is a domain in which most of the
applications simply use the existing APIs, even if those are not C++-
style APIs. Like sockets, threads, and everything else, we use a C
API because that's what is available, but if a good C++ API were
available, we would probably use that. So don't take the lack of
strong demand to be an indicator that there is no demand. I absolutely
guarantee that some relational db library in C++ is important, useful,
and would find a large number of uses once it is created, validated,
and made user-friendly.

> 2) The project turned out to be too ambitious for the two of us. We did
> implement all the functionality we wanted, but we could use a lot more
> testing, some parts might need to be re-written, re-designed, etc.
>
> IOW, if there is an interest in this library, we need help. Let me know if
> anybody is interested, and to which extent -- I could open a project at
> sourceforge, and we could proceed from there...
> [...]

Unfortunately, I can cheer more than contribute. Obviously, there is a
lot of interest in this type of library considering all the different
projects that have been started. I personally find MySQL++ to be an
abomination as far as support goes, and it is definitely an unfinished
product, though it does some things really nicely. But that project
also failed due to lack of resources. It seems to me that most Boost
authors are not heavily involved in db-centric apps, which might explain
the multitude of non-db-related libraries in Boost. But I think if
all the different db-library authors were made aware of each other
and conspired to work together, they could easily produce a
Boost-quality db library, which I would like to see (and I'm sure many
others would like to see as well). To reiterate what someone else
said, one thing this library should almost certainly do is allow
traversal of recordsets iterator-style, since that is The C++ Way (and
It Is Good). Also, I think there is room for both statically-defined
and dynamically-defined recordset types (think mapping to a predefined
table or mapping to a query result set, possibly user-defined). I
think a library that only offers one type is missing something
important. If I only need to access raw tables for a db whose schema
doesn't change, then I want statically defined recordsets to do so,
without paying for any additional runtime burden. But I also want the
ability to pass a raw SQL string to the library and possibly have it
return a dynamically defined recordset with the appropriate fields
included. That would be COOL.

I, for one, use BDE, because BCB makes db access too easy for many
apps. However, I would much rather use a C++ library if one were
available. But it would need to be as easy to use as BDE/DAO/ADO to
get me to switch, and I'm sure that is part of the reason for the slow
adoption of libraries like RTL. You have a minimum usability barrier
to cross before the user base will migrate to the library.

Don't give up. DB apps are a huge portion of the market (possibly the
biggest, I imagine), so I don't see how anyone who has done db work
could think there isn't demand for good db libraries. The main problem,
I think, is getting people to improve one good wheel instead of
inventing many mediocre ones.

Dave


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk