I have a ‘bookshelf’ subscription on O’Reilly’s Safari service which allows me to have up to ten books on my online shelf at any one time, with each book required to stay on my shelf for a minimum of thirty days, a maximum of infinity. This has been a great service for only $15/month. I typically have most or all of the ten slots filled, and I’ve never read any book from start to finish.
One of the uses I make of the service is to check out books to see if I want to purchase it. Although I had originally liked the idea of reading books online, my eyes have registered enough of a complaint that I now just read bits and pieces rather than try to read several chapters in continuous sittings. So I’m currently learning WCF and the first book I went to was Juval Lowy‘s Programming WCF Services book because it was written by Juval, one of the best teachers I’ve heard, or read, for complex Microsoft technology. I went to the beginning of chapter 2 on Service Contracts and started reading about operator overloading. In my haste, I didn’t completely grasp why he was spending so much time on overloading when all I, as the reader, just wanted the basic story about service contracts.
I was still thinking that I would probably buy his book (also the top recommendation on WCF books from Stuart Celarier) so off to Barnes & Noble I went (where I get 10% off in the store — still a slight premium over normal shipping from Amazon but I don’t have to wait a few days). I found another WCF book, Essential Windows Communication Foundation, by Resnick, Crane and Bowen, three Microsofties working in the Boston area (my original home city). After looking through the first chapter, I liked these things about the book:
1. the typeface: there is something about the typeface used (it’s name is not provided in the book) that appeals to my middle-age eyes.
2. although they might not go into as much depth as Lowy, I figured the authors knew enough to give me a good start with WCF.
3. the first chapter was well written.
I bought that book thinking that I’ll read isolated parts of Lowy’s book online when I wanted more in-depth coverage.
Now, a few days and four chapters into Essential WCF, I’m disappointed and am going to exchange it for Lowy’s book. Here is why:
Chapter 2 was choppy and clearly not as well written as chapter 1. There was some repetition of material from the first chapter as well, which in and of itself is not a bad thing but after reading another two chapters I realized that there is not a coherency to the book. When I got to chapter 4 on Bindings I was royally disappointed to see that they wasted a lot of pages showing code and configuration that differed in only the selection of the binding selection in configuration. There was no depth — just a superficial how-to.
I then went to Lowy’s book online at Safari and started reading some of chapter 1. Man, what a difference! He spoke to me in language and style that I really enjoyed and his recommendations were nicely explained. Moreover, some of the marketing-speak that you sometimes hear from Microsoft technologists in the field (sorry guys, but it’s noticeable) was absent in Lowy’s text.
Although I would probably have learned a little faster from purchasing Lowy’s book, I at least do have some basic understanding of service contracts, data contracts, the various bindings and some other WCF details from reading the Essential WCF book. It’s not a complete waste of time. If I were just going to implement basic WCF web services, that book offers all of the detail. But I work in the Shared Services (aka plumbing) engineering team at my company and need to be able to make difficult choices that may ultimately be codified in templated service bindings. So tomorrow I’m exchanging the Essential WCF book for Programming WCF Services.