Re: Garbage Collection - The Trash Begins To Pile Up
Kevin Hall wrote:
Le Chaud Lapin wrote:
There is also the issue of libraries. STL is deficient. I could name
10-12 classes that are *absolutely fundamental* in systems engineering,
and not only does C++ not have them, I don't know if anyone out there
is even acknowledging that they do not exist. This is another reason
for sloppy, operator new(), non-RAII type coding..the programmer is
actually trying to create data structures that are fundamental, only we
do not know of them yet.
OK, I'll bite. What are these dozen or so classes?
Most of them are related to distributed communication:
1. Integer (needed for asymmetric crypto) MJ Kronenburg is doing this
right.
2. Monarchy<> (what you would call a single-rooted tree)
3. Polyarchy<> (what you wold call a multi-rooted tree)
4. Thread::Object (can't say much, but there *is* a regular model for
multi-threading)
5. Instant, Duration (Boost appropriated good library for doing this)
6. Associative X, where X is any of those in #2 or #3
7. Prioritized X, where X is #6, #2, #3 (not priority queue, Dijkstra's
Algo needs more)
8. Nonce<> (easy to make, very useful to have)
9. String Translator (Spirit of Boost might be related to this)
10. String Parser (Spirity of Boost might be related to this)
11. Various set-based algorithms (AVL, Splay, Binary Regular, Binary
Optimum, Red-Black)
12. Compressors of various sorts (LZ, etc)
13. Ciphers of various sorts (but done cleanly, without too many
assumptions)
14. Synchro primitives (timer, mutex, event, semaphore, etc.)
Notice that there is nothing on this list that has to do with GUI
development. This is a tragedy. Novice programmers often fail to
appreciate the distinction between C++ proper and the library
associated with it. If there is no GUI library, then, as far as they
are concerned, C++ lacks support for GUI development. Those with the
initiative to ask about the state of the art of GUI development on
Windows only to learn that it is MFC will become even more convinced
that C++ is a nasty language for software development.
As Carlos Moreno pointed out, a lot of these misconceptions can be
ameliorated by simply boosting (pun intended) the C++
libraries...BUT...you cannot simply concoct something and expect people
to use it just because it works without crashing. Care must be taken
so that, when these novice programmers use C++, the experience is
enjoyable. Form is key. Microsoft cheated a bit in this regard. They
gave us a baboon's butt (MFC) for C++, but when it was time to make a
GUI for their own language, C#, they cleaned things up considerably,
thus reinforcing the erroneous perception that C++ is inferior to C#.
-Le Chaud Lapin-
--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]