Fog Creek Software
Discussion Board

COM book rating

Those of you who've read the two, or at least one of the two and know about the other - which one would you rate better:

(1) Inside COM (Dale Rogerson)
(2) Essential COM (Don Box)


Tuesday, July 27, 2004

I liked "Inside COM". Instead of walking you through the APIs, it explains why COM is the way it is.

Tuesday, July 27, 2004

Thanks for the input, Dino.

Before office, this morning, I went book shopping. Bought a few ones. For COM, I was keen on Essential COM but because it was out of stock I couldn't get it. Every store I went to had Inside COM and I didn't take it. I said I'd come tomorrow.

I've had a cursory run through over Inside COM today. It starts with the interface, then goes to explain IUnknown and all its members in the next four chapters. One chapter on UUIDS, GUIDs, the Class Factory etc. and finally the second last one on Automation (IDispatch). Because I couldn't compare with Essential COM, I couldn't make a decision and decided to wait.

Tomorrow, I'll pick up Inside COM I think.

Tuesday, July 27, 2004

I liked Essential COM: it showed me how to use APIs etc. to invoke COM components directly from C++ (using an older MSVC that didn't support the "import" keyword).

Christopher Wells
Tuesday, July 27, 2004

>Bought a few ones

>Bought a few [good] ones

Tuesday, July 27, 2004

There was a really good book written by a HP engineer, from Addison Wesley, check that out too.

Li-fan Chen
Tuesday, July 27, 2004

Really you should get both. Inside COM is the better first book, then after you've been making components for awhile (maybe six months) and have formed an internal picture of how it works, read Essential COM which is lower-level. Essential COM will have better explanations for the frustrating things you'll encounter later on, like parameters coming up null, or getting inexplicable exceptions.

Tuesday, July 27, 2004

Mind you, Inside COM is not a complete book on COM. It has the WHYs but not the HOWs. In my case, this book was the right choice - I need to understand what I'm doing before doing it :-)

Tuesday, July 27, 2004

I'm always surprised when I come across other developers learning "old" technologies.  Sometimes I feel like the only one.

Anyway, I asked some friends and "Developer's Workshop to COM and ATL 3.0" by Andrew Troelsen came highly recommended as a first COM book. ( )

I was told that Essential COM and Inside COM are good second books.

I haven't read any of them yet, so I can't vouch for the recommendations.  But I have read Troelsen's C# book and can at least vouch for his writing ability.  He's a good writer - thorough and readable.

Yet another anon
Tuesday, July 27, 2004

To be honest, if you have no experience with COM, I'd buy both.

Inside COM gives you the low level introduction to what is a COM object, the IUnknown interface, what is a class factory, etc. Once you work through this book, you'll have a good understanding of the basics of COM.

THIS is when you go buy a copy of Essential COM. This is the best second book on the subject you can find, and covers lots of information not explained anywhere else. Unfortunately, it's basically incomprehensible unless you have some COM background going in.

Chris Tavares
Tuesday, July 27, 2004

Everyone has got this one right.

First read Inside COM, then (if you don't mind terrible writting) read Essential COM.

I can't stress enough what a poor writter Don Box is. He did know COM though.

Clutch Cargo
Tuesday, July 27, 2004

As everyone says, Inside Com is a good start, Essential COM a bit heavy, and to be honest, not much use from a practical point of view; Effective COM is better for this. Troelsen's book to start writing COM properly using ATL. Using ATL makes writing COM components much easier in C++. And for ATL, ATL Internals by Rector and Sells is the definitive guide.

Also consider Grime's book, Professional ATL COM Programming, if you can still find it (it was published by Wrox, who no longer exist), although it's a bit dry in the writing style.

If you don't mind using VB, Pattison''s book "Programming Distributed Applications with COM+ and Microsoft Visual Basic 6.0" is as good as it gets.

For COM+, Ewald's book "Transactional COM+" is a gem and one of those all too few technical books that is a pleasure to read.

I imagine by now you can pick up most of these books cheaply second hand on Amazon.

And of course, the msdn library still has a lot of information on COM and COM+. Plus look at

which has the original COM spec.

Wednesday, July 28, 2004

I'd agree with the comments on ATL, start with learning the basics of COM but move on quickly as ATL makes it all so much easier. I didn't like the Grimes book very much but ATL Internals is really good, in fact I think there is a 2nd edition on its way.

Tony Edgecombe
Thursday, July 29, 2004

*  Recent Topics

*  Fog Creek Home