I think it is unfair that you didn't include answers to the exercises in the book.
After spending money on a book, I would expect to have the answers
(which to me make the book complete) included. Second, the fact
that I can't
buy the answers on your website is really frustrating. I don't
imagine it would
take very long for you or one of your cohorts to put the answers
together.
I've gotten a couple of comments like this, and I felt it would be worth
some research
to address the issue.
First, you're right about the delay. It took me almost 1.5 years to
get
started on the solution guide (for the 2nd edition; the third
also ended up being a very big job), and that's far too long. It would have been much
better to have had it available when the book came out, but that
would have
delayed the book (background sounds of publishers gnashing teeth).
Since
then, I seem to have a plate full and have also been
procrastinating because it
looked like a big job.
I certainly apologize for the delay. I've only started to get good
at coming
up with exercises in the last couple of years. Inventing good
exercises is hard
enough, but now I'm learning about solutions. I'm sure I'll get
better at this
with experience.
To address the last sentence of the question, it has turned out to
be a
very big job, about 2.5 months of work. It's like
writing another, albeit smaller, book. In print, it looks like
it would end up being over 400 pages. So no, it's not a trivial
project.
The number of pages explains why it isn't part of the book. As it
stands, I
was trying to cut the book down and the publisher was squealing
about the size.
Adding over 400 pages wouldn't have flown -- the book would have
been enormous.
So one option would be to publish a separate solution guide, which
would
almost certainly cost you more than what it will cost via the web,
and I suspect
you wouldn't prefer that. I think the electronic version is the
best approach;
if there's a big enough demand for a separate printed book I'll
consider that,
but right now I don't think it would be justified.
There's often an illusion about how much an author gets for the
book that you buy.
For a US author, if the book is sold in the US, roughly half the
cover price goes to the
bookseller, the other half goes to the publisher. Of the amount
that goes to the publisher,
roughly 10% of that goes to the author -- if the book ever pays
back its advance, which
the great majority of books don't. If the book is published outside
of the US, then the foreign
rights have typically been sold for a flat fee (usually not a very
impressive amount, since
foreign publishing is very risky), and there's no connection with
the amount you pay and any
royalties paid to the author. I point out all of this so that you
can be aware of the incentives
(or lack thereof) involved in creating and maintaining a separate
solution guide. As it turns out, it has
taken a long time for the time and money I've put into the solution
guide to begin to pay for itself.
I agree, everything should be available to everyone for free, like
in that "Star Trek Next Generation" episode
where they go back in time to San Francsico and see Guinan and
Data's head and bring Mark Twain onto the ship and
explain to him how they don't need money anymore and that everyone
just tries to fulfill their potential. Someday that may happen, but
in the meantime I feel pretty good about giving away more than the
majority of computer book authors
and publishers. I hear from people all over the world in countries
where it's too expensive to buy books, about how they
are able to learn from the free electronic books whereas otherwise
they wouldn't be able to.
I work very hard to produce quality work, and to go the
extra mile to provide explanations, and supplements, yes, and
exercises that you don't get other places, and it is wearying to
hear "but you should give me this for free, too!" The fact that
you don't have to buy the book at all seems to me to be a
nice gift, so if you must have it in convenient
print form because "you could never read it on screen," then
remember that what you're primarily paying for is exactly that
convenience, and the paper, printing, and distribution that is
required for it.
Finally, I decided to look and see how many books (1) Even had
exercises and
(2) Included solutions. My Java shelf includes a lot of books, and
I've gotten
rid of the ones that aren't so good, so I think I have pretty good
coverage of
the better Java books. I found only several that even had
exercises. Then I decided to
look back at the C++ books. The most popular two C++ books were
Bjarne
Stroustrup's The C++ Programming Language and Stan Lippman's
C++
Primer. Both had exercises (these are the only ones I found
that did,
besides my own C++ book), but neither had solutions. In fact, both
had separate
solution guide books written by separate authors (supporting my
assertion that
it's a big job), each costing 30$.
So according to my bookshelf, it doesn't appear to be so unusual
that
solutions are a separate item from the book. What does
appear unusual is
to have exercises at all. So if you still feel it's unfair to have
a book
without exercise solutions, then look at the alternative, which
you'll find in
most books: no exercises at all.