Monday, October 13, 2003

Where are the Good Books?

I don’t claim to have read all the DirectX books on the market. These days there’s
such a flood of material that reading everything on any topic would be challenging.
But my DirectX bookshelf has a fair number of books on it now…and none of them
are very good. Most of them are barely any good at all. The one I’ve read most
recently - The
Microsoft DirectX 9 Programmable Graphics Pipeline
– was no exception. And
I had such high hopes for it while I was checking it out in the bookstore.

The big problem I have with most books (true particularly for DirectX, but true in
general) is that they go too far in one direction or the other. Either they have almost
no information in them, or they assume that you already know the topic. The worst
are introductory texts that take an academic approach. If I wanted an academic approach,
I’d read the docs or the spec. If I want introductory, then all the formalism
gets in the way. I reviewed a book recently that seemed to have exactly this problem
– it was only a step better than a BNF description of the thing it was talking
about. It just used English instead of { | and }.

Ultimately, I want something that augments the specification/documentation, not replaces
it. A good book has to have the primary goal of setting up a functional model in my
head, so I can figure out on my own why something might work the way it does
when I encounter it in the API. It doesn’t even matter if the model is completely
accurate if the text is introductory – a good analogy that I can ditch later
when I have a more complete understanding of the domain is still extremely helpful
even when it isn’t 100% accurate.

This is how I learn, and therefore this is how I try to teach and how I try to write.
Of course, different people learn different ways, but I just don’t believe that
many are well-served by things that read like my college textbooks.



  2. I have been waiting for this book:

  3. I'm totally looking forward to Rich's book - his posts on DXDev and the newsgroups are great, and I've blogged about his site before. I'm hoping Tom's book will be good as well.

    But my point was a bit more general: everything I've read so far has been mediocre at best, and this is a tendency that goes beyond the DirectX literature.

    Anyway, here's hoping that these two books will be a good read!

  4. Tom Miller's book (posted by Ryan) is good and touches on many aspects of MDX (no surprise since he wrote most of MDX :-). He's writing more books too! I'm writing one too, but it's squarely aimed at the beginner ( I think you will see a few really good MDX books coming out in 2004, but judging from your current writings in your blog, I'm not sure you will benefit significantly from _any_ books now. I think you should just offer to buy Tom Miller dinner the next time you're in Redmond and just pick his brains for a few hours :-)

  5. Yeah David, Jason Whittington gave me your name - I emailed you to see if there was anything I could do for you, but no response! :)

    Anyway, I'm glad to hear that Tom's book is a good one. I've already got it on my wish list, so next time I do an Amazon run, I'll have to grab it. I'd love to be able to post "You must read this book" on the ol' blog. And for yours as well. :)

    Buy Tom a dinner? Absolultely. Even if he doesn't tell me anything, he should be rewarded for doing such a good job with the product. Sure, it's got its warts, but for the first version of something, it's really quite solid.

  6. The worst I've seen is "Introduction to 3D Game Engine Design Using DirectX 9 and C#", I was waiting to get it for quite a while and once I got it and reached chapter 2 only, i couldn't believe you can publish something as bad as this!
    Total disaster, no organization at all, no UML diagram or any other sort of diagram to show you where you've reached and what part of the code you're looking at, and the source code doesn't even work ... Just by showing some random source code and explaining a small portion of it without the basic framework is a total waste...
    Hopefully, Tom Miller's book will do a better job! Still showing as unavailable at Amazon...

  7. Wow - the reviews of Lynn's book are pretty harsh! I feel bad for her. I'll have to check it out at the bookstore sometime to see if I agree.

    I'm not sure whether those reviews make me more or less likely to want to write one of my own. :)