From: Péter Szilágyi (peterke_at_[hidden])
Date: 2007-03-02 06:31:19
> Robert (as do I) probably represent big chunk of c++ programmers
> out there who wish for a simple XML parser without most of the
> bells and whistles described in this thread.
I don't agree with this. I consider this one of the greatest weaknesses of
C++... that there are no support for the new technologies and if there is,
it's very limited. At every lager C++ project, where you have to mix
different technologies, make it cross platform, etc, it's extremely annoying
that you cannot proceed with the program itself, because the functionality
provided by the language / standard libs is so limited, that you must first
write the tools with which to write your program. This is why people tend to
move to Java/C#... in C++ if I want to write a conf. file in XML, it takes
me days to find suitable library and insert it into the code, read the
specifications etc. Most of the time is taken up by writing the base
components to the project and not the program logic itself. Exactly because
of the lack of the bells and the whistles. There are many many libs out
there all providing base functionality... but when it comes to something
more complex it turns out that none of them can handle thus in the whole
project implementing the logic itself is less work than implementing base
technologies needed, but unavailable.
For example, large projects many times need: networking (with encryption),
XML parsers (documents, validation, transformation), powerful GUI, database
connectivity (multiple type of databases is the ideal), image manipulations
etc. and make this cross platform. In Java and C# everything is included...
in C++ not exactly... you have to look through hundreds of libs to find the
one that is most suitable, probably trying multiple before settling at one,
because of the lack of the bells on one and the whistles on the other. C++
desperately needs new technology support to survive... but it also needs to
support it fully. Today's projects are all about mixing all kinds of new
things together to produce more powerful programs... but there isn't
anything to mix... thus companies prefer newer languages, where they can
produce value (even at the cost of speed) and not just code that's already
implemented in other languages.
Ok, this got a bit long and especially off topic :)... I just wanted to
point out, that in reality, the bells are the most important in a lib, those
make a technology powerful, and not just limited to a few uses.
Of course this is only my opinion :)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk