[techbooks] REVIEW: "Inside ATL", George Shepherd/Brad King
- BKINSATL.RVW 990923
"Inside ATL", George Shepherd/Brad King, 1999, 1-57231-858-9,
%A George Shepherd
%A Brad King
%C 1 Microsoft Way, Redmond, WA 98052-6399
%I Microsoft Press
%O U$49.99/C$74.99/UK#46.99 800-MSPRESS www.microsoft.com/mspress
%P 444 p. + CD-ROM
%T "Inside ATL"
Fred Brooks said that there was, and would be, no "silver bullet" for
the programming task: the job is hard and that is all there is to it.
This book seems to exemplify that idea, since it presents a
programming aid, but demands that the reader be skilled enough not to
need the assistance before full understanding of the tool can be
An introduction to ATL (Active Template Library) states that ATL is to
the production of binary COM (Component Object Model) objects as MFC
(Microsoft Foundation Class) is to the generation of object-oriented
C++ source code. In chapter one, this explanation may mean relatively
little to those who are not completely familiar with all of those
technologies. The authors are, however, to be commended in their
coverage and explanation of the Microsoft COM paradigm. They deal
extensively with the advantages of using binary, rather than source
code, objects, and the ability to use different programming languages
for different parts of a project. (The initial exegesis of abstract
base classes is not quite as clear.) There is not as much discussion
of the disadvantages of the model, and the argument is somewhat
weakened in that the book only uses C++. As the book starts to move
into the details of the use of templates, it does become clear that
the reader had best be well up on C++ programming.
Actual programming and usage starts in chapter four, or, at least, it
seems to. The material does seem to have internal contradictions,
such as the insistence that it is best to avoid the AppWizards, to
begin with, but then presenting an apparent reliance on the AppWizard
in producing the first simple object. After this introduction, the
book touches on client-side ATL, fundamentals of ATL COM objects and
servers, advanced composition techniques, details of the ATL Wizards,
ATL and ActiveX controls, persistence, connection points, ActiveX
controls in different environments, window classes, enumerators and
collections, ATL and applications, and the future directions of ATL.
A good deal of humour is used in the book, and it does make a
contribution to the readability. Unfortunately, the jokes included in
the text do not contribute to understanding of the base material,
since they relate only very peripherally to the concepts under
discussion at any point, and so distract from, rather than enhancing,
the learning process.
ATL works with C++, so it is not unreasonable to expect some knowledge
of the language for those wanting to use the templates. However, if
the objective of the technology is to make programming easier, then
this book makes very rigorous demands of precisely that audience who
stand to benefit the most from ATL. For those who are solidly
experienced in C++ and object programming, though, this book does
provide a thorough explanation of the COM concept, and the use of ATL.
copyright Robert M. Slade, 1999 BKINSATL.RVW 990923
====================== (quote inserted randomly by Pegasus Mailer)
rslade@... rslade@... slade@... p1@...
They say to the seers, `See no more visions!' and to the
prophets, `Give us no more visions of what is right! Tell us
pleasant things, prophecy illusions. Leave this way, get off
this path, and stop confronting us with the Holy One of Israel!'
- Isaiah 30:10,11
http://victoria.tc.ca/techrev or http://sun.soci.niu.edu/~rslade