Re: disadvantages of using STL
* Gert-Jan de Vos:
On Mar 18, 6:56 pm, "osmium" <r124c4u...@comcast.net> wrote:
"Pallav singh" wrote:
Q What are the disadvantages of using STL ?
It encourages others to use the STL, furthering it's lifetime and even more
widespread use. The STL is WAY over thought and as a result unduly
complicated. When you need an 800 page book (Jossutis) to describe how to
use a library offering these services, you have clearly lost touch with
reality. It looks to me like the work of a group, a BIG group, of academics
has been grafted onto the work of a lone practicing programmer who defined
C. The end result is a nasty slurry.
Nonsense. Jossutis describes the STL and the other parts of the
standard library.
Generic Programming and the STL by Matt Austern is a very good book on
the STL. It
describes the STL in some 70 pages. Then the original paper that
described the
full STL was much smaller still. STL uses only 4 concepts and only 3
that you need
to understand to use it effectively. The STL was the work of one man,
an academic?
Yes, a mathematician! I guess that's why it can do so much with so few
basic concepts.
Well, there are three quality levels of headers in the standard library:
Medimum to very good: original STL headers (Stepanov's work (note:
Stepanov isn't acknowledged in the standard)).
So-so: language support (e.g. <memory>).
Really bad, avoid: all the i/o stuff, plus <string> (note: some of
responsible here are acknowledged in standard).
The really bad headers are the result of groups of academics and others trying
in committee fashion, and/or with academic view, to improve existing work.
Bjarne's original iostreams were practical, and I think they were excellent
design & idea for the time (early 1980's); the later "improvements", plus
transferring original idea to contexts it didn't apply to, it's all beeen
downhill very fast, quality-wise, so that now it stinks (hold your nose!).
Cheers,
- Alf (evaluator mode)
PS: The "avoid" above is an ideal that can't be achieved: we just have to use
std::string / std::wstring as string data carriers, there's no other option.
--
Due to hosting requirements I need visits to <url: http://alfps.izfree.com/>.
No ads, and there is some C++ stuff! :-) Just going there is good. Linking
to it is even better! Thanks in advance!