Books I'm currently reading
Concurrent Programming on Windows by Joe Duffy
I'm excited to be reading this book. I've watched some channel 9 videos of Joe Duffy
and he seems extremely intelligent. My hope is that this book will make me feel
much more comfortable in the cases where I have to do some concurrency. I also hope
that it will help me in understanding how to better write a highly-concurrent network
server. Concurrency seems to be one of those really tough problems, and those are
the ones that get you thinking the most.
Artificial Intelligence: A Modern Approach
This book is used at Dixie State College in their AI course and is used at many
other Universities. It also comes highly recommended by DJ Holt. I'm very excited
to read through many of the chapters to get a deeper and more theoretical understanding
of AI topics than "Programming Game IA by Example" was able to give me.
Pro ASP.NET MVC Framework
I'm currently reading this book for work. ASP.NET MVC is an alternative to web forms.
It allows you to have a better seperation of concerns and focuses on making it easy
to write unit tests for your web applications. In the early chapters the author
gives some high-level overviews of different software architectures which I think
is useful for every developer to be aware of. This book seems to dig very deep into
the MVC framework. The books I've read from the Apress Pro series so far seem to
do a very good job of going deep. Maybe that's not good for introducing people to
things, but it's very helpful if you want to become an expert on the subject.
Books I recommend
Pro Silverlight 2 in C# 2008
This is a great book for learning Silverlight.
It goes deep in many topics of Silverlight and might be a bit overwhelming at first
but it's a very good reference. I read this from cover to cover and loved it. Though
I would recommend getting "Pro Silverlight 3" as it is the newest version of the
book and includes Silverlight 3 features. I will be getting it soon.
CLR via C#
I read many chapters in this book. (Though not all) It goes extremely
deep and gives great insight into how .NET and the CLR work. If you plan on being
a .NET developer long-term this book will give you the low level details necessary
to be able to make good decisions about the software you write and keep performance
in mind. I personally wonder if there will be a new edition once .NET and CLR 4
arrive, if so I will definitely be reading it.
Programming Game AI by Example
This is a very practical book, it gives a good introduction to many game AI concepts
and gives sample code to explain them. I really liked the author's humor and how
he related almost every example to a game. It makes things more fun when the math
that is being explained is put in the context of calculating how much your archer
needs to turn in order to shoot at an ogre.
If you're excited about AI and want an introduction to things this is a great book.
If you've been doing AI and want a deeper look I would recommend "Artificial Intelligence:
A Modern Approach". Which covers many more topics and in a more theoretical way.
(I recently started reading that one)
Books I intend on reading someday soon
Pro Silverlight 3 in C#
This is the next book by Matthew MacDonald. I read his previous one and I want to
read this so I can continue to have a deep understanding of Silverlight technologies.
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET
I believe this book will give me a better overall view of how to design good APIs.
That's something every developer should know because even if they never distribute
their libraries to other companies they themselves have to use their APIs and their
co-workers probably will too. It may also give me extra insight into things available
in the BCL.
Touch of Class: Learning to Program Well with Objects and Contracts
This book focuses on object-oriented design, because it's not good enough to be
able to write classes, we should know how to write objects that encapsulate, abstract,
and compose well. Additionally this book focuses on design by contract. .NET 4.0
will give programmers the ability to write contracts that are evaluated at compile
time. I'd like to have a good understanding of the benefits and how to write good contracts
by the time that is available. The book teaches in a language called Eiffel which
already has support for contracts.