Yet, one of the attendant risks posed by maintaing a FAQ, is to wind
up with a FAQ that answers too many questions (including questions
that may not be that frequently asked, but do happen to touch upon a
pet interest of the FAQ's author). Furthermore, pointing first-time
posters to a FAQ that answers an enormous number of questions - is
practically that same as telling those posters that an encyclopedic
knowledge of the newsgroup topic is a prerequisite for posting at
all.
Of course, it's hard to say whether the current C++ FAQ has avoided
the problem of becoming too large, and that the current FAQ does in
fact answer just the "right " number of C++ related questions.
Nevertheless, there is reason to be a little skeptical. For example,
is the only thing keeping this newsgroup from being overrun by posts
from SmallTalk programmers learning C++ is the section in the current C
++ FAQ devoted to this demographic? Perhaps, but personally, I'm not
so sure.
In any event, I think that heated (and unproductive) debate on this
question can be easily be avoided by the creation of a second, C++ FAQ
- an "abridged" version. This abridged version would contain only
those C++ questions that really are frequently asked, and exclude all
other questions. Posters to this newgroup would first check whether
this abridged FAQ answered their question (and I estimate that in 99%
of the time, it would), before having to consult the current C++ FAQ.
So, I took it upon myself to create this abridged C++ FAQ. Originally,
I expected to wind up with a FAQ with half the number of questions as
the current one. But as I slaved away for months, toiling tirelessly
in complete obscurity, I found myself whittling the number of
questions down and down further: first to one quarter, then to one
eight, and on to one sixteenth the number of questions of the original
C++ FAQ. And I kept whittling the number down further. And although it
is theoretically possible to reduce the number of questions that I did
wind up with - still futher, I am nonetheless convinced that the two
questions that remain in abridged C++ FAQ, are the two (and the only
questions) that must be in this FAQ
So, I am delighted to present:
The List of C++ Frequently Asked Questions (Abridged Edition)
copyright 2009 Greg Herlihy [add more legalese here to suit
one's taste]
Q. My C++ program does not compile, what is the problem?
A. You are missing a "typename" in the right spot.
Q. Great, adding the "typename" seemed to work. But now I have a a
different error when I try to compile. What is wrong this time?
A. You are missing a "::template" in the right spot.
I think that about covers it. :-)
Greg
Maybe there should be a FAQ for "reading" first :-)
A question about circular includes MUST be in any FAQ that calls itself
such.
--
Perfection is achieved, not when there is nothing more to add,
but when there is nothing left to take away.
-- Antoine de Saint-Exupery
I would add only "... and is meant to be taken seriously." :-)
Greg
Part of the problem is that the FAQ is what Douglas Adams calls a
"recipriversexcluson". If the FAQ is working properly, then any
question which is in the FAQ will never be asked, and so should be
taken out of the FAQ on its next update.
I guess that would be:
Q: What do I do when header A needs header B, and B needs A?
A: See the FAQ (Abridged Edition).
Dave Connet
So the FAQ is equivalent to the set of all sets that do not contain
themselves?
Wouldn't it more closely match something like this:
14. What do I do when header A needs header B, and B needs A?
A: See question 37.
...
37. What do I do when header A needs header B, and B needs A?
A: See question 14.
:-) Maybe switch the A's and B's in #37, though.
Jason