Loading ...
Sorry, an error occurred while loading the content.

[techbooks] REVIEW: "Inside ATL", George Shepherd/Brad King

Expand Messages
  • Rob Slade, doting grandpa of Ryan and Tr
    BKINSATL.RVW 990923 Inside ATL , George Shepherd/Brad King, 1999, 1-57231-858-9, U$49.99/C$74.99/UK#46.99 %A George Shepherd %A Brad King %C 1
    Message 1 of 1 , Dec 9, 1999
      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
      %D 1999
      %G 1-57231-858-9
      %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
    Your message has been successfully submitted and would be delivered to recipients shortly.