|
Boost Users : |
From: Jeremy Siek (jsiek_at_[hidden])
Date: 2002-01-23 10:54:50
Hi Jack,
Since this is an email about Boost library development, and not about
using current boost libraries, then you might want to direct this email to
boost_at_[hidden] instead. Also, you might want to give a more
concrete description (show code examples), so people can better understand
the problem you are solving with your library. Most boosters speak C++
better than prose :)
Cheers,
Jeremy
On Wed, 23 Jan 2002, jackthompson99 wrote:
JMThom> Hey guys,
JMThom>
JMThom> I sent an e-mail to Dr. Stroustrup a couple nights ago, and he
JMThom> replied, "Have a look at boost.org. They exist specifically to
JMThom> provide better libraries in the context of the C++ standard library
JMThom> and to act as a test bed for new library ideas".
JMThom>
JMThom> So, here I am. I've installed and built my boost libraries, and I'm
JMThom> trying to figure out how to dig in.
JMThom>
JMThom> Anyway, here's what I was telling the Dr.
JMThom>
JMThom> I've been using C for about a decade, and C++ for about 7
JMThom> yrs. I'm a huge fan of your invention, and I honestly feel like your
JMThom> name should eventually be as well known as Tesla and Edison. And the
JMThom> Standard Template Library is an incredibly well engineered system. I
JMThom> have a way to use it that is generic enough that it may be a
JMThom> candidate to be another standard. I know that's a lot to say. I'd
JMThom> like to explain it briefly, but first I should explain why I find it
JMThom> useful.
JMThom>
JMThom> Since I started working with assembler, I've always felt like
JMThom> the language I was using was missing something. I've used an
JMThom> assortment of languages, and it seems like they are all missing the
JMThom> same thing. The main part isn't really missing from C++, it's just
JMThom> not commonly understood. The concept of virtual construction is the
JMThom> core of the issue. Now I know that this problem is solved, but it
JMThom> really could stand for just one more thing to wrap it up into
JMThom> something usable for any ordinary C++ developer….
JMThom>
JMThom> Using a virtual constructor by way of a template, a developer
JMThom> can easily create any kind of object based on any type of identifier,
JMThom> but what good is that when the developer has exhausted all of his
JMThom> efforts on just building a simple system to dynamically create
JMThom> objects. The developer needs a way to organize these objects,
JMThom> without building another data warehouse. And I have never heard of a
JMThom> complicated database that shouldn't be fully hierarchical. So, the
JMThom> system should be one hundred percent re-entrant.
JMThom>
JMThom> Well, I have such a beast. I'm not done with it yet. I'm
JMThom> just now finishing up a project for Textron, where some of this
JMThom> concept was cultivated into my skill set. I am having a rough time
JMThom> explaining the system to my boss, and I'm in a real bind, but that's
JMThom> another story. The main thing that I've learned from this job is
JMThom> that the world needs to come together on one simple international
JMThom> standard for dealing with data and persistent C++ objects.
JMThom>
JMThom> I've used my ClassFactory / DataStore system as a foundation
JMThom> for another library that I call the WinFactory. This system simply
JMThom> uses the ClassFactory / DataStore as a database manager. The objects
JMThom> held in the database are simply graphical user interface components.
JMThom> This worked out really well, `till by boss took it apart. But I have
JMThom> a version of it that I'm re-writing at home that is much better. The
JMThom> database can be held either in a simple text format, resembling
JMThom> hypertext, or a binary file. The system relies heavily on the memory
JMThom> manager, so fast memory allocation is required.
JMThom>
JMThom> I have also populated an MFC user interface with data held in
JMThom> these objects. The system seems to be able to flex with just about
JMThom> anything, and I feel like it could at least contribute to discussions
JMThom> about new standards that are based on your standards. By the way, I
JMThom> need to find a team that I can work with who has good work ethics and
JMThom> integrity. Suggestions would be much appreciated.
JMThom>
JMThom>
JMThom> .....
JMThom>
JMThom>
JMThom> So, I've looked at the library list in Boost, and haven't recognized
JMThom> anything like what I've built. I would love to explain this system.
JMThom> But, again, this one belongs to Textron, and all of the documentation
JMThom> too. I need to find some time to build this system for Boost.org.
JMThom>
JMThom> The main concept behind the system is a warehouse environment. The
JMThom> warehouse hase isles of goods. Each isle is any length, and each
JMThom> isle contains exactly one type of product. And every product
JMThom> contains a single pointer which is initally NULL. This makes it so
JMThom> that when you pull the product off the shelf and open it, you will
JMThom> see whatever the product is ( characters, integers, strings, etc. ),
JMThom> and you will find one more thing. It's called the nest. Now, until
JMThom> you try to use the nest, it's empty (NULL). But when you need it, it
JMThom> is created. What is this nest you ask? It's another warehouse.
JMThom> Just like the one that it is contained within.
JMThom>
JMThom> So, the entier concept is one hundred percent re-entrant. This makes
JMThom> it easy to build hierarchical infrastructures. The objects can be
JMThom> virtually any C++ thing. They persist with the greatest of ease to
JMThom> simple IO objects.
JMThom>
JMThom> User interfaces are easy to build with this system. Content editors
JMThom> view it as a script. C++ programmers view the script as C++ objects.
JMThom>
JMThom> Again, I need to finish re-writing the system, and I need to document
JMThom> it. But I feel like it is a candidate to become another Boost
JMThom> library.
JMThom>
JMThom> What do you think?????
JMThom>
JMThom>
JMThom>
JMThom>
JMThom>
JMThom>
JMThom>
JMThom>
JMThom> Info: <http://www.boost.org>
JMThom> Wiki: <http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl>
JMThom> Unsubscribe: <mailto:boost-users-unsubscribe_at_[hidden]>
JMThom>
JMThom>
JMThom> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
JMThom>
JMThom>
----------------------------------------------------------------------
Jeremy Siek http://php.indiana.edu/~jsiek/
Ph.D. Student, Indiana Univ. B'ton email: jsiek_at_[hidden]
C++ Booster (http://www.boost.org) office phone: (812) 855-3608
----------------------------------------------------------------------
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net