A lot of my job is thinking about C++ programming and writing up my
thoughts. Sometimes I get midway into a writing project, but, for one
reason or another, I abandon it before it's ready for publication. In the
past, such not-ready-for-prime-time documents simply sat on my hard drive,
swirling round and round in the purgatory of perpetual unfinishedness.
Now, thanks to the wonder of web publishing, even stuff not worthy of
publication can be published! (In my more cynical moods, I call such
Today I made available on the web an annotated draft of an article I
started but now plan to never finish. Here's an overview, taken from the
document I've made available:
In the late summer of 2004, I became interested in identifying the best
return type for factory functions. I ultimately drafted an article on the
topic, which I intended to submit for publication in some magazine. I sent
the draft to a number of people for comments, but then I got caught up in
finishing Effective C++, Third Edition, and by the time I got back to the
article, it was many months later.
As I reviewed the article and the comments I'd received on it, I realized
that (1) a lot of the material had been incorporated into the new version
of Effective C++, where I'd done a better job writing it up, and (2)
revising the article for publication and bringing it up to date would
require more time and energy than I had available. Still, I didn't want to
abandon the article completely, because (1) I'd already put a lot of time
and energy into it, and (2) I felt that some of the material -- notably the
interactions of auto_ptr and tr1::shared_ptr -- continued to be worthwhile.
I thus decided to annotate my November 2004 draft with comments on things
I'd change if I were to revise the article for publication, then make the
annotated draft available on the web. The result is what you see below.
I hope that the technical information in the draft is interesting and
useful, but I also hope that this document sheds some light on the process
of producing something ready for publication.
If you're interested in reading an article that, um, isn't really worthy of
your time, check out
FWIW, I don't plan to make a habit of this. I finish most things I start.