From: Reece Dunn (msclrhd_at_[hidden])
Date: 2006-02-15 03:42:58
Rene Rivera wrote:
> > I'm studying jam source code.
> > Why not develop jam in C++ ?
> > He Sepend many time to implement Hash List ,
> > But all of this was in STL.
> > And many data was stored in char * dymanically.
> > If use C++ , the things seems to be simply.
>It's probably best to ask Perforce the original creators of Jam:
I think the answer is in portability and compliance. C++ compilers are also
conforming C compilers and have been for a long time. However, C++ compilers
have different quirks and things they don't get right. Also, jam was written
before GCC 3, VC 7 and TR1. Boost was either not yet created, or was just
getting started. I think at that time, STLport was the only implementation
with a hash container.
Another factor is size/performance. You need to redistribute the C/C++
run-time or embed it into the executable.
Now, the landscape is different. C++ compilers are a lot closer to being
standard conformant; Boost, TR1, VC7 and others support hash containers and
even for the compilers that are not so standard conformant, Boost goes a
long way to improving that conformance (with boost::reverse_iterator and
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk